From 68aafce5aaef75bc6505b899d380aa58e00067fa Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 20 八月 2024 15:18:30 +0800 Subject: [PATCH] 桁架理货出库流程修改 --- src/main/java/com/zy/asrs/task/handler/GhjtHandler.java | 87 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java index 4fff96c..d8243c6 100644 --- a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java @@ -1,12 +1,16 @@ package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.WrkDetlService; import com.zy.common.constant.MesConstant; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; @@ -15,8 +19,11 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author pang.jiabao @@ -27,40 +34,56 @@ @Service public class GhjtHandler { + @Resource + private OrderMapper orderMapper; + @Autowired private ApiLogService apiLogService; @Resource private WrkMastMapper wrkMastMapper; + @Resource + private WrkDetlService wrkDetlService; + @Transactional public void startCkrwPushGwcs(WrkMast wrkMast) { // 鑾峰彇璇锋眰澶� Map<String, Object> headers = new HashMap<>(); - headers.put("digi-type", "sync "); - headers.put("digi-protocol", "raw"); - headers.put("digi-datakey", " XCommon.ImportData"); + headers.put("Content-Type", "application/json;charset=UTF-8"); + + // 涓嬪彂缁檊wcs瑕佽蛋鐨勮矾寰勬爣璇� + int descFlag = getDescToGwcs(wrkMast); // 鏋勯�犺姹備綋 JSONObject jsonObject = new JSONObject(); jsonObject.put("workNo", wrkMast.getWrkNo()); - jsonObject.put("staNo", wrkMast.getStaNo()); - jsonObject.put("sourceStaNo", wrkMast.getSourceStaNo()); + jsonObject.put("staNo", wrkMast.getIoType() == 3 ? 3013 :wrkMast.getStaNo()); + jsonObject.put("barcode", wrkMast.getBarcode()); + jsonObject.put("sourceStaNo", wrkMast.getIoType() == 3 ? wrkMast.getStaNo() : wrkMast.getSourceStaNo()); + jsonObject.put("descFlag", descFlag); // 101鍑哄簱鏃剁敤锛�0鍙湁涓�鏉¤矾寰勶紝1鐞嗚揣璐存爣璺緞锛�2璐存爣鎵撳甫璺緞 String body = jsonObject.toJSONString(); boolean success = false; String response = ""; try { response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKIN_URL) + .setUri(MesConstant.GWCS_IP_PORT) + .setPath(MesConstant.GWCS_DCKK_URL) .setHeaders(headers) .setJson(body) .build() .doPost(); if (!Cools.isEmpty(response)) { wrkMast.setWrkSts(2L); // 鏇存柊涓鸿澶囦笂璧� + if (wrkMast.getIoType() == 110) { // 绌烘墭鐩樺嚭搴撶洿鎺ュ畬鎴愪换鍔� + wrkMast.setWrkSts(14L); + } else if (wrkMast.getIoType() == 3) { + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(15L); + wrkMast.setModiTime(new Date()); + } wrkMastMapper.updateById(wrkMast); success = true; } else { @@ -87,13 +110,57 @@ } } + /** + * 鍏ㄦ澘鍑哄簱鍒�3077鎴�3106鐨勪换鍔★紝鍒ゆ柇鍑哄簱瑕佽蛋鐨勮矾寰� + * @param wrkMast 宸ヤ綔涓绘。 + * @return 1.鐩存帴鍑哄簱,鍙湁涓�鏉¤矾寰� 2.鐞嗚揣璐存爣鍑哄簱 3.璐存爣鎵撳甫鍑哄簱 4.璐存爣鍑哄簱 + */ + private int getDescToGwcs(WrkMast wrkMast) { + // todo 涓ゆ潯璺嚎鎬庝箞閫� + int flag = 1; + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + List<String> collect = wrkDetls.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList()); + + if (wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) { + // 鏈夊嚑涓湪绠� + if (collect.size() == 1) { // 涓�绠� + if (wrkDetls.size() == 1) { // 涓�鍗峰幓璐存爣 + flag = 4; + } else { // 澶氬嵎鐩存帴鍑� + + } + } else if(collect.size() == 2) { // 涓ょ鍘昏创鏍囨墦甯� + + // 涓ょ鑲畾閮芥槸鍗曞嵎鎯呭喌 鍚屽瀷鍙�(鏈ㄧ鍨嬪彿-绠¤姱绫诲瀷-瀹炴祴瀹藉箙-鐢熺當鍘氬害-鍒嗗垏涓嬫枡鏃堕棿)鍘昏创鏍囷紝鎵撳甫锛屼笉鍚屽瀷鍙疯创鏍囧嚭搴� + WrkDetl wrkDetl1 = wrkDetls.get(0); + WrkDetl wrkDetl2 = wrkDetls.get(1); + if (wrkDetl1.getColor().equals(wrkDetl2.getColor())&& + wrkDetl1.getSku().equals(wrkDetl2.getSku())&& + wrkDetl1.getManu().equals(wrkDetl2.getManu())&& + wrkDetl1.getItemNum().equals(wrkDetl2.getItemNum())) { + flag = 3; + } else { + flag = 4; + } + } + } else if (wrkMast.getIoType() == 103 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) { // 涓ょ鍑轰竴绠憋紝闇�妗佹灦鐞嗚揣 + // 閮借鍏堝幓鐞嗚揣 + flag = 2; +// if (wrkDetls.size() == 1) { // 涓�鍗疯创鏍囧嚭搴� +// flag = 4; +// } else { // 澶氬嵎鐩存帴鍑哄簱 +// +// } + } + return flag; + } + @Transactional public void OutBoundCompleteReport(Order order) { // 鑾峰彇璇锋眰澶� Map<String, Object> headers = new HashMap<>(); - headers.put("digi-type", "sync "); - headers.put("digi-protocol", "raw"); + headers.put("Content-Type", "application/json;charset=UTF-8"); // 鏋勯�犺姹備綋 JSONObject jsonObject = new JSONObject(); @@ -112,6 +179,8 @@ .build() .doPost(); if (!Cools.isEmpty(response)) { + order.setSettle(6L); + orderMapper.updateById(order); success = true; } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response); -- Gitblit v1.9.1