From 642428dd870c2f288bb0f3a5fc94373a69a425cf Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 25 四月 2025 13:08:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java | 158 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 136 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java index dc0b0d6..bdb78ed 100644 --- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java @@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.entity.WaitPakin; +import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.SingleMountUnstackingCompleteParam; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -18,9 +18,13 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + /** * Created by Monkey D. Luffy on 2023.07.25 - * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉� + * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈淇℃伅涓婁紶 */ @Slf4j @Service @@ -28,11 +32,11 @@ public class ReportToDismantleTheStackHandler extends AbstractHandler<String> { @Autowired - private WaitPakinService waitPakinService; + private WrkMastService wrkMastService; @Autowired - private LocMastService locMastService; + private WrkDetlSingleService wrkDetlSingleService; @Autowired - private CommonService commonService; + private WrkDetlService wrkDetlService; @Autowired private StaDescService staDescService; @Autowired @@ -40,25 +44,107 @@ @Autowired private BasDevpService basDevpService; - @Value("${srXghyErp.url}") + @Value("${srHangJia.url}") private String erpUrl; - @Value("${srXghyErp.barcodeUploadPath}") - private String barcodeUploadpath; + @Value("${srHangJia.reportOutPath}") + private String reportOutPath; public ReturnT<String> start(int staNo) { try { + Date now = new Date(); BasDevp basDevp = basDevpService.selectById(staNo); - if (!Cools.isEmpty(basDevp) && !Cools.isEmpty(basDevp.getBarcode()) && basDevp.getWrkNo()==9992){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992锛堜綘鍙互鑷畾涔夛級 - WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode())); - if (Cools.isEmpty(waitPakin)){ - ReturnT<String> result = null; - result = postMesData(barcodeUploadpath,basDevp); - System.out.println(result); - if (result.getCode()==200){ - return SUCCESS; - }else { - log.error("鏉$爜涓婁紶涓帶澶辫触"); + Integer staOther = getStaOther(staNo); + Integer staEnd = getStaEnd(staNo); + if (staOther==0) return FAIL; + BasDevp basDevpOther = basDevpService.selectById(staOther); + if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){ + return FAIL; + } + BasDevp basDevpEnd = basDevpService.selectById(staEnd); + if (!basDevpEnd.getLoading().equals("Y") || !basDevpEnd.getAutoing().equals("Y") || !basDevpEnd.getInEnable().equals("Y")){ + return FAIL; + } + if ((basDevpEnd.getWrkNo()<9900 && basDevpEnd.getWrkNo()!=0 ) || basDevpEnd.getWrkNo()>10000 || basDevpEnd.getReportSign()!=0){ + return FAIL; + } + WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd).eq("wrk_sts",51L)); + if (!Cools.isEmpty(wrkMast1)) return FAIL; + if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992涓帶(妗佹灦)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭紙浣犲彲浠ヨ嚜瀹氫箟锛� + + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("0")){ + return FAIL; + } + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){ + return FAIL; + } + List<WrkDetl> wrkDetlList = new ArrayList<>(); + String signOne = ""; + String signTwo = ""; + for (WrkDetl wrkDetl:wrkDetls){ + if (wrkDetl.getOrigin().equals("1") && signOne.equals("")){ + wrkDetlList.add(wrkDetl); + signOne = "1"; + } else if (wrkDetl.getOrigin().equals("2") && signTwo.equals("")){ + wrkDetlList.add(wrkDetl); + signTwo = "2"; } + if (!signOne.equals("") && !signTwo.equals("")){ + break; + } + } + SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetlList); + singleMountUnstackingCompleteParam.setStaStart(staNo); + singleMountUnstackingCompleteParam.setStaEnd(staEnd); +// result = null; +// if (true){ +// return FAIL; +// } + log.error("涓婁紶鏈烘鑷傛椂锛岀珯鐐圭姸鎬侊細"+JSON.toJSONString(basDevpEnd)); + log.error("涓婁紶鏈烘鑷傛椂锛屽伐浣滃彿锛�"+JSON.toJSONString(wrkMast)); + ReturnT<String> result = postMesData(reportOutPath,singleMountUnstackingCompleteParam); +// System.out.println(result); +// if (true){ +// for (WrkDetl wrkDetl:wrkDetls){ +// WrkDetlSingle wrkDetlSingle = new WrkDetlSingle(); +// wrkDetlSingle.sync(wrkDetl); +// wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue()); +// wrkDetlSingleService.insert(wrkDetlSingle); +// } +// wrkMast.setSheetNo("1"); +// wrkMastService.updateById(wrkMast); +// basDevp.setReportSign(1); +// basDevpService.updateById(basDevp); +// basDevpEnd.setReportSign(1); +// basDevpService.updateById(basDevp); +// return SUCCESS; +// } + if (result.getCode()==200){ + Date nowOne = new Date(); + Date nowTwo = now; + for (WrkDetl wrkDetl:wrkDetls){ + if (wrkDetl.getOrigin().equals("1")){ + now = nowOne; + } else if (wrkDetl.getOrigin().equals("2")){ + now = nowTwo; + } + WrkDetlSingle wrkDetlSingle = new WrkDetlSingle(); + wrkDetlSingle.sync(wrkDetl); + wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue()); + wrkDetlSingle.setIoTime(now); + wrkDetlSingleService.insert(wrkDetlSingle); + } + wrkMast.setSheetNo("1"); + wrkMastService.updateById(wrkMast); + basDevp.setReportSign(1); + basDevpService.updateById(basDevp); + basDevpEnd.setReportSign(1); + basDevpService.updateById(basDevpEnd); + + return SUCCESS; + }else { + log.error("鎷嗗灈淇℃伅涓婁紶澶辫触"); } } }catch (Exception e){ @@ -80,10 +166,10 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getString("result").equals("Y")) { + if (jsonObject.getInteger("Code")==200) { success = true; } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response); + log.error("鎷嗗灈淇℃伅涓婁紶璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response); throw new CoolException("涓婃姤erp绯荤粺澶辫触"); } } catch (Exception e) { @@ -94,7 +180,7 @@ try { // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( - "涓婃姤erp绯荤粺", + "涓婃姤妗佹灦绯荤粺", erpUrl + erpPath, null, erpUrl, @@ -107,4 +193,32 @@ } return SUCCESS; } + + public Integer getStaOther(Integer staNo){ + switch (staNo){ + case 118: + return 119; + case 119: + return 118; + case 120: + return 121; + case 121: + return 120; + default: + return 0; + } + } + + public Integer getStaEnd(Integer staNo){ + switch (staNo){ + case 118: + case 119: + return 131; + case 120: + case 121: + return 135; + default: + return 0; + } + } } -- Gitblit v1.9.1