From 2e586ec3808b5a6d170aba9ddcbf5ef7b69f9eef Mon Sep 17 00:00:00 2001 From: 18516761980 <56479841@qq.com> Date: 星期六, 13 八月 2022 10:56:22 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs --- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 262 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 153 insertions(+), 109 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 8fa6859..eeaf75d 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -1,32 +1,32 @@ package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.core.common.SnowflakeIdWorker; -import com.zy.asrs.entity.RequestLog; -import com.zy.asrs.entity.WaitPakin; -import com.zy.asrs.entity.WrkDetl; -import com.zy.asrs.entity.WrkMast; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.CombParam; +import com.zy.asrs.entity.param.Review; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.MobileServiceImpl; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; -import com.zy.common.model.BillDto; -import com.zy.common.model.MatnrDto; -import com.zy.common.service.ErpService; -import com.zy.common.service.wms.ReplenishDto; -import com.zy.common.service.wms.Result; -import com.zy.common.service.wms.WmsService; +import com.zy.common.constant.MesConstant; +import com.zy.common.model.MesPakinParam; +import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; +import net.sf.jsqlparser.parser.JJTCCJSqlParserState; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; -import java.util.Optional; /** * Created by vincent on 2020/7/6 @@ -48,112 +48,71 @@ @Autowired private WaitPakinLogService waitPakinLogService; @Autowired - private ErpService erpService; + private OrderService orderService; @Autowired - private SnowflakeIdWorker snowflakeIdWorker; + private ApiLogService apiLogService; @Autowired - private WmsService wmsService; + private LocMastService locMastService; + + private MobileServiceImpl mobileService; + + @Value("${mes.url}") + private String mesUrl; + + @Value("${mes.inPath}") + private String inpath; + + @Value("${mes.outPath}") + private String outPath; + + @Value("${mes.startUpTestPACK}") + private String startUpTestPACK; @Transactional public ReturnT<String> start(WrkMast wrkMast) { try { - - // 鍏ュ簱 - if (wrkMast.getWrkSts() == 5) { - - // 鍏ㄦ澘鍏ュ簱 - if (wrkMast.getIoType() == 1) { - String docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); - // 涓婃姤缁檈rp - List<MatnrDto> matnrDtos = new ArrayList<>(); - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - for (WrkDetl wrkDetl : wrkDetls) { - MatnrDto dto = new MatnrDto(); - dto.setMatnr(wrkDetl.getMatnr()); - dto.setCount(wrkDetl.getAnfme()); - matnrDtos.add(dto); - } - List<BillDto> dtos = new ArrayList<>(); - for (MatnrDto dto : matnrDtos) { - BillDto billDto = new BillDto(); - billDto.setMatnr(dto.getMatnr()); - billDto.setQty(dto.getCount()); - dtos.add(billDto); - } - if (!erpService.uploadBill(dtos, 34, docNum)) { - exceptionHandle("鏃犳硶涓婃姤鑷砮rp[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - // 鍏ュ簱閫氱煡鍗� - if (!Cools.isEmpty(wrkMast.getBarcode())) { - // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。 - if (!waitPakinLogService.save(wrkMast.getBarcode())) { - exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - // 鍒犻櫎鍏ュ簱閫氱煡妗� - if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) { - exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } - // 鎷f枡鍐嶅叆搴� - } else if (wrkMast.getIoType() == 53) { - // 闈為攢鍞鍗曞嚭搴擄紝闇�瑕佽ˉ璐у埌骞充粨 - if (!wrkMast.getPdcType().equals("Y")) { - List<ReplenishDto> replenishDtos = new ArrayList<>(); - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - for (WrkDetl wrkDetl : wrkDetls) { - ReplenishDto param = new ReplenishDto(); - param.setMatnr(wrkDetl.getMatnr()); - param.setCount(wrkDetl.getAnfme()); - param.setWorkNo(wrkMast.getWrkNo()); - replenishDtos.add(param); - } - Result result = wmsService.replenish(replenishDtos); - if (result.getCode() != 200) { - exceptionHandle("琛ヨ揣鍒板钩浠揫workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } - + /*...........................璧e窞鏂板..............浠ヤ笅.............璧e窞鏂板...........................*/ + ReturnT<String> result = null; + if (wrkMast.getWrkSts() == 5 && wrkMast.getIoType() == 1) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo())); + locMast.setFireStatus(0); + locMast.setPackStatus(1); + if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()))){ + throw new CoolException("娑堥槻鐘舵��/浜у搧鐘舵�佹洿鏂板け璐�"); } - - // 鍑哄簱 - } else if (wrkMast.getWrkSts() == 15) { - // 闈為攢鍞鍗曞嚭搴擄紝闇�瑕佽ˉ璐у埌骞充粨 - if (Cools.isEmpty(wrkMast.getPdcType()) || !wrkMast.getPdcType().equals("Y")) { - List<ReplenishDto> replenishDtos = new ArrayList<>(); - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - for (WrkDetl wrkDetl : wrkDetls) { - ReplenishDto param = new ReplenishDto(); - param.setMatnr(wrkDetl.getMatnr()); - param.setCount(wrkDetl.getAnfme()); - param.setWorkNo(wrkMast.getWrkNo()); - replenishDtos.add(param); - } - Result result = wmsService.replenish(replenishDtos); - if (result.getCode() != 200) { - exceptionHandle("琛ヨ揣鍒板钩浠揫workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - // 閿�鍞鍗� - } else { - if (wrkMast.getIoType() == 101) { - Double more = Optional.ofNullable(wrkMast.getRefWrkno()).orElse(0.0D); - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (more > 0 && !Cools.isEmpty(wrkDetls)) { - WrkDetl wrkDetl = wrkDetls.get(0); - ReplenishDto param = new ReplenishDto(); - param.setMatnr(wrkDetl.getMatnr()); - param.setCount(more); - param.setWorkNo(wrkMast.getWrkNo()); - List<ReplenishDto> replenishDtos = new ArrayList<>(); - replenishDtos.add(param); - Result result = wmsService.replenish(replenishDtos); - if (result.getCode() != 200) { - exceptionHandle("琛ヨ揣鍒板钩浠揫workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } - } + WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if(wrkDetl != null){ + CombParam combParam = new CombParam(); + combParam.setPackNo(wrkDetl.getZpallet()); + combParam.setPackName(wrkDetl.getMatnr()); + combParam.setLocno(wrkMast.getLocNo()); + combParam.setPackSts(1); + combParam.setRequestTime(DateUtils.convert(new Date())); + result = postMesData(inpath,1,combParam); + } + } else if (wrkMast.getWrkSts() == 15 && wrkMast.getIoType() == 101){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); + locMast.setFireStatus(0); + locMast.setPackStatus(0); + if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()))){ + throw new CoolException("娑堥槻鐘舵��/浜у搧鐘舵�佹洿鏂板け璐�"); + } + WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if(wrkDetl != null){ + CombParam combParam = new CombParam(); + combParam.setPackNo(wrkDetl.getZpallet()); + combParam.setPackName(wrkDetl.getMatnr()); + combParam.setLocno(wrkMast.getLocNo()); + combParam.setPackSts(1); + combParam.setRequestTime(DateUtils.convert(new Date())); + result = postMesData(outPath,2,combParam); } } + if(null != result && !result.isSuccess()){ + return result; + } + /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� @@ -173,6 +132,7 @@ // exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } } catch (Exception e) { + log.error("fail", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); @@ -180,4 +140,88 @@ return SUCCESS; } + /*...........................璧e窞鏂板..............浠ヤ笅.............璧e窞鏂板...........................*/ + + private ReturnT<String> postMesData(String mesPath,int a,Object combParam){ + if(combParam != null){ + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(mesUrl) + .setPath(mesPath) + .setJson(JSON.toJSONString(combParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + if (a==4 && a==3){ + if (jsonObject.getDate("isComplete").equals(true)){ + success = true; + }else if (jsonObject.getDate("isComplete").equals(false)){ + success = false; + }else { + log.error("杩斿洖鍊煎嚭閿�!!!url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response); + throw new CoolException("杩斿洖鍊煎嚭閿�"); + } + }else { + success = true; + } + } else { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response); + throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + } + } catch (Exception e) { + log.error("fail", e); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "鎴愬搧搴撳叆搴撲笂鎶�", + MesConstant.URL + MesConstant.PAKIN_URL, + null, + "127.0.0.1", + JSON.toJSONString(combParam), + response, + success + ); + } catch (Exception e) { log.error("", e); } + } + } + return SUCCESS; + } + + @Transactional + public ReturnT<String> startUpTestPACK(TestMast testMast){ + try { + CombParam combParam = new CombParam(); + combParam.setPackNo(testMast.getLocNo()); + combParam.setPackName(testMast.getUserId()); + combParam.setLocno(testMast.getBarcode()); + combParam.setRequestTime(DateUtils.convert(new Date())); + return postMesData(outPath,3,combParam); + }catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + } + @Transactional + public ReturnT<String> suspendTestPACK(){ + try { + Review review=new Review(); + review.setPause(true); + review.setRequestTime(DateUtils.convert(new Date())); + return postMesData(outPath,4,review); + }catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + } + /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/ } -- Gitblit v1.9.1