diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java index b9756705..ea57ee58 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java @@ -315,6 +315,12 @@ public class ProOrderWorkorderController extends BaseController { return proOrderWorkorderService.getIdCardList(proOrderWorkorder); } + /**获取标识卡-重置**/ + @PostMapping("/getIdCardListRefresh") + public List getIdCardListRefresh(@RequestBody ProOrderWorkorder proOrderWorkorder) { + return proOrderWorkorderService.getIdCardListRefresh(proOrderWorkorder); + } + //获取批次号 @GetMapping("/getBatchCode/{workorderId}") public List getBatchCode(@PathVariable("workorderId") String workorderId) { diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java index 0b6c1d9b..ab91ff9a 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java @@ -153,4 +153,6 @@ public interface IProOrderWorkorderService { List getIdCardList(ProOrderWorkorder proOrderWorkorder); List getBatchCode(String workorderId);//获取批次号 + + List getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index 143c7153..5863a6a7 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -1269,20 +1269,21 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { @DS("#header.poolName") public List getIdCardList(ProOrderWorkorder proOrderWorkorder) { List dtos = new ArrayList<>(); - //如果标识卡之前版本已经被用(attr1->1),则不生成新的 - ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); +// //如果标识卡之前版本已经被用(attr1->1),则不生成新的 +// ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); //清除之前的非补打的 List dtos0 = null; - if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) { - //不是增打和补打且还没用于入库 - proOrderWorkorderMapper.cleanCard(proOrderWorkorder); - } +// if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) { +// //不是增打和补打且还没用于入库 +// proOrderWorkorderMapper.cleanCard(proOrderWorkorder); +// } if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0 - if(oldVersion != null){ - dtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder); - for(ProOrderWorkorder pow:dtos){ + List olddtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder); + if(!CollectionUtils.isEmpty(olddtos)){ + for(ProOrderWorkorder pow:olddtos){ pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量 } + dtos.addAll(olddtos); }else{ dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); ProOrderWorkorder pw = null; @@ -1386,6 +1387,70 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return dtos; } + @Override + @DS("#header.poolName") + public List getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder) { + List dtos = new ArrayList<>(); + //如果标识卡之前版本已经被用(attr1->1),则不生成新的 + //ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); + //清除之前的非补打的 + List dtos0 = null; + //if(oldVersion==null) { + //重置 + proOrderWorkorderMapper.cleanCard(proOrderWorkorder); + //} + + dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); + ProOrderWorkorder pw = null; + int i = 1; + Date nowDate = DateUtils.getNowDate(); + for(ProOrderWorkorder pow:dtos0){ + if(pow.getPalletNum()!=null){ + + BigDecimal pall = pow.getBatchQuantity(); + BigDecimal pn = pow.getPalletNum(); + + while(pall.compareTo(BigDecimal.ZERO)>0){ + pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName()); + pw.setWorkorderCode(pow.getWorkorderCode()); + pw.setBatchCode(pow.getBatchCode()); + pw.setProductDateStr(pow.getProductDateStr()); + pw.setRecordId(IdUtils.fastSimpleUUID()); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setBatchQuantity(pall); + }else{ + pw.setBatchQuantity(pn); + } + pw.setUnit(pow.getUnit()); + pw.setUmrez(pw.getBatchQuantity().multiply(pow.getUmrez()));//子单数量 + pw.setPalletNo(i++); + //批次+板号+物料+工单号 + pw.setPalletCode( + pow.getBatchCode() + "-" + + pw.getPalletNo() + "-" + + pow.getProductCode().replace("0000000","") + "-" + + pow.getWorkorderCode().replace("000","") + );//workorderCode 实际上是订单号 + pw.setCreateTime(nowDate); + pw.setCreateBy(SecurityUtils.getUsername()); + pw.setAddFlag("0");//增打标志 + dtos.add(pw); + pall = pall.subtract(pn); + } + } + } + if(!CollectionUtils.isEmpty(dtos)) {//不是增打和补打 + proOrderWorkorderMapper.addBatchPallet(dtos); + proOrderWorkorder.setProdType("1");//补打标识临时借用 + List dtosZ = proOrderWorkorderMapper.getPreIdCardListB(proOrderWorkorder);//增打 + if(!CollectionUtils.isEmpty(dtosZ)){ + dtos.addAll(dtosZ); + } + } + + return dtos; + } /** * 校验工单是否可以修改 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index 36abd8bd..d360464f 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -719,7 +719,7 @@ where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0' and powbp.pallet_num = #{palletNo} and powbp.add_flag = #{prodType} - + and powbp.del_flag = '0' order by CAST(powbp.pallet_num AS INT),powb.batch_code @@ -885,7 +885,7 @@ from pro_order_workorder_batch_pallet powbp left join pro_order_workorder pow on powbp.workorder_code = pow.workorder_code_sap left join base_product bp on bp.product_code = pow.product_code - where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' + where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powbp.del_flag = '0' order by CAST(powbp.pallet_num AS INT) @@ -1027,7 +1027,7 @@ - delete from pro_order_workorder_batch_pallet where workorder_code in( + update pro_order_workorder_batch_pallet set del_flag = '1' where workorder_code in( select workorder_code_sap from pro_order_workorder where workorder_code = #{workorderCode} ) and add_flag = '0' and attr1 = '0'