Merge remote-tracking branch 'origin/ytflWms' into ytflWms
| | |
| | | ### LOG ### |
| | | stock |
| | | LOG_PATH_IS_UNDEFINED |
| | | license.lic |
| | |
| | | @RequestParam Map<String, Object> param) { |
| | | Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class)); |
| | | for (LocDetl locDetl : stockStatis.getRecords()) { |
| | | Double weight = locDetl.getWeight(); |
| | | String standby1 = locDetl.getStandby1(); |
| | | Mat mat = matService.selectByMatnr(locDetl.getMatnr()); |
| | | if (mat != null) { |
| | | locDetl.sync(mat); |
| | | locDetl.setStandby1(standby1); |
| | | locDetl.setWeight(weight); |
| | | } |
| | | } |
| | | return R.ok().add(stockStatis); |
| | |
| | | return R.ok(sum); |
| | | } |
| | | |
| | | /** |
| | | * 获取库存总数 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/locDetl/count2") |
| | | public R getAllCount2(){ |
| | | Integer sum = locDetlService.sum2(); |
| | | return R.ok(sum); |
| | | } |
| | | |
| | | } |
| | |
| | | matParam.setAnfme(0.0D); |
| | | matParam.setAnfme2(0.0D); |
| | | matParam.setTiaoma(nccQilibcTmprintWms.getBarcode()); |
| | | matParam.setStandby1(nccQilibcTmprintWms.getCkbm()); |
| | | return R.ok().add(matParam); |
| | | } |
| | | |
| | |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.modiUser); |
| | | if (!Cools.isEmpty(user)){ |
| | | return String.valueOf(user.getUsername()); |
| | | if(Cools.isEmpty(user.getNickname())){ |
| | | return String.valueOf(user.getUsername()); |
| | | } |
| | | return String.valueOf(user.getNickname()); |
| | | } |
| | | return null; |
| | | } |
| | |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.modiUser); |
| | | if (!Cools.isEmpty(user)){ |
| | | return String.valueOf(user.getUsername()); |
| | | if(Cools.isEmpty(user.getNickname())){ |
| | | return String.valueOf(user.getUsername()); |
| | | } |
| | | return String.valueOf(user.getNickname()); |
| | | } |
| | | return null; |
| | | } |
| | |
| | | |
| | | Integer sum(); |
| | | |
| | | Integer sum2(); |
| | | |
| | | List<LocDetl> unreason(); |
| | | |
| | | Double selectLocDetlSumQty(String locNo); |
| | |
| | | |
| | | Integer sum(); |
| | | |
| | | Integer sum2(); |
| | | |
| | | List<LocDetl> unreason(); |
| | | |
| | | Double getLocDetlSumQty(String locNo); |
| | |
| | | return this.baseMapper.sum(); |
| | | } |
| | | |
| | | /** |
| | | * 获取库存总数 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer sum2() { |
| | | return this.baseMapper.sum2(); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> unreason() { |
| | | return this.baseMapper.unreason(); |
| | |
| | | Object process2 = null; |
| | | String memo = order.getMemo(); |
| | | String remark = ""; |
| | | boolean success = false; |
| | | log.info("订单开始上报:{}", JSON.toJSONString(order)); |
| | | try { |
| | | switch (order.getDocType$().toString()) { |
| | | case "销售退货": |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("销售发货response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("销售发货response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("转库-入库response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("转库-出库2response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("转库-出库2response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("集团内部调拨response:{}", response); |
| | | step = 10; |
| | | success = true; |
| | | } else { |
| | | remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); |
| | | } |
| | |
| | | e.printStackTrace(); |
| | | throw new CoolException("调用接口报错,请联系管理员"); |
| | | } finally { |
| | | reportApiLog(response, order.getDocType$(), nyncIp, saveRefDelivery); |
| | | reportApiLog(order, process1, process2, response, order.getDocType$(), nyncIp, saveRefDelivery, success); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | private Boolean reportApiLog(Object data, String docType, String url, String path) { |
| | | String response = ""; |
| | | boolean success = false; |
| | | private Boolean reportApiLog(Order order, Object process1, Object process2, Object response, String docType, String url, String path, Boolean success) { |
| | | HashMap<String, Object> request = new HashMap<>(); |
| | | request.put("order", order); |
| | | request.put("process1", process1); |
| | | request.put("process2", process2); |
| | | |
| | | apiLogService.save( |
| | | docType, |
| | | url + path, |
| | | null, |
| | | "127.0.0.1", |
| | | JSON.toJSONString(data), |
| | | response, |
| | | JSON.toJSONString(request), |
| | | JSON.toJSONString(response), |
| | | success |
| | | ); |
| | | return false; |
| | |
| | | log.error("单据[orderNo={}]转执行表失败", order.getOrderNo()); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | e.printStackTrace(); |
| | | log.error("单据[orderNo={}]转执行表失败", order.getOrderNo()); |
| | | } |
| | | } |
| | |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.utils.MatUtils; |
| | | import com.zy.asrs.utils.MathUtils; |
| | | import com.zy.asrs.utils.OrderInAndOutUtil; |
| | | import com.zy.common.model.DetlDto; |
| | |
| | | |
| | | for (OrderDetl detail : orderDetls) { |
| | | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme()); |
| | | dto.setOrderNo(detail.getOrderNo()); |
| | | if (DetlDto.has(list, dto)) { |
| | | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3()); |
| | | assert detlDto != null; |
| | |
| | | OrderDetl orderDetl = OrderDetl.find(orderDetlList, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3()); |
| | | assert orderDetl != null; |
| | | orderDetl.setAnfme(MathUtils.add(orderDetl.getAnfme(), detail.getAnfme())); |
| | | Double weight = MatUtils.calcWeight(orderDetl.getMatnr(), orderDetl.getAnfme()); |
| | | orderDetl.setWeight(weight); |
| | | } else { |
| | | list.add(dto); |
| | | orderDetlList.add(detail); |
| | |
| | | |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("全板入库 ===>> 更新库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | |
| | | |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("并板入库 ===>> 修改库存明细数量失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("并板入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | |
| | | for (WrkDetl wrkDetl : wrkDetls57) { |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("盘点入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg("盘点入库 ===>> 更新库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); |
| | |
| | | User user = userService.selectById(userLogin.getUserId()); |
| | | // String deToken = Cools.deTokn(token, user.getPassword()); |
| | | // long timestamp = Long.parseLong(deToken.substring(0, 13)); |
| | | // 15分钟后过期 |
| | | if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 900000){ |
| | | // 24小时后过期 |
| | | if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 86400000){ |
| | | Http.response(response, BaseRes.DENIED); |
| | | return false; |
| | | } |
| | |
| | | //尝试找1号弯轨堆垛机库位 |
| | | crnNo = 1; |
| | | if (basCrnpService.checkSiteError(crnNo, true)) { |
| | | List<Integer> nearRowList = new ArrayList<Integer>(){{add(3);add(4);add(1);add(6);}}; |
| | | List<Integer> nearRowList = new ArrayList<Integer>(){{add(4);add(6);add(3);add(1);}}; |
| | | for (Integer near : nearRowList) { |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() |
| | | .eq("row1", near) |
| | |
| | | .eq("crn_no", locMast1.getCrnNo()) |
| | | .eq("bay1", locMast1.getBay1()) |
| | | .notIn("loc_sts", "O") |
| | | .orderBy("row1", true) |
| | | .orderBy("row1", false) |
| | | ); |
| | | if (locMastList.isEmpty()) { |
| | | locMast = locMast1; |
| | |
| | | */ |
| | | private BigDecimal nastnum; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private String ckbm; |
| | | |
| | | } |
| | |
| | | @Data |
| | | public class NccSaleDbddWms { |
| | | /** |
| | | * |
| | | * |
| | | */ |
| | | @TableId |
| | | private String cbill_bid; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private String cbillid; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | public void execute1() { |
| | | List<String> ids = storeTypeService.listOwn(); |
| | | List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh(ids); |
| | | List<String> warehouseIds = storeTypeService.listOwn(); |
| | | List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh(warehouseIds); |
| | | for (String id : Ids) { |
| | | List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2).eq("hdr", 0).eq("bdr", 0)); |
| | | List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>() |
| | | .eq("vbillcode", id) |
| | | .ne("wms_flag", 1) |
| | | .eq("fstatusflag", 2) |
| | | .eq("hdr", 0) |
| | | .eq("bdr", 0) |
| | | .in("fhckbm",warehouseIds) |
| | | ); |
| | | if (wmsFlag == null || wmsFlag.isEmpty()) { |
| | | return; |
| | | continue; |
| | | } |
| | | ReturnT<String> returnT = planOrderHandler.start1(wmsFlag); |
| | | if (!returnT.isSuccess()) { |
| | |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.param.OpenOrderPakinParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakoutParam; |
| | | import com.zy.asrs.service.InventoryCheckOrderDetlService; |
| | | import com.zy.asrs.service.InventoryCheckOrderService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.common.model.DetlDto; |
| | |
| | | |
| | | @Autowired |
| | | private OpenService openService; |
| | | @Autowired |
| | | private StoreTypeService storeTypeService; |
| | | |
| | | /** |
| | | * 发货 |
| | |
| | | @Transactional |
| | | public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) { |
| | | try { |
| | | List<String> ids = storeTypeService.listOwn(); |
| | | HashMap<String, List<NccSaleXsfhmxWms>> map = new HashMap<>(); |
| | | List<NccSaleXsfhmxWms> fenzu; |
| | | for (NccSaleXsfhmxWms wms : wmsFlag) { |
| | | if(!ids.contains(wms.getFhckbm())){ |
| | | continue; |
| | | } |
| | | |
| | | if (map.get(wms.getFhckbm()) == null) { |
| | | fenzu = new ArrayList<>(); |
| | | fenzu.add(wms); |
| | |
| | | @Transactional |
| | | public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakoutParam param = new OpenOrderPakoutParam(); |
| | | param.setOrderType("集团内部调拨"); |
| | | DetlDto detlDto; |
| | | List<DetlDto> orderDetails = new ArrayList<>(); |
| | | long i = 1; |
| | | for (NccSaleDbddWms nccCgCgdhdWms : wmsFlag) { |
| | | log.info("nccCgCgdhdWms数据:{}", JSONObject.toJSON(nccCgCgdhdWms)); |
| | | detlDto = new DetlDto(); |
| | | detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); |
| | | detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); |
| | | detlDto.setWeight(nccCgCgdhdWms.getFsl().doubleValue()); |
| | | detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); |
| | | detlDto.setLineNumber(i); |
| | | detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); |
| | | orderDetails.add(detlDto); |
| | | i++; |
| | | nccCgCgdhdWms.setWmsFlag(1); |
| | | param.setOrderNo(nccCgCgdhdWms.getVbillcode()); |
| | | List<String> ids = storeTypeService.listOwn(); |
| | | HashMap<String, List<NccSaleDbddWms>> map = new HashMap<>(); |
| | | List<NccSaleDbddWms> fenzu; |
| | | for (NccSaleDbddWms wms : wmsFlag) { |
| | | if(!ids.contains(wms.getDcckbm())){ |
| | | continue; |
| | | } |
| | | |
| | | if (map.get(wms.getDcckbm()) == null) { |
| | | fenzu = new ArrayList<>(); |
| | | fenzu.add(wms); |
| | | map.put(wms.getDcckbm(), fenzu); |
| | | } else { |
| | | fenzu = map.get(wms.getDcckbm()); |
| | | fenzu.add(wms); |
| | | map.put(wms.getDcckbm(), fenzu); |
| | | } |
| | | } |
| | | param.setOrderDetails(orderDetails); |
| | | openService.pakoutOrderCreate(param); |
| | | nccSaleDbddWmsService.updateBatchById(wmsFlag); |
| | | int size = 1; |
| | | for (String key : map.keySet()) { |
| | | OpenOrderPakoutParam param = new OpenOrderPakoutParam(); |
| | | param.setOrderType("集团内部调拨"); |
| | | DetlDto detlDto; |
| | | List<DetlDto> orderDetails = new ArrayList<>(); |
| | | long i = 1; |
| | | for (NccSaleDbddWms nccSaleDbddWms : map.get(key)) { |
| | | log.info("nccSaleDbddWms数据:{}", JSONObject.toJSON(nccSaleDbddWms)); |
| | | detlDto = new DetlDto(); |
| | | detlDto.setMatnr(nccSaleDbddWms.getWlbm()); |
| | | detlDto.setAnfme(nccSaleDbddWms.getZsl().doubleValue()); |
| | | detlDto.setWeight(nccSaleDbddWms.getFsl().doubleValue()); |
| | | detlDto.setBatch(nccSaleDbddWms.getVbatchcode()); |
| | | detlDto.setLineNumber(i); |
| | | detlDto.setRemark(JSONObject.toJSONString(nccSaleDbddWms)); |
| | | detlDto.setStandby1(nccSaleDbddWms.getDcckbm()); |
| | | orderDetails.add(detlDto); |
| | | i++; |
| | | param.setOrderNo(nccSaleDbddWms.getVbillcode() + "-" + size); |
| | | param.setCstmrName(nccSaleDbddWms.getDrkczzmc()); |
| | | nccSaleDbddWms.setWmsFlag(1); |
| | | } |
| | | param.setOrderDetails(orderDetails); |
| | | openService.pakoutOrderCreate(param); |
| | | nccSaleDbddWmsService.updateBatchById(map.get(key)); |
| | | size++; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | if(user.getRoleId() != null) { |
| | | entity.setRoleId(user.getRoleId()); |
| | | } |
| | | if(user.getNickname()!=null) { |
| | | entity.setNickname(user.getNickname()); |
| | | } |
| | | userService.updateById(entity); |
| | | return R.ok(); |
| | | } |
| | |
| | | |
| | | # 用友NC对接 |
| | | NYNC: |
| | | ip: http://192.168.5.200 |
| | | port: 1105 |
| | | ip: http://192.168.5.160 |
| | | port: 8088 |
| | | pageSize: 1000 |
| | | #1.销售出库单参照发货单新增 |
| | | saveRefDelivery: /nccloud/api/ic/saleout/saveRefDelivery |
| | |
| | | #####不变参数 |
| | | client_id=WMS |
| | | client_secret=b5ee040e00584e518c06 |
| | | pubKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhxRFEtPfreu+ROWtC5IQZVy1Vkkqi0Fk7A4tGvyfLIw2qPNLWrTmCJeJwXLmgiB+EU0RW9U8jFYRAhSKaQY1HTjHMZcXdfH6m7WitT+sIyDVfTO3wVWtvjFBF1o6qi+T7pNsmCjstArnm/OS55kn0zJcRiTTwP1UU1LrkQbytf9ZHOcbKfqjIL8amsinjdxd6ioUM3JT3PpOXCIRDHsQgvAnFx2q7Y902S0PFzc40FwtuwsuKqesvEbIImUcq1wbIDtMegixy+TfJMWcByNLp2iv8/+Zos+hePhfWRPlD2x0vk30xDXMiUVgq0dhxC5C3yeD2QEbLxIlDqK2WebzZQIDAQAB |
| | | client_secret=748378be87a94b7889b0 |
| | | pubKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn4uBKrgJ2TZ4frpUtjuKMKggZu/FFeT2rvu5o0UWKmNCuwlOBQdWItqEV3qFIO+pWI7JMDT400sGrZSZtnGkU5LzmF70HuE1a0WSaOH/2fJyb7JnK/3dVpPx5MOL3vfXCq0eq/iSbXwi9aB0wgp9toh0vgK0S5I+xI9OhnN3k4EuLjCJ55wGPgyYMcCuDW4+FqZBfI5s2NDg7h4Q+zjsqWgAAMM/kw4oKQOzmgBOiiWPmMVOkzt9h4Y7/+uIghFUHf0jHqVvC/AwysAIszdmYY8llUtscIuw+w9pxVAcmwcFI/Ky+xUEKouwPI1SM0D2oe6fcA3+/Co4xuiuhwhNTwIDAQAB |
| | | secret_level=L0 |
| | | #autotest=ture |
| | | |
| | |
| | | ## 服务器地址 |
| | | #baseUrl=http://10.16.7.160:9088 |
| | | #baseUrl=http://10.10.4.166:9080 |
| | | baseUrl=http://192.168.5.200:1105 |
| | | baseUrl=http://192.168.5.160:8088 |
| | | #baseUrl=http://192.168.61.18:21322 |
| | | #baseUrl=https://ncc.yyncc.com |
| | | |
| | |
| | | ROW_NUMBER() over (order by sum(a.anfme) desc) as row |
| | | , a.matnr |
| | | , a.batch |
| | | , a.standby1 |
| | | , sum(a.anfme) as anfme |
| | | , sum(a.weight) as weight |
| | | from asr_loc_detl a |
| | | where 1=1 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr, a.batch |
| | | group by a.matnr, a.batch , a.standby1 |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | </select> |
| | | |
| | |
| | | <select id="sum" resultType="java.lang.Integer"> |
| | | SELECT SUM(anfme) FROM asr_loc_detl |
| | | </select> |
| | | <select id="sum2" resultType="java.lang.Integer"> |
| | | SELECT SUM(weight) FROM asr_loc_detl |
| | | </select> |
| | | <select id="unreason" resultMap="BaseResultMap"> |
| | | SELECT |
| | | * |
| | |
| | | </update> |
| | | |
| | | <select id="selectComplete" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | select top 100 * |
| | | from man_order |
| | | where 1=1 |
| | | and settle = 4 |
| | |
| | | </update> |
| | | |
| | | <select id="selectComplete" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | select top 100 * |
| | | from man_order_pakin |
| | | where 1=1 |
| | | and settle = 4 |
| | |
| | | </select> |
| | | |
| | | <select id="selectComplete8" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | select top 100 * |
| | | from man_order_pakin |
| | | where 1=1 |
| | | and settle = 8 |
| | |
| | | <if test="anfme != null and anfme != ''"> |
| | | and anfme = #{anfme} |
| | | </if> |
| | | <if test="order_no != null and order_no != ''"> |
| | | and order_no like '%' + #{order_no} + '%' |
| | | </if> |
| | | <!-- <if test="maktx!=null and maktx!='' ">--> |
| | | <!-- and (maktx like '%' + #{maktx} + '%'--> |
| | | <!-- or matnr like '%' + #{maktx} + '%'--> |
| | |
| | | <result property="asnnum" column="ASNNUM" /> |
| | | <result property="pkMaterial" column="PK_MATERIAL" /> |
| | | <result property="nastnum" column="NASTNUM" /> |
| | | <result property="ckbm" column="ckbm" /> |
| | | </resultMap> |
| | | |
| | | </mapper> |
| | |
| | | <mapper namespace="com.zy.nc.mapper.NccSaleDbddWmsMapper"> |
| | | |
| | | <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccSaleDbddWms"> |
| | | <id property="cbillid" column="CBILLID" /> |
| | | <id property="cbill_bid" column="CBILL_BID" /> |
| | | <result property="cbillid" column="CBILLID" /> |
| | | <result property="vbillcode" column="VBILLCODE" /> |
| | | <result property="dbilldate" column="DBILLDATE" /> |
| | | <result property="taudittime" column="TAUDITTIME" /> |
| | |
| | | var cols = [ |
| | | {field: 'anfme', align: 'center',title: '库存数量', style: 'font-weight: bold'} |
| | | ]; |
| | | arrRemove(detlCols, "field", "anfme") |
| | | arrRemove(detlCols, "field", "zpallet") |
| | | arrRemove(detlCols, "field", "orderNo") |
| | | arrRemove(detlCols, "field", "supp") |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push({field: 'anfme', align: 'center',title: '数量', style: 'font-weight: bold'} |
| | | // ) |
| | |
| | | } |
| | | }); |
| | | |
| | | /** |
| | | * 显示库存总数量 |
| | | */ |
| | | $.ajax({ |
| | | url: baseUrl+"/locDetl/count2", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | $("#countNum2").text(res.data + '个'); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | |
| | |
| | | {type: 'checkbox'} |
| | | ,{type: 'numbers', title: '#'} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl', width: 160} |
| | | ,{field: 'standby1$', align: 'center',title: '出库仓库', width: 160} |
| | | ,{field: 'matnr', align: 'center',title: '商品编码', width: 160} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', width: 200} |
| | | ,{field: 'batch', align: 'center',title: '批次'} |
| | |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | // ,{field: 'hostName', align: 'center',title: '授权商户', templet: '#hostTpl', width: 140} |
| | | // ,{field: 'nickname', align: 'center',title: '用户名'} |
| | | ,{field: 'nickname', align: 'center',title: '用户名'} |
| | | ,{field: 'username', align: 'center',title: '登录账户'} |
| | | ,{field: 'mobile', align: 'center',title: '手机号'} |
| | | // ,{field: 'deptName', align: 'center',title: '所属部门'} |
| | |
| | | // ,{field: 'crnStrTime$', align: 'center',title: '堆垛机启动时间'} |
| | | // ,{field: 'crnEndTime$', align: 'center',title: '堆垛机停止时间'} |
| | | // ,{field: 'refIotime$', align: 'center',title: '拣料时间'} |
| | | ,{field: 'modiUser$', align: 'center',title: '修改人员', hide:true} |
| | | ,{field: 'modiUser$', align: 'center',title: '操作人员'} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间', hide:true, width: 160} |
| | | // ,{field: 'memo', align: 'center',title: '备注'} |
| | | // |
| | |
| | | // ,{field: 'crnStrTime$', align: 'center',title: '堆垛机启动时间'} |
| | | // ,{field: 'crnEndTime$', align: 'center',title: '堆垛机停止时间'} |
| | | // ,{field: 'plcStrTime$', align: 'center',title: '拣料时间'} |
| | | ,{field: 'modiUser$', align: 'center',title: '修改人员', hide:true} |
| | | ,{field: 'modiUser$', align: 'center',title: '操作人员'} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间', hide:true} |
| | | // ,{field: 'appeUser$', align: 'center',title: '创建者',event: 'appeUser', style: 'cursor:pointer'} |
| | | // ,{field: 'appeTime$', align: 'center',title: '添加时间'} |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <fieldset class="layui-elem-field"> |
| | | <legend>总计辅数量</legend> |
| | | <div class="layui-field-box" id="countNum2"> |
| | | 请稍等 |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">完结</a> |
| | | {{# } }} |
| | | {{# if (d.settle == 4) { }} |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> |
| | | {{# } }} |
| | | </script> |
| | | <!-- 表格操作列 --> |
| | | <script type="text/html" id="tbLook"> |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="批次" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="order_no" placeholder="订单编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="zpallet" placeholder="托盘码" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="货品特征" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="批次" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="order_no" placeholder="订单编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="zpallet" placeholder="托盘码" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="货品特征" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | <input name="email" placeholder="请输入邮箱" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">名称</label> |
| | | <div class="layui-input-block"> |
| | | <input name="nickname" placeholder="请输入名称" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="批次" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="zpallet" placeholder="托盘码" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="货品特征" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |