From 4c3979cd0850d3a4577aca358fdc7f8767a50447 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 11 十二月 2025 18:43:48 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 7 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 a3de122..09c3ea4 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -6,6 +6,9 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.api.entity.OrderParams;
+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;
@@ -14,16 +17,20 @@
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.enums.CommonEnum;
 import com.zy.asrs.enums.OrderSettle;
+import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 
+import com.zy.asrs.utils.Utils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 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.List;
 import java.util.Objects;
 
 @Service("kopenApiServiceImpl")
@@ -33,6 +40,8 @@
     private OrderService orderService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private MatService matService;
 
     /**
      * 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
@@ -56,12 +65,52 @@
      *
      * @author Ryan
      * @date 2025/11/24 15:05
-     * @param matnrs
+     * @param params
      * @return com.core.common.R
      */
     @Override
-    public R basMatupdate(List<Mat> matnrs) {
-        return null;
+    @Transactional(rollbackFor = Exception.class)
+    public synchronized R basMatupdate(SyncMatParmas params) {
+        if (Objects.isNull(params.getPro_komcode())) {
+            return R.error("闆朵欢缂栫爜涓嶈兘涓虹┖锛侊紒");
+        }
+        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", params.getPro_komcode()));
+        if (!Objects.isNull(matnr)) {
+            // 璁㈠崟鏃堕棿
+            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+                Date date1 = Utils.getFormateDate(params.getUpdate_time());
+                matnr.setUpdateTime(date1);
+            }
+            matnr.setMaktx(params.getPro_name());
+            matnr.setSpecs(params.getPro_size());
+            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
+            matnr.setSuppCode(params.getPro_id());
+            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
+            matnr.setManu(params.getCompany_id());
+            if (!matService.updateById(matnr)) {
+                throw new CoolException("鐗╂枡鏇存柊澶辫触鎴栨棤闇�鏇存柊锛侊紒");
+            }
+        } else {
+            if (Objects.isNull(matnr)) {
+                matnr = new Mat();
+            }
+            // 璁㈠崟鏃堕棿
+            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+                Date date1 = Utils.getFormateDate(params.getUpdate_time());
+                matnr.setUpdateTime(date1);
+            }
+            matnr.setMaktx(params.getPro_name());
+            matnr.setMatnr(params.getPro_komcode());
+            matnr.setSpecs(params.getPro_size());
+            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
+            matnr.setSuppCode(params.getPro_id());
+            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
+            matnr.setManu(params.getCompany_id());
+            if (!matService.insert(matnr)) {
+                throw new CoolException("鐗╂枡鏇存柊澶辫触锛侊紒");
+            }
+        }
+        return R.ok("淇濆瓨鎴愬姛锛侊紒");
     }
 
     /**
@@ -134,7 +183,9 @@
         newOrder.setSettle(OrderSettle.ORDER_SETTLE_HOLDING.type);
         newOrder.setStatus(CommonEnum.COMMON_ENUM_Y.type);
         // 璁㈠崟鏃堕棿
-        newOrder.setOrderTime(DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm:ss"));
+        if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+            newOrder.setOrderTime(params.getUpdate_time());
+        }
         // 鍏徃ID
         newOrder.setCstmrName(params.getCompany_id());
         newOrder.setCreateTime(new Date());
@@ -144,12 +195,18 @@
         }
         if (!Objects.isNull(params.getDetails()) && !params.getDetails().isEmpty()) {
             params.getDetails().forEach(item -> {
+                Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", item.getPro_komcode()));
+                if (Objects.isNull(matnr)) {
+                    throw new CoolException("鐗╂枡缂栫爜涓嶅瓨鍦紒锛�");
+                }
                 OrderDetl orderItem = new OrderDetl();
-                BeanUtils.copyProperties(item, orderItem);
+                BeanUtils.copyProperties(matnr, orderItem);
                 orderItem.setOrderId(newOrder.getId());
                 orderItem.setOrderNo(newOrder.getOrderNo());
                 orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
-                orderItem.setMatnr(item.getPro_komcode());
+                orderItem.setMatnr(matnr.getMatnr());
+                orderItem.setMaktx(matnr.getMaktx());
+                orderItem.setBrand(matnr.getBrand());
                 orderItem.setBatch(1 + "");
                 orderItem.setStandby1(item.getPro_id());
                 //鍏宠仈涓婂姞娲惧伐鍗曞彿+闆朵欢浠g爜+渚涘簲鍟嗕唬鐮�

--
Gitblit v1.9.1