From e58e9ba5347a681cd535115c1f83e4788f39a224 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 12 九月 2025 15:09:09 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 921 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 694 insertions(+), 227 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 57df444..c58412d 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -1,22 +1,36 @@ 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.zy.asrs.entity.*; +import com.zy.asrs.entity.param.GwmsGenerateInventoryDto; +import com.zy.asrs.mapper.LocDetlMapper; +import com.zy.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; +import com.zy.asrs.task.core.ReturnT; +import com.zy.common.constant.MesConstant; +import com.zy.common.utils.HttpHandler; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.Date; -import java.util.List; +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/4 */ +@Slf4j @Service @Transactional -public class WorkMastHandler extends AbstractHandler { +public class WorkMastHandler extends AbstractHandler<String> { @Autowired private WrkMastService wrkMastService; @@ -28,241 +42,694 @@ private LocDetlService locDetlService; @Autowired private WaitPakinService waitPakinService; + @Autowired + private OrderDetlService orderDetlService; + @Resource + private OrderDetlMapper orderDetlMapper; - public void start() { - List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); - if (wrkMasts.isEmpty()) { - return; + @Resource + private LocDetlMapper locDetlMapper; + + @Resource + private ApiLogService apiLogService; + + @Resource + private OrderMapper orderMapper; + public ReturnT<String> start(WrkMast wrkMast) { + // 4.鍏ュ簱瀹屾垚 + if (wrkMast.getWrkSts() == 4) { + return doIn(wrkMast); + // 14.鍑哄簱瀹屾垚 + } else if (wrkMast.getWrkSts() == 14) { + return doOut(wrkMast); } - for (WrkMast wrkMast : wrkMasts) { - // 4.鍏ュ簱瀹屾垚 - if (wrkMast.getWrkSts() == 4) { - doIn(wrkMast); - // 14.鍑哄簱瀹屾垚 - } else if (wrkMast.getWrkSts() == 14) { - doOut(wrkMast); - } - } + return SUCCESS; } - private void doIn(WrkMast wrkMast){ + private ReturnT<String> doIn(WrkMast wrkMast){ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - if (null == locMast) { - exceptionHandle(""); // todo - return; - } - switch (wrkMast.getIoType()) { - // 绌烘澘鍏ュ簱 - case 10: - // 淇敼搴撲綅鐘舵��=D - if (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q")) { - locMast.setLocType("D"); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鍏ㄦ澘鍏ュ簱 - case 1: - // 娓呴櫎鎵�灞炲簱浣嶄箣鍓嶇殑搴撳瓨鏄庣粏 - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); - if (!locDetls.isEmpty()) { - locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); - } - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls.isEmpty()) { - exceptionHandle(""); // todo - } - // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� - for (WrkDetl wrkDetl : wrkDetls) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - boolean res = locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr()); - if (!res) { - exceptionHandle(""); // todo - } - } else { - locDetl = new LocDetl( - wrkMast.getLocNo(), // 搴撲綅鍙� - wrkDetl.getMatnr(), // 鐗╂枡鍙� - null, // 浠撳簱鍙� - null, // 杞偍璇锋眰缂栧彿 - null, // 琛岄」鐩� - null, // 鐗╂枡鏍囩ID - wrkDetl.getMaktx(), // 鐗╂枡鎻忚堪 - null, // 宸ュ巶 - wrkDetl.getAnfme(), // 鏁伴噺 - wrkDetl.getAltme(), // 鍗曚綅 - wrkDetl.getZpallet(), // 鎵樼洏鏉$爜 - null, // 鐢ㄦ埛ID - null, // 澶囨敞 - null, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null, // 鍒涘缓鑰� - now // 娣诲姞鏃堕棿 - ); - if (!locDetlService.insert(locDetl)) { - exceptionHandle(""); // todo - } - } - // 鏇存柊鍏ュ簱閫氱煡妗� status ===>> Y - WaitPakin setParam = new WaitPakin(); - setParam.setStatus("Y"); - boolean updateRes = waitPakinService.update(setParam - , new EntityWrapper<WaitPakin>().eq("barcode", wrkDetl.getZpallet()) - .eq("matnr", wrkDetl.getMatnr()) - .eq("anfme", wrkDetl.getAnfme())); - if (!updateRes) { - exceptionHandle(""); // todo - } - } - // 淇敼搴撲綅鐘舵�� S ====>> F - if (locMast.getLocType().equals("S")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鎷f枡鍏ュ簱 - case 53: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls53.isEmpty()) { - exceptionHandle(""); // todo - } - for (WrkDetl wrkDetl:wrkDetls53) { - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滃伐浣滄槑缁嗘暟閲忎负0鏃讹紝鍒犻櫎搴撳瓨鏄庣粏 - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) { - exceptionHandle(""); // todo - } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } - } - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 骞舵澘鍏ュ簱 - case 54: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls54.isEmpty()) { - exceptionHandle(""); // todo - } - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� - for (WrkDetl wrkDetl:wrkDetls54) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) { - exceptionHandle(""); // todo - } - } else { - locDetl = new LocDetl( - wrkMast.getLocNo(), // 搴撲綅鍙� - wrkDetl.getMatnr(), // 鐗╂枡鍙� - null, // 浠撳簱鍙� - null, // 杞偍璇锋眰缂栧彿 - null, // 琛岄」鐩� - null, // 鐗╂枡鏍囩ID - wrkDetl.getMaktx(), // 鐗╂枡鎻忚堪 - null, // 宸ュ巶 - wrkDetl.getAnfme(), // 鏁伴噺 - wrkDetl.getAltme(), // 鍗曚綅 - wrkDetl.getZpallet(), // 鎵樼洏鏉$爜 - null, // 鐢ㄦ埛ID - null, // 澶囨敞 - null, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null, // 鍒涘缓鑰� - now // 娣诲姞鏃堕棿 - ); - if (!locDetlService.insert(locDetl)) { - exceptionHandle(""); // todo - } - } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鐩樼偣鍏ュ簱 - case 57: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls57.isEmpty()) { - exceptionHandle(""); // todo - } - // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 搴撲綅绉昏浆 - case 11: - - break; - default: - break; - } - } - - private void doOut(WrkMast wrkMast){ - - } - - - - - public static void main(String[] args) { - for (int i = 0;i<10;i++) { - - try { - - System.out.println("====" + i); - if (i == 5){ - throw new Exception("dsa"); - } - System.out.println("----" + i); - - } catch (Exception e) { - e.printStackTrace(); + try { + if (null == locMast && wrkMast.getIoType() != 3) { +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); } + assert locMast != null; + switch (wrkMast.getIoType()) { + // 绌烘澘鍏ュ簱 + case 10: + // 淇敼搴撲綅鐘舵��=D + if (locMast.getLocSts().equals("S") || locMast.getLocSts().equals("Q")) { + if (!Cools.isEmpty(wrkMast.getBarcode())) { + locMast.setBarcode(wrkMast.getBarcode()); + } + locMast.setLocSts("D"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + break; + // 鍏ㄦ澘鍏ュ簱 + case 1: + // 娓呴櫎鎵�灞炲簱浣嶄箣鍓嶇殑搴撳瓨鏄庣粏 + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); + if (!locDetls.isEmpty()) { + locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); + } + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� + for (WrkDetl wrkDetl : wrkDetls) { +// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (null != locDetl) { +// if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { +//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } else { + LocDetl locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 + locDetl.setZpallet(wrkMast.getBarcode()); // 鎵樼洏鏉$爜 + locDetl.setBarcode(wrkMast.getBarcode()); + locDetl.setModiTime(now); + locDetl.setAppeTime(now); +// locDetl.setBatch(""); + if (!locDetlService.insert(locDetl)) { +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } +// } + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (orderDetl==null){ + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + } + try { + if(!Cools.isEmpty(orderDetl)){ + if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetl.getBatch(),wrkDetl.getAnfme())){ +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +// wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } catch (Exception ignore){} + } + // 淇敼搴撲綅鐘舵�� S ====>> F + if (locMast.getLocSts().equals("S")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 鍏ュ簱瀹屾垚涓婃姤mes + inBoundCompletePushMes(wrkMast,wrkDetls); + break; + // 鎷f枡鍏ュ簱 + case 53: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls53.isEmpty()) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls53) { + +// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + // 绠卞彿+鍗峰彿 + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch",wrkDetl.getBatch()) + .eq("model",wrkDetl.getModel())); + if (null != locDetl) { + +// if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + if (!locDetlService.updateAnfme2(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getModel(), wrkDetl.getBatch())) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} + + } + + // 淇敼鎹℃枡鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + break; + // 骞舵澘鍏ュ簱 + case 54: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls54.isEmpty()) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� + for (WrkDetl wrkDetl:wrkDetls54) { + + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (null != locDetl) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } else { + locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setModiTime(now); + locDetl.setAppeTime(now); + if (!locDetlService.insert(locDetl)) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + break; + // 鐩樼偣鍏ュ簱 + case 57: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls57.isEmpty()) { +// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + for(WrkDetl wrkDetl : wrkDetls57) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + break; + // 搴撲綅绉昏浆 + case 11: + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 澶囪揣锛屾洿鏂拌鍗曟槑缁嗗強璁㈠崟鐘舵�� + List<WrkDetl> wrkDetlList = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (!wrkDetlList.isEmpty()) { + List<String> brands = wrkDetlList.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList()); + // 鏌ヨ璁㈠崟鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("brand", brands)); + if (!orderDetlList.isEmpty()) { + // 鏇存柊鏄庣粏涓哄凡澶囪揣 + orderDetlMapper.updateOrderDetlStatusByPackageNo(brands,2); + // 鑾峰彇璁㈠崟鍙� + String orderNo = orderDetlList.get(0).getOrderNo(); + // 鍒ゆ柇璇ヨ鍗曟槑缁嗘槸鍚﹀叏閮ㄥ凡澶囪揣 + Integer selectCount = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().eq("order_no", orderNo).ne("inspect", 2)); + if (selectCount == 0) { + // 鏇存柊璁㈠崟涓哄璐у畬鎴� + orderMapper.updateStatusByOrderNo(orderNo,2,29); + } + } + } + + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc) { + sourceLoc.setBarcode(""); + sourceLoc.setLocSts("O"); + sourceLoc.setSheetNo("0"); + sourceLoc.setModiTime(now); + sourceLoc.setIoTime(now); + if (!locMastService.updateById(sourceLoc)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + break; + // 璺ㄥ贩閬撳簱浣嶇Щ杞畬鎴� + case 12: + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts2 = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts2 = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 璺ㄥ贩閬撶Щ搴擄紝鏇存柊璁㈠崟鏄庣粏鍙婅鍗曠姸鎬� + List<WrkDetl> wrkDetlList2 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (!wrkDetlList2.isEmpty()) { + // 鍒ゆ柇鏈夋棤鍗曟嵁缂栧彿 + Optional<WrkDetl> any = wrkDetlList2.stream().filter(wrkDetl -> wrkDetl.getOrderNo() != null).findAny(); + if (any.isPresent()) { + String orderNo = any.get().getOrderNo(); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",orderNo).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", orderNo)); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + // 鐩存帴鏇存柊涓�6宸蹭笂鎶ワ紝鏂逛究杞偍鍘嗗彶 + orderMapper.updateSettleByOrderNo(orderNo,6,null); + } + } + } else { // 绌烘澘杞Щ娌℃湁宸ヤ綔鏄庣粏,浣嗘槸瑕佹洿鏂板崟鎹槑缁嗙姸鎬� + + // 鍙湁涓�鏉′綔涓氫腑鐨勭Щ搴撳崟鎹� + List<Order> orderList = orderMapper.selectList(new EntityWrapper<Order>().eq("doc_type", 24).le("settle", 3)); + if(orderList.isEmpty()) { + log.error("娌℃湁鑾峰彇鍒版鍦ㄦ墽琛屼腑鐨勭Щ搴撳崟鎹�"); + } else { + Order order = orderList.get(0); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",order.getOrderNo()).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", order.getOrderNo())); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + orderMapper.updateSettleByOrderNo(order.getOrderNo(),6,null); + } + } + + } + + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc2 = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc2) { + sourceLoc2.setBarcode(""); + sourceLoc2.setLocSts("O"); + sourceLoc2.setSheetNo("0"); + sourceLoc2.setModiTime(now); + sourceLoc2.setIoTime(now); + if (!locMastService.updateById(sourceLoc2)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts2); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + break; + // 绌洪棽鐞嗚揣鍏ュ簱 + case 59: + + // 淇敼搴撲綅鐘舵�� S ====>> F + if (locMast.getLocSts().equals("S")) { + locMast.setLocSts("F"); + locMast.setModiTime(now); + locMastService.updateById(locMast); + } + + // 淇敼绌洪棽鐞嗚揣鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + break; + default: + break; + } + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(5L); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { +// exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); } + return SUCCESS; + } + + private void inBoundCompletePushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) { + GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto(); + gwmsGenerateInventoryDto.setWarehouseType(4); + gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode()); + gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo()); + gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo()); + List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>(); + for (WrkDetl wrkDetl : wrkDetls) { + boolean flag = true; + for (GwmsGenerateInventoryDto.MatList matList : matLists) { + if (matList.getPackageGroupNo().equals(wrkDetl.getBrand())) { + matList.getRolls().add(new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(), + wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(), + Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(), + wrkDetl.getManuDate())); + flag = false; + break; + } + } + if (flag) { + GwmsGenerateInventoryDto.MatList matList = new GwmsGenerateInventoryDto.MatList(); + matList.setBoxPos(wrkDetl.getOrigin()); + matList.setPackageGroupNo(wrkDetl.getBrand()); + matList.setOutOrIn("in"); + matList.setStockType(wrkMast.getWhsType() == 1 ? "杩斾慨鍏ュ簱" : "鎴愬搧鍏ュ簱"); + matList.setBoxType(wrkDetl.getColor()); + matList.setRollType(wrkDetl.getManu()); + matList.setWideInWidth(wrkDetl.getSku()); + matList.setThickness(wrkDetl.getItemNum()); + List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>(); + GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(), + wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(), + Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(), + wrkDetl.getManuDate()); + rollsList.add(roll); + matList.setRolls(rollsList); + matLists.add(matList); + } + } + gwmsGenerateInventoryDto.setMatList(matLists); + + + boolean success = false; + // 鑾峰彇璇锋眰澶� + Map<String, Object> headers = new HashMap<>(); + headers.put("Content-Type", "application/json;charset=UTF-8"); + + // 鏋勯�犺姹備綋 + String body = JSON.toJSONString(gwmsGenerateInventoryDto); + String response = ""; + try { + response = new HttpHandler.Builder() + .setUri(MesConstant.MES_CC_IP_PORT) + .setPath(MesConstant.MES_CC_FXRK_URL) + .setHeaders(headers) + .setJson(body) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject1 = JSONObject.parseObject(response); + int code = (int) jsonObject1.get("code"); + boolean state = jsonObject1.getBoolean("state"); + if (code == 200 && state) { + success = true; + } + } else { + log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, body, response); + } + } catch (Exception e) { + log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es寮傚父锛歿}", e.getMessage()); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "鍏ュ簱瀹屾垚鎺ㄩ�乵es", + MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, + null, + "127.0.0.1", + body, + response, + success + ); + } catch (Exception e) { + log.error("", e); + } + } + } + + private ReturnT<String> doOut(WrkMast wrkMast){ + Date now = new Date(); + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + try { + if (null == locMast) { +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + assert locMast != null; + switch (wrkMast.getIoType()) { + // 鍏ㄦ澘鍑哄簱 + case 101: +// // 鍑哄簱纭淇″彿浣� +// if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) { +// return SUCCESS; +// } + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls101.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls101) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); +// } +// // 绠卞彿+鍗峰彿 +// OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("batch",wrkDetl.getBatch()) +// .eq("model",wrkDetl.getModel())); +// +// try { +// if(!Cools.isEmpty(orderDetl)){ +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +//// orderDetlService.update(null,new EntityWrapper<OrderDetl>().eq("order_no",orderDetl.getOrderNo()) +//// .eq("batch",orderDetl.getBatch()).eq("model", orderDetl.getModel())); +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), orderDetl.getModel(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} + } + // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� + if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + // 淇敼婧愬簱浣嶇姸鎬� R ===>> O + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setSheetNo("0"); + locMast.setModiTime(now); + locMast.setIoTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + // 绌烘澘鍑哄簱 + case 110: + // 淇敼搴撲綅鐘舵�� R ===>> O + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setModiTime(now); + locMast.setIoTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + // 鐞嗚揣璐存爣鍑哄簱 + case 111: + List<WrkDetl> wrkDetls111 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls111.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls111) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl == null) { +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if (!Cools.isEmpty(orderDetl)) { +// if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.getBatch(), wrkDetl.getAnfme())) { +//// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore) { +// } + } + break; + default: + break; + } + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(15L); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { +// exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; } } -- Gitblit v1.9.1