From 3aed7236f2db67dd90115a39bc8f1465e4cc8b73 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 16 十二月 2025 14:34:08 +0800
Subject: [PATCH] 立库完成入库添加库区信息
---
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 96 insertions(+), 14 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 6e881a9..640c170 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -2,16 +2,13 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.api.entity.OrderParams;
-import com.zy.api.entity.ReportOrderParam;
import com.zy.api.entity.PubOrderParams;
import com.zy.api.entity.ReportOrderParam;
import com.zy.api.entity.SyncMatParmas;
import com.zy.api.enums.MatLocType;
-import com.zy.api.enums.MatType;
import com.zy.api.enums.OrderType;
import com.zy.api.enums.OrderWkType;
import com.zy.api.service.KopenApiService;
@@ -31,9 +28,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;
@@ -66,6 +60,7 @@
/**
* 涓婃灦娲惧伐鍗曞弽棣�
+ *
* @author Ryan
* @date 2025/11/24 15:33
*/
@@ -97,6 +92,76 @@
} catch (Exception e) {
return R.error(e.getMessage());
}
+ }
+
+ /* */
+ /**
+ * 澶囪揣鎸囩ず娲惧伐鍗曚笅鍙�
+ *
+ * @author Ryan
+ * @date 2025/11/24 15:21
+ * @param params
+ * @return com.core.common.R
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R sendOutDispatch(PubOrderParams params) {
+ if (Objects.isNull(params)) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ // 鏍¢獙鍙傛暟
+ if (Objects.isNull(params.getDispatch_no())) {
+ return R.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getKopen_id())) {
+ return R.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getCompany_id())) {
+ return R.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+ }
+
+ addOrUpdateOrders(params, "add");
+
+ return R.ok("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戞垚鍔燂紒锛�");
+ }
+
+ /**
+ * 澶囪揣鎸囩ず娲惧伐鍗�
+ *
+ * @author Ryan
+ * @date 2025/12/16 9:15
+ * @param params
+ */
+ private void outOrderAddAndUpdate(PubOrderParams params, String type) {
+ if (Objects.isNull(params)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(params.getType())) {
+ throw new CoolException("璁㈠崟绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
+
+ OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class);
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no()));
+ if (type.equals("add") && !Objects.isNull(order)) {
+ throw new CoolException("鍗曟嵁宸插瓨鍦�, 涓嶅彲閲嶅娣诲姞锛侊紒");
+ }
+ // 鍒ゆ柇璁㈠崟鏄惁瀛樺湪
+ if (Objects.isNull(order)) {
+ /** 涓嶅瓨鍦紝鏂板璁㈠崟 */
+ generateOrders(params);
+ } else {
+ /** 瀛樺湪锛屽垹闄よ�佽鍗曪紝鏇存柊鎻掑叆鏂拌鍗� */
+ // 鍒犻櫎鏃ц鍗曟槑缁�
+ if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
+ throw new CoolException("璁㈠崟鏄庣粏鍒犻櫎澶辫触锛侊紒");
+ }
+ ;
+ if (!orderService.deleteById(order.getId())) {
+ throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
+ }
+ generateOrders(params);
+ }
+
}
/**
@@ -167,9 +232,15 @@
if (Objects.isNull(params.getType())) {
throw new CoolException("璁㈠崟绫诲瀷涓嶈兘涓虹┖锛侊紒");
}
-
OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class);
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no()));
+ Order order = new Order();
+ if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+ // 鍏ュ簱
+ order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no()));
+ } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+ // 鍑哄簱
+ order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no()));
+ }
if (type.equals("add") && !Objects.isNull(order)) {
throw new CoolException("鍗曟嵁宸插瓨鍦�, 涓嶅彲閲嶅娣诲姞锛侊紒");
}
@@ -182,7 +253,8 @@
// 鍒犻櫎鏃ц鍗曟槑缁�
if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
throw new CoolException("璁㈠崟鏄庣粏鍒犻櫎澶辫触锛侊紒");
- };
+ }
+
if (!orderService.deleteById(order.getId())) {
throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
}
@@ -193,10 +265,10 @@
public static String generateUUID(OrderParams params) {
return java.util.UUID.randomUUID().toString();
}
-
/**
* 鐢熸垚璁㈠崟淇℃伅
+ *
* @param params
*/
@Transactional(rollbackFor = Exception.class)
@@ -206,12 +278,14 @@
if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
// 鍏ュ簱
newOrder.setPakinPakoutStatus(1);
+ newOrder.setDocType(Long.parseLong(params.getType()));
+ newOrder.setOrderNo(params.getInv_no());
} else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
// 鍑哄簱
newOrder.setPakinPakoutStatus(2);
+ newOrder.setDocType(5L);
+ newOrder.setOrderNo(params.getDispatch_no());
}
- newOrder.setDocType(Long.parseLong(params.getType()));
- newOrder.setOrderNo(params.getInv_no());
newOrder.setUuid(generateUUID(params));
// 娴佹按鍙凤紙鍞竴锛�
newOrder.setDefNumber(params.getKopen_id());
@@ -242,13 +316,21 @@
BeanUtils.copyProperties(matnr, orderItem);
orderItem.setOrderId(newOrder.getId());
orderItem.setOrderNo(newOrder.getOrderNo());
- orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+
+ if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+ // 鍏ュ簱
+ orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+ } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+ // 鍑哄簱
+ newOrder.setPakinPakoutStatus(2);
+ orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
+ }
orderItem.setMatnr(matnr.getMatnr());
orderItem.setMaktx(matnr.getMaktx());
orderItem.setBrand(matnr.getBrand());
orderItem.setBatch(1 + "");
orderItem.setStandby1(item.getPro_id());
- //鍏宠仈涓婂姞娲惧伐鍗曞彿+闆朵欢浠g爜+渚涘簲鍟嗕唬鐮�
+ // 鍏宠仈涓婂姞娲惧伐鍗曞彿+闆朵欢浠g爜+渚涘簲鍟嗕唬鐮�
orderItem.setThreeCode(item.getTotal_serial());
// 渚涘簲鍟嗕唬鐮�
orderItem.setSuppCode(item.getPro_id());
--
Gitblit v1.9.1