From 9279bad9ac573542041e3a3e0664b207d3c398b4 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期一, 29 十二月 2025 12:36:02 +0800
Subject: [PATCH] Merge branch 'jsxswms' of http://47.97.1.152:5880/r/zy-asrs into jsxswms
---
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java | 172 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 108 insertions(+), 64 deletions(-)
diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
index 38d8f8d..57b44d1 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -37,17 +37,17 @@
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+@Slf4j
@Service("kopenApiServiceImpl")
public class KopenApiServiceImpl implements KopenApiService {
@@ -65,21 +65,31 @@
private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
private CheckOrderDetlService checkOrderDetlService;
+ @Value("${kopen.url}")
+ private String url;
+ @Value("${kopen.port}")
+ private String port;
+ @Value("${kopen.prefix}")
+ private String prefix;
+
/**
* 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
*
- * @param params
+ * @param orderParams
* @return com.core.common.R
* @author Ryan
* @date 2025/11/24 14:49
*/
@Override
- public XSR receiveOrders(PubOrderParams params) {
- if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
- return XSR.error("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
- }
- addOrUpdateOrders(params, "add");
+ public XSR receiveOrders(List<PubOrderParams> orderParams) {
+ orderParams.forEach(params -> {
+ if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
+ throw new CoolException("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
+ }
+ addOrUpdateOrders(params, "add");
+ });
+
return XSR.ok("鍗曟嵁涓嬪彂鎴愬姛锛侊紒");
}
@@ -91,15 +101,15 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public XSR getInDispatchResult(ReportOrderParam params) {
+ public XSR getInDispatchResult(List<ReportOrderParam> params) {
if (Objects.isNull(params)) {
return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
String response = null;
try {
response = new HttpHandler.Builder()
- .setUri("127.0.0.1:8081")
- .setPath("/wms/order/getInDispatchResult")
+ .setUri(url + ":" + port)
+ .setPath(prefix + "/getInDispatchResult")
.setJson(JSONObject.toJSONString(params))
.build()
.doPost();
@@ -115,8 +125,29 @@
return XSR.error(Objects.isNull(msg) ? "涓婃姤澶辫触锛侊紒" : msg);
}
} catch (Exception e) {
+ log.error(e.getMessage(), e);
return XSR.error(e.getMessage());
}
+ }
+
+ /**
+ * 鑾峰彇鑷畾涔夎姹傚ご
+ * @author Ryan
+ * @date 2025/12/29 9:11
+ * @return java.util.Map<java.lang.String,java.lang.Object>
+ */
+ private Map<String, Object> getHeaderParam() {
+ Map<String, Object> headerParam = new HashMap<>();
+// headerParam.put("accept", "*/*");
+// headerParam.put("connection", "Keep-Alive");
+ //璁剧疆璇锋眰杩炴帴鐨凾oken
+ headerParam.put("api_key", "WMS");
+ headerParam.put("charset", "UTF-8");
+ headerParam.put("timestamp", new Date());
+ headerParam.put("format", "xml");
+ headerParam.put("signature", "c56ced444ed772098ffeb59537bbfa59");
+
+ return headerParam;
}
/* */
@@ -124,29 +155,31 @@
/**
* 澶囪揣鎸囩ず娲惧伐鍗曚笅鍙�
*
- * @param params
+ * @param pubOrderParams
* @return com.core.common.R
* @author Ryan
* @date 2025/11/24 15:21
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public XSR sendOutDispatch(PubOrderParams params) {
- if (Objects.isNull(params)) {
+ public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams) {
+ if (Objects.isNull(pubOrderParams) || pubOrderParams.isEmpty()) {
return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- // 鏍¢獙鍙傛暟
- if (Objects.isNull(params.getDispatch_no())) {
- return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(params.getKopen_id())) {
- return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(params.getCompany_id())) {
- return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
- }
+ pubOrderParams.forEach(params -> {
+ // 鏍¢獙鍙傛暟
+ if (Objects.isNull(params.getDispatch_no())) {
+ throw new CoolException("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getKopen_id())) {
+ throw new CoolException("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getCompany_id())) {
+ throw new CoolException("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+ }
- addOrUpdateOrders(params, "add");
+ addOrUpdateOrders(params, "add");
+ });
return XSR.ok("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戞垚鍔燂紒锛�");
}
@@ -211,6 +244,9 @@
if (Objects.isNull(mats)) {
throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
}
+ if (Objects.isNull(mats.getPro_type())) {
+ throw new CoolException("闆朵欢绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", mats.getPro_komcode()));
if (!Objects.isNull(matnr)) {
// 璁㈠崟鏃堕棿
@@ -220,7 +256,7 @@
}
matnr.setMaktx(mats.getPro_name());
matnr.setSpecs(mats.getPro_size());
- matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
+ matnr.setWeight(Objects.isNull(mats.getPro_wet()) ? 0.0 : Double.parseDouble(mats.getPro_wet()));
matnr.setSuppCode(mats.getPro_id());
matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
@@ -272,7 +308,7 @@
OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class);
// Order order = orderService.selectOne(new
// EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no()));
- Order order = new Order();
+ Order order = null;
if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
// 鍏ュ簱
order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
@@ -288,10 +324,13 @@
// 澶囪揣鎸囩ず娲惧伐鍗曪紙EO/SO锛夊嚭搴�
order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
orderParams.getDispatch_no()));
+ } else {
+ throw new CoolException("鍗曟嵁绫诲瀷涓嶅瓨鍦紝涓嶆敮鎸佹坊鍔狅紒锛�");
}
+ } else {
+ throw new CoolException("鍗曟嵁绫诲瀷涓嶅瓨鍦紝涓嶆敮鎸佹坊鍔狅紒锛�");
}
// 鍑哄簱
-
if (type.equals("add") && !Objects.isNull(order)) {
throw new CoolException("鍗曟嵁宸插瓨鍦�, 涓嶅彲閲嶅娣诲姞锛侊紒");
}
@@ -354,6 +393,7 @@
newOrder.setUuid(generateUUID(params));
// 娴佹按鍙凤紙鍞竴锛�
newOrder.setDefNumber(params.getKopen_id());
+ newOrder.setTargetLocation(params.getTarget_location());
// 绠卞彿
newOrder.setItemName(params.getPm_tktid());
newOrder.setSettle(OrderSettle.ORDER_SETTLE_HOLDING.type);
@@ -415,50 +455,50 @@
/**
* 澶囪揣鍗曚笅鍙�
*
- * @param params
+ * @param stockUpParams
* @return com.core.common.R
* @author Ryan
* @date 2025/11/24 15:40
*/
@Override
- public XSR getOutDetails(StockUpOrderParams params) {
- if (Objects.isNull(params)) {
+ public XSR getOutDetails(List<StockUpOrderParams> stockUpParams) {
+ if (Objects.isNull(stockUpParams)) {
return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- // 鏍¢獙鍙傛暟
- if (Objects.isNull(params.getDispatch_no())) {
- return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(params.getKopen_id())) {
- return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(params.getCompany_id())) {
- return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
- }
- if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
- return XSR.error("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
- }
-
- List<OrderItemsParam> items = new ArrayList<>();
- if (params.getDetails() != null) {
- for (OutOrderParams detail : params.getDetails()) {
- if (detail.getPartList() != null) {
- items.addAll(detail.getPartList());
+ stockUpParams.forEach(params -> {
+ if (Objects.isNull(params.getDispatch_no())) {
+ throw new CoolException("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getKopen_id())) {
+ throw new CoolException("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getCompany_id())) {
+ throw new CoolException("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
+ }
+ List<OrderItemsParam> items = new ArrayList<>();
+ if (params.getDetails() != null) {
+ for (OutOrderParams detail : params.getDetails()) {
+ if (detail.getPartList() != null) {
+ items.addAll(detail.getPartList());
+ }
}
}
- }
- params.getDetails().forEach(item -> {
- PubOrderParams pubOrderParams = new PubOrderParams();
- BeanUtils.copyProperties(params, pubOrderParams);
- pubOrderParams.setType(item.getType())
- .setPick_no(item.getPick_no())
- .setCus_address(item.getCus_address())
- .setOrder_no(item.getOrder_no())
- .setUpdate_time(params.getUpdate_time())
- .setCus_id(item.getCus_id());
- pubOrderParams.setDetails(item.getPartList());
- addOrUpdateOrders(pubOrderParams, "add");
+ params.getDetails().forEach(item -> {
+ PubOrderParams pubOrderParams = new PubOrderParams();
+ BeanUtils.copyProperties(params, pubOrderParams);
+ pubOrderParams.setType(item.getType())
+ .setPick_no(item.getPick_no())
+ .setCus_address(item.getCus_address())
+ .setOrder_no(item.getOrder_no())
+ .setUpdate_time(params.getUpdate_time())
+ .setCus_id(item.getCus_id());
+ pubOrderParams.setDetails(item.getPartList());
+ addOrUpdateOrders(pubOrderParams, "add");
+ });
});
return XSR.ok("澶囪揣鍗曚笅鍙戞垚鍔燂紒锛�");
@@ -583,4 +623,8 @@
});
}
+ private String kopen() {
+ return url + ":" + port + prefix;
+ }
+
}
--
Gitblit v1.9.1