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 | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 105 insertions(+), 8 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 ec618ba..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,14 +1,19 @@ 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; @@ -16,9 +21,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -48,6 +51,9 @@ private LocDetlMapper locDetlMapper; @Resource + private ApiLogService apiLogService; + + @Resource private OrderMapper orderMapper; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -64,7 +70,7 @@ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { - if (null == locMast) { + 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() + "]"); @@ -121,7 +127,7 @@ locDetl.setBarcode(wrkMast.getBarcode()); locDetl.setModiTime(now); locDetl.setAppeTime(now); - locDetl.setBatch(""); +// locDetl.setBatch(""); if (!locDetlService.insert(locDetl)) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -160,6 +166,8 @@ return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } + // 鍏ュ簱瀹屾垚涓婃姤mes + inBoundCompletePushMes(wrkMast,wrkDetls); break; // 鎷f枡鍏ュ簱 case 53: @@ -206,7 +214,7 @@ } // 淇敼鎹℃枡鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� - locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),1); + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -407,7 +415,8 @@ Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", orderNo)); if (count == 0) { // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 - orderMapper.updateSettleByOrderNo(orderNo,4,null); + // 鐩存帴鏇存柊涓�6宸蹭笂鎶ワ紝鏂逛究杞偍鍘嗗彶 + orderMapper.updateSettleByOrderNo(orderNo,6,null); } } } else { // 绌烘澘杞Щ娌℃湁宸ヤ綔鏄庣粏,浣嗘槸瑕佹洿鏂板崟鎹槑缁嗙姸鎬� @@ -430,7 +439,7 @@ Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", order.getOrderNo())); if (count == 0) { // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 - orderMapper.updateSettleByOrderNo(order.getOrderNo(),4,null); + orderMapper.updateSettleByOrderNo(order.getOrderNo(),6,null); } } @@ -495,6 +504,94 @@ 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()); -- Gitblit v1.9.1