From 1aab585d252ec433d928b3314232af71e4f861ac Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 28 十月 2024 18:14:18 +0800 Subject: [PATCH] 空闲理货木箱宽度<=600 --- src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 240 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 139 insertions(+), 101 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java index 64a30fd..96d110c 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -2,12 +2,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.core.common.Cools; -import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.entity.ReportMesOrderResult; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; @@ -15,8 +14,6 @@ import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.constant.MesConstant; -import com.zy.common.model.MesPakinParam; -import com.zy.common.model.MesPakoutParam; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -25,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -51,108 +49,148 @@ return SUCCESS; } List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - // 鍏ュ簱瀹屾垚涓婃姤 - if (docType.getPakin() == 1) { - MesPakinParam pakinParam = new MesPakinParam(); - pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); - pakinParam.setLgortFrom("5008"); - pakinParam.setLgortTo("5006"); - for (OrderDetl orderDetl : orderDetls) { - String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); - pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); - } - String response = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKIN_URL) - .setJson(JSON.toJSONString(pakinParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - success = true; - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), 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(pakinParam), - response, - success - ); - } catch (Exception e) { log.error("", e); } - } - } + // 鍑哄簱瀹屾垚涓婃姤 if (docType.getPakout() == 1) { - if (true) { - return SUCCESS; - } - MesPakoutParam pakoutParam = new MesPakoutParam(); - pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime())); // todo:luxiaotao - pakoutParam.setLgortFrom("5008"); // todo:luxiaotao - pakoutParam.setLgortTo("5006"); // todo:luxiaotao - pakoutParam.setOrderNo(order.getOrderNo()); - for (OrderDetl orderDetl : orderDetls) { - String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); - pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); - } - String response = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKOUT_URL) // todo:luxiaotao - .setJson(JSON.toJSONString(pakoutParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - success = true; - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { + + // 鐩樼偣鍗曚笂鎶� + if (docType.getDocName().equals("鐩樼偣鍗�")) { + List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl -> + new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue())).collect(Collectors.toList()); + JSONObject object = new JSONObject(); + object.put("orderNo",order.getOrderNo()); + object.put("orderDetls",collect); + String body = JSON.toJSONString(object); + String response = ""; + boolean success = false; try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎴愬搧搴撳嚭搴撲笂鎶�", - MesConstant.URL + MesConstant.PAKOUT_URL, - null, - "127.0.0.1", - JSON.toJSONString(pakoutParam), - response, - success - ); - } catch (Exception e) { log.error("", e); } + response = new HttpHandler.Builder() + .setUri(MesConstant.MES_CC_IP_PORT) + .setPath(MesConstant.MES_CC_SB_URL) + .setJson(body) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + success = true; + // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� + if (!orderService.updateSettle(order.getId(), 6L, null)) { + throw new CoolException("鏇存柊璁㈠崟涓婃姤瀹屾垚澶辫触锛�" + order); + } + } else { + log.error("璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT+MesConstant.MES_CC_SB_URL, JSON.toJSONString(collect), response); + } + } catch (Exception e) { + log.error("璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙e紓甯�", e); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙�", + MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_SB_URL, + null, + "127.0.0.1", + JSON.toJSONString(collect), + response, + success + ); + } catch (Exception e) { log.error("", e); } + } + } else if(docType.getDocName().equals("鍑哄簱鐢宠鍗�") || docType.getDocName().equals("鍙嶄慨鍑哄簱鍗�")) { // 杩斾慨鍑哄簱鍗�/鍑哄簱鐢宠鍗曚笂鎶� + List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl -> + new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue() == 1 ? 2 : 3)).collect(Collectors.toList()); + JSONObject object = new JSONObject(); + object.put("outboundNumber",order.getOrderNo()); + object.put("outBounds",collect); + String body = JSON.toJSONString(object); + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(MesConstant.MES_ZL_IP_PORT) + .setPath(MesConstant.MES_ZL_SB_URL) + .setJson(body) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + Boolean state = jsonObject.getBoolean("state"); + if (code == 200 && state) { + success = true; + // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� + if (!orderService.updateSettle(order.getId(), 6L, null)) { + throw new CoolException("鏇存柊璁㈠崟涓婃姤瀹屾垚澶辫触锛�" + order); + } + } else { + log.error("璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_ZL_IP_PORT+MesConstant.MES_ZL_SB_URL, JSON.toJSONString(collect), response); + } + } catch (Exception e) { + log.error("璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙e紓甯�", e); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙�", + MesConstant.MES_ZL_IP_PORT + MesConstant.MES_ZL_SB_URL, + null, + "127.0.0.1", + JSON.toJSONString(collect), + response, + success + ); + } catch (Exception e) { log.error("", e); } + } } } + // 鍏ュ簱瀹屾垚涓婃姤 +// if (docType.getPakin() == 1) { +// MesPakinParam pakinParam = new MesPakinParam(); +// pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); +// pakinParam.setLgortFrom("5008"); +// pakinParam.setLgortTo("5006"); +// for (OrderDetl orderDetl : orderDetls) { +// String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); +// pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); +// } +// String response = ""; +// boolean success = false; +// try { +// response = new HttpHandler.Builder() +// .setUri(MesConstant.URL) +// .setPath(MesConstant.PAKIN_URL) +// .setJson(JSON.toJSONString(pakinParam)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// if (jsonObject.getInteger("code").equals(200)) { +// success = true; +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } else { +// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), 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(pakinParam), +// response, +// success +// ); +// } catch (Exception e) { log.error("", e); } +// } +// } return SUCCESS; } -- Gitblit v1.9.1