src/main/java/zy/cloud/wms/manager/controller/WorkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -136,7 +136,7 @@ } @RequestMapping("/order/init") @ManagerAuth(memo = "生成销售订单") @ManagerAuth(memo = "生成订单") public R initOrder(@RequestBody InitOrderParam param) { return workService.initOrder(param, getUserId()); } src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -39,4 +39,6 @@ List<LocDetl> getStockStatisExcel(); Double getStockByDocType34(String matnr); } src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -88,4 +88,10 @@ */ List<LocDetl> getStockStatisExcel(); /** * 获取当前物料的采购单数量 * @return */ Double getStockByDocType34(String matnr); } src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -143,5 +143,10 @@ return this.baseMapper.getStockStatisExcel(); } @Override public Double getStockByDocType34(String matnr) { return this.baseMapper.getStockByDocType34(matnr); } } src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -75,6 +75,18 @@ if (Cools.isEmpty(param.getMats())) { return R.error("入库物料不能为空"); } Integer docId = Optional.ofNullable(param.getDocType()).orElse(34); String docNum = String.valueOf(snowflakeIdWorker.nextId()); switch (docId) { case 34: // 采购单 docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); break; case 45: // 销售退货单 docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); break; default: break; } Date now = new Date(); for (MatnrDto dto : param.getMats()) { Mat mat = matService.selectByMatnr(dto.getMatnr()); @@ -90,8 +102,8 @@ locDetl.setZpallet(""); locDetl.setAnfme(dto.getCount()); VersionUtils.setLocDetl(locDetl, mat); // locDetl.setDocId(param.getDocType().longValue()); // locDetl.setDocNum(docNum); locDetl.setDocId(docId.longValue()); locDetl.setDocNum(docNum); locDetl.setStatus(1); locDetl.setCreateBy(userId); locDetl.setCreateTime(now); @@ -115,18 +127,6 @@ billDto.setMatnr(dto.getMatnr()); billDto.setQty(dto.getCount()); dtos.add(billDto); } Integer docId = Optional.ofNullable(param.getDocType()).orElse(34); String docNum = String.valueOf(snowflakeIdWorker.nextId()); switch (docId) { case 34: // 采购单 docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); break; case 45: // 销售退货单 docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); break; default: break; } if (!erpService.uploadBill(dtos, docId, docNum)) { throw new CoolException("无法上报至erp"); @@ -462,6 +462,15 @@ Date now = new Date(); Item item = itemService.selectByName(param.getItem()); Cstmr cstmr = cstmrService.selectByName(param.getCstmr()); // 采购退货单检验 if (param.getDocType() == 6) { for (MatnrDto dto : param.getList()) { if (locDetlService.getStockByDocType34(dto.getMatnr()) < dto.getCount()) { return R.error(dto.getMatnr() + "采购量不足以生成退货单!"); } } } // 新增订单表头 order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] src/main/resources/mapper/LocDetlMapper.xml
@@ -205,4 +205,9 @@ group by a.matnr </select> <select id="getStockByDocType34" resultType="java.lang.Double"> select ISNULL(count(anfme),0) as anfme from man_loc_detl where matnr = #{matnr} -- and doc_id = 34 </select> </mapper>