From 44bc5cf48fa23a1bf5fcefedce1b4686033b245a Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 24 十二月 2025 13:38:59 +0800
Subject: [PATCH] 添加损溢单上报接口
---
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 66 ++++++++++++++++++++++++++++++--
1 files changed, 61 insertions(+), 5 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 3fb456e..157b547 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -2,6 +2,7 @@
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.DateUtils;
import com.core.exception.CoolException;
@@ -10,12 +11,14 @@
import com.zy.api.entity.PubOrderParams;
import com.zy.api.entity.ReportOrderParam;
import com.zy.api.entity.ReportOrderParams;
+import com.zy.api.entity.StockAdjustParams;
import com.zy.api.entity.StockUpOrderParams;
import com.zy.api.entity.dto.XSR;
import com.zy.api.service.KopenApiService;
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.OrderTypeEnum;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.CheckOrderDetlServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -44,6 +47,8 @@
@Service
public class OrderSyncHandler extends AbstractHandler<String> {
+ private final CheckOrderDetlServiceImpl checkOrderDetlService;
+
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
@@ -62,6 +67,10 @@
private KopenApiService kopenApiService;
@Autowired
private MatService matService;
+
+ OrderSyncHandler(CheckOrderDetlServiceImpl checkOrderDetlService) {
+ this.checkOrderDetlService = checkOrderDetlService;
+ }
@Transactional
public ReturnT<String> startOrderIssuedOnceMore(Order order) {
@@ -389,7 +398,8 @@
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
} else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.OUT_DISPATCH_RESULT,
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}",
+ MesConstant.URL + MesConstant.OUT_DISPATCH_RESULT,
JSON.toJSONString(orderParam), JSON.toJSONString(response));
throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
}
@@ -424,7 +434,6 @@
.setCus_id(order.getCstmrName())
.setCus_address(order.getTel());
-
List<OrderItemsParam> reportOrderParams = new ArrayList<>();
orderDetls.forEach(detl -> {
Mat material = matService.selectByMatnr(detl.getMatnr());
@@ -447,11 +456,10 @@
List<OutOrderParams> pubOrderParamsList = new ArrayList<>();
pubOrderParamsList.add(pubOrderParams);
- //璁剧疆娲惧伐鍗曟槑缁�
+ // 璁剧疆娲惧伐鍗曟槑缁�
stockUpOrderParams.setDetails(pubOrderParamsList);
stockUpOrderParams.setUpdate_time(order.getUpdateBy$());
-
XSR response = null;
boolean success = false;
try {
@@ -470,7 +478,8 @@
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
} else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.OUT_DETAILS_RESULT,
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}",
+ MesConstant.URL + MesConstant.OUT_DETAILS_RESULT,
JSON.toJSONString(stockUpOrderParams), JSON.toJSONString(response));
throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
}
@@ -497,4 +506,51 @@
return SUCCESS;
}
+ /**
+ * 鎹熸孩鍗曞畬缁撲笂鎶�
+ *
+ * @param order
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public ReturnT<String> startCheckOrderReport(CheckOrder order) {
+ List<StockAdjustParams> adjustParams = new ArrayList<>();
+
+ StockAdjustParams adjustParam = new StockAdjustParams();
+
+ adjustParam.setCompany_id(order.getCstmrName())
+ .setWms_id(order.getId() + "")
+ .setType(0 + "")
+ .setCompany_id(order.getCstmrName());
+
+ adjustParam.setBsby_no(order.getNumber())
+ .setResason("")
+ .setReason_name("");
+ List<CheckOrderDetl> detls = checkOrderDetlService
+ .selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", order.getId()));
+ if (Objects.isNull(detls) || detls.isEmpty()) {
+ throw new CoolException("鎹熸孩鍗曡鎯呬笉瀛樺湪");
+ }
+ List<OrderItemsParam> items = new ArrayList<>();
+ detls.forEach(detl -> {
+ Mat material = matService.selectByMatnr(detl.getMatnr());
+ if (Objects.isNull(material)) {
+ throw new CoolException("鐗╂枡涓嶅瓨鍦�");
+ }
+ OrderItemsParam itemParam = new OrderItemsParam();
+ itemParam.setLocation_no(detl.getZpallet())
+ .setPro_komcode(material.getMatnr())
+ .setPro_id(detl.getSuppCode())
+ .setBsby_qty(detl.getDiffQty().intValue());
+ items.add(itemParam);
+ });
+ adjustParam.setDetails(items);
+
+ adjustParams.add(adjustParam);
+
+ return SUCCESS;
+ // TODO Auto-generated method stub
+
+ }
+
}
--
Gitblit v1.9.1