From 94dba00dbc6f351f5835d6f4a98d3126cedd9e80 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 01 十一月 2022 17:05:04 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 104 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 98 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index ed38381..ea1afea 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -13,6 +13,8 @@ import com.zy.asrs.entity.param.MobileAdjustParam; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.service.*; +import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.WorkLogHandler; import com.zy.asrs.utils.MatUtils; import com.zy.common.constant.MesConstant; import com.zy.common.entity.Parameter; @@ -59,6 +61,12 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private ApiLogService apiLogService; + @Autowired + private WorkLogHandler workLogHandler; + @Autowired + private AdjDetlService adjDetlService; + @Autowired + private CheckRecordService checkRecordService; @Override @Transactional @@ -71,6 +79,16 @@ eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); } + + // todo: 涓嶄笅绾块噸鏂板叆搴� + WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); + if (wrkMast != null && wrkMast.getWrkSts() == 18) { + ReturnT<String> start = workLogHandler.start(wrkMast); + if (!start.isSuccess()) { + log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast.getWrkNo()); + } + } + Date now = new Date(); // 鏃犲崟缁勬墭 @@ -79,7 +97,7 @@ // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getMemo()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); assert one != null; @@ -106,6 +124,8 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); + waitPakin.setMemo(detlDto.getMemo()); + waitPakin.setFrozen(param.getFrozen()); // 鏄惁鍐荤粨 if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -147,7 +167,7 @@ WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 - waitPakin.setBatch(detlDto.getBatch()); // 鎵瑰彿 + waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮� waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 @@ -163,6 +183,70 @@ orderService.updateSettle(order.getId(), 2L, userId); } + } + @Override + @Transactional + public void adjustNew(MobileAdjustParam param, Long userId) { + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鏃犳湁鏁堝伐浣滄。"); + }else if (wrkMast.getIoType()!=107){ + throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鎵�灞炲伐浣滄。闈炵洏鐐逛换鍔�"); + }else if (wrkMast.getWrkSts()!=17.0){ + throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鎵�灞炲伐浣滄。宸ヤ綔鐘舵�佷笉鏄嚭搴撳畬鎴�"); + }else { } + + List<WrkDetl> wrkDetls = param.getWrkDetls(); + String recordRecordLog="鎵樼洏鐮�"+param.getBarcode()+"鐩樼偣璁板綍锛�"; + AdjDetl adjDetl=new AdjDetl(); + adjDetl.setAppeTime(new Date()); + adjDetl.setAppeUser(userId); + adjDetl.setModiTime(new Date()); + adjDetl.setModiUser(userId); + adjDetl.setLocNo(wrkMast.getSourceLocNo()); + CheckRecord checkRecord=new CheckRecord(); + checkRecord.setLocNo(wrkMast.getSourceLocNo()); + checkRecord.setBarcode(param.getBarcode()); + checkRecord.setCreateTime(new Date()); + for (WrkDetl wrkDetl:wrkDetls){ + WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() + .eq("wrk_no", wrkMast.getWrkNo()) + .eq("matnr",wrkDetl.getMatnr()) + .eq("batch",wrkDetl.getBatch()) + ); + adjDetl.setMatnr(wrkDetl.getMatnr()); + adjDetl.setBatch(wrkDetl.getBatch()); + adjDetl.setAdjQty(wrkDetl.getAnfme()); + + checkRecord.setMatnr(wrkDetl.getMatnr()); + checkRecord.setMaktx(wrkDetl.getMaktx()); + checkRecord.setSpecs(wrkDetl.getSpecs()); + checkRecord.setBatch(wrkDetl.getBatch()); + checkRecord.setConfirmQty(wrkDetl.getAnfme()); + if (Cools.isEmpty(wrkDetlOld)){ + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetlService.insert(wrkDetl); + recordRecordLog=recordRecordLog+"\n"+"鏂板涓�鏉℃槑缁�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鏁伴噺锛�"+wrkDetl.getAnfme(); + adjDetl.setOriQty(0.0); + adjDetlService.insert(adjDetl); + checkRecord.setAnfme(0.0); + checkRecordService.insert(checkRecord); + }else if (wrkDetlOld.getAnfme()!=wrkDetl.getAnfme()){ + wrkDetlService.updateAnfme(wrkDetl.getAnfme(),wrkMast.getWrkNo(),wrkDetl.getMatnr(),wrkDetl.getBatch()); + recordRecordLog=recordRecordLog+"\n"+"鏇存柊涓�鏉℃槑缁�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鍘熸暟閲忥細"+wrkDetlOld.getAnfme()+"\t鏂版暟閲忥細"+wrkDetl.getAnfme(); + adjDetl.setOriQty(wrkDetlOld.getAnfme()); + adjDetlService.insert(adjDetl); + + checkRecord.setAnfme(wrkDetlOld.getAnfme()); + checkRecordService.insert(checkRecord); + }else if (wrkDetlOld.getAnfme()==wrkDetl.getAnfme()){ + recordRecordLog=recordRecordLog+"\n"+"涓�鏉℃槑缁嗕繚鎸佷笉鍙�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鏁伴噺锛�"+wrkDetlOld.getAnfme(); + continue; + }else { + throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鏈煡寮傚父锛岃鑱旂郴绠$悊鍛�"); + } + } + log.info(recordRecordLog); } @Override @@ -199,7 +283,7 @@ // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰� // 淇敼鏄庣粏 if (!wrkDetlService.updateAnfme(wrkDetl1.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { - throw new CoolException(wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); + throw new CoolException(wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�"); } } iterator.remove(); @@ -212,7 +296,7 @@ for (WrkDetl wrkDetl : wrkDetls) { // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰� if (!wrkDetlService.updateAnfme(-1.0D, wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { - throw new CoolException("鍒犻櫎" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触"); + throw new CoolException("鍒犻櫎" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷换鍔℃槑缁嗗け璐�"); } } @@ -229,7 +313,7 @@ wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触"); + throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷换鍔℃槑缁嗗け璐�"); } } @@ -290,8 +374,11 @@ if (packDown) { MesCombParam mesCombParam = new MesCombParam(); mesCombParam.setZpallet(param.getBarcode()); - mesCombParam.setCombTime(DateUtils.convert(now)); + mesCombParam.setPakinTime(DateUtils.convert(now)); mesCombParam.setLgort("5008"); + mesCombParam.setPlantCode("5000"); + mesCombParam.setFromCode("5012-20"); + mesCombParam.setStationCode("JJQ-PFZPDB-XX"); for (DetlDto detlDto : detlDtos) { mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme())); } @@ -397,4 +484,9 @@ } } + @Override + @Transactional + public void pikingToFull(String barcode) { + wrkMastService.selectByBarcode(barcode); + } } -- Gitblit v1.9.1