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 b226c0d4..b9756705 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 @@ -314,4 +314,10 @@ public class ProOrderWorkorderController extends BaseController { public List getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) { return proOrderWorkorderService.getIdCardList(proOrderWorkorder); } + + //获取批次号 + @GetMapping("/getBatchCode/{workorderId}") + public List getBatchCode(@PathVariable("workorderId") String workorderId) { + return proOrderWorkorderService.getBatchCode(workorderId); + } } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java index c29121fe..35f2f893 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java @@ -339,6 +339,8 @@ public class ProOrderWorkorder extends TreeEntity { private String palletCode; private String recordId; + private String addFlag; + public String getRecordId() { return recordId; } @@ -787,6 +789,13 @@ public class ProOrderWorkorder extends TreeEntity { this.sortNo = sortNo; } + public void setAddFlag(String addFlag) { + this.addFlag = addFlag; + } + public String getAddFlag() { + return addFlag; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index d1983538..c99b5c2d 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -237,5 +237,12 @@ public interface ProOrderWorkorderMapper { List getPreIdCardList(ProOrderWorkorder proOrderWorkorder); int addBatchPallet(@Param("list")List dtos); + + Integer selectPalletByUniqueBarCode(ProOrderWorkorder pw); + + //void addOnePallet(ProOrderWorkorder pw);//新增一个标识卡 + void updateOnePallet(ProOrderWorkorder pw);//更新一个标识卡 + + List getBatchCode(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 bc8f05c6..0b6c1d9b 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 @@ -151,4 +151,6 @@ public interface IProOrderWorkorderService { List getProdLineList(); List getIdCardList(ProOrderWorkorder proOrderWorkorder); + + List getBatchCode(String workorderId);//获取批次号 } 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 d4ac68ba..0eed90e7 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 @@ -1259,13 +1259,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return proOrderWorkorderBatchMapper.getProdLineList(); } + @Override + @DS("#header.poolName") + public List getBatchCode(String workorderId) { + return proOrderWorkorderMapper.getBatchCode(workorderId); + } + @Override @DS("#header.poolName") public List getIdCardList(ProOrderWorkorder proOrderWorkorder) { List dtos = new ArrayList<>(); List dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); - - if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null){//说明没生成过标识卡 + if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null && proOrderWorkorder.getAddFlag().equals("0")){//说明没生成过标识卡 增打标志0 ProOrderWorkorder pw = null; int i = 1; Date nowDate = DateUtils.getNowDate(); @@ -1288,8 +1293,10 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { pw.setBatchQuantity(pn); } pw.setPalletNo(i++); - pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); + pw.setPalletCode(pow.getWorkorderCode() + "-" + pow.getBatchCode() + "-" + pw.getPalletNo());//workorderCode 实际上是订单号 pw.setCreateTime(nowDate); + pw.setCreateBy(SecurityUtils.getUsername()); + pw.setAddFlag("0");//增打标志 dtos.add(pw); pall = pall.subtract(pn); } @@ -1298,10 +1305,47 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { if(!CollectionUtils.isEmpty(dtos)){ proOrderWorkorderMapper.addBatchPallet(dtos); } - }else{ + }else if(proOrderWorkorder.getAddFlag().equals("1")){ + //增打 增打过来的会有批次号、批次数量、板次 增打标志1 根据唯一二维码去判断是不是生成过标识卡 有增打标志 + Integer palletNo = proOrderWorkorder.getPalletNo();//板次 + proOrderWorkorder.setPalletNo(null);//板次置空 去查询 获取产品等信息 + List dtos1 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); + ProOrderWorkorder pow = dtos1.get(0); + proOrderWorkorder.setPalletNo(palletNo); + String uniqueBarCode = pow.getWorkorderCode() + "-" + proOrderWorkorder.getBatchCode() + "-" + palletNo;//订单号+批次+板次 唯一二维码标识 + ProOrderWorkorder pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName());//产品名 + pw.setWorkorderCode(pow.getWorkorderCode());//工单号 实际是订单号 + pw.setBatchCode(proOrderWorkorder.getBatchCode());//批次号 + pw.setProductDateStr(pow.getProductDateStr());//生产日期 + pw.setRecordId(IdUtils.fastSimpleUUID());//记录 + pw.setBatchQuantity(proOrderWorkorder.getBatchQuantity());//批次数量 + pw.setPalletNo(palletNo);//板次 + pw.setPalletCode(uniqueBarCode);//唯一二维码 + pw.setUpdateTime(DateUtils.getNowDate()); + pw.setUpdateBy(SecurityUtils.getUsername()); + pw.setCreateTime(DateUtils.getNowDate()); + pw.setCreateBy(SecurityUtils.getUsername()); + + pw.setAddFlag("0"); + Integer supplementMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//补打标志 + pw.setAddFlag("1"); + Integer addMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//增打标志 + + List dto = new ArrayList<>(); + if(supplementMsg == 0 && addMsg == 0){//没有正常生成、补打过 没有增打过 + dto.add(pw); + proOrderWorkorderMapper.addBatchPallet(dto); + }else if(supplementMsg == 0 && addMsg >= 1){//没有正常生成过、补打过 增打过 + proOrderWorkorderMapper.updateOnePallet(pw); + }else if(supplementMsg >= 1){//补打过、正常打过 没有增打过 + return dto; + } + dtos.add(pw); + + }else if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() != null && proOrderWorkorder.getAddFlag().equals("0")){ dtos.addAll(dtos0); } - 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 c054fdd7..ef9f462d 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 @@ -819,16 +819,41 @@ ) + + update pro_order_workorder_batch_pallet + + quantity = #{batchQuantity}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + + where pallet_code = #{palletCode} + + + INSERT INTO pro_order_workorder_batch_pallet ( - id,workorder_code,batch_code,quantity,pallet_num, - create_time,pallet_code + id,workorder_code,batch_code,quantity,pallet_num,create_by, + create_time,pallet_code,add_flag )VALUES - ( + ( #{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo}, - #{d.createTime},#{d.palletCode} - ) + #{d.createBy},#{d.createTime},#{d.palletCode},#{d.addFlag} + )