From 044e946787ba4bf936451111c73ac239e4e0ae36 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 18 四月 2025 15:29:58 +0800
Subject: [PATCH] #erp开发

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  268 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 165 insertions(+), 103 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 5d8970a..a0e4feb 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -56,7 +56,7 @@
         if (!Cools.isEmpty(order)) {
             throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
         }
-        DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE);
+        DocType docType = docTypeService.selectOrAdd(param.getBillType(), Boolean.TRUE);
         Date now = new Date();
         // 鍗曟嵁涓绘。
         order = new Order(
@@ -100,7 +100,7 @@
         }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getOrderDetails();
+        List<DetlDto> orderDetails = param.getMatList();
         for (DetlDto detail : orderDetails) {
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
@@ -191,7 +191,7 @@
             }
             orderService.remove(order.getId());
         }
-        DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE);
+        DocType docType = docTypeService.selectOrAdd(param.getBillType(), Boolean.FALSE);
         Date now = new Date();
         // 鍗曟嵁涓绘。
         order = new Order(
@@ -235,7 +235,7 @@
         }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getOrderDetails();
+        List<DetlDto> orderDetails = param.getMatList();
         for (DetlDto detail : orderDetails) {
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
@@ -435,113 +435,175 @@
         }
     }
 
-    @Override
-    @Transactional
-    public void syncMat(MatSyncParam param) {
-        if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) {
-            throw new CoolException("鍟嗗搧鏁版嵁涓虹┖");
-        }
+//    @Override
+//    @Transactional
+//    public void syncMat(List<MatSyncParam> param) {
+//        if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) {
+//            throw new CoolException("鍟嗗搧鏁版嵁涓虹┖");
+//        }
+//
+//        for(MatSyncParam.MatParam matParam : param.getMatDetails()){
+//            if(Cools.isEmpty(matParam.getMatnr())){
+//                throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖");
+//            }
+//
+//            Date now = new Date();
+//            Mat mat = matService.selectByMatnr(matParam.getMatnr());
+//            if (mat == null) {
+//                mat = new Mat();
+//                // 鍒嗙被
+//                Long tagId;
+//                // 涓�绾у垎绫�
+//                if (!Cools.isEmpty(matParam.getTagId()) && !Cools.isEmpty(matParam.getTagIdName())) {
+//                    Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2);
+//                    if (priTag == null) {
+//                        Tag top = tagService.getTop();
+//                        NodeUtils nodeUtils = new NodeUtils();
+//                        nodeUtils.executePath(top.getId());
+//                        priTag = new Tag(
+//                                null,    // 缂栧彿
+//                                matParam.getTagIdName(),    // 鍚嶇О
+//                                top.getId(),    // 鐖剁骇
+//                                top.getName(),    // 鐖剁骇鍚嶇О
+//                                nodeUtils.path.toString(),    // 鍏宠仈璺緞
+//                                nodeUtils.pathName.toString(),    // 鍏宠仈璺緞鍚�
+//                                0,    // 绫诲瀷
+//                                null,    // 璐熻矗浜�
+//                                null,    // 鍥剧墖
+//                                null,    // 绠�瑕佹弿杩�
+//                                null,    // 鏁伴噺
+//                                2,    // 绛夌骇
+//                                null,    // 鎺掑簭
+//                                1,    // 鐘舵��
+//                                now,    // 娣诲姞鏃堕棿
+//                                null,    // 娣诲姞浜哄憳
+//                                now,    // 淇敼鏃堕棿
+//                                null,    // 淇敼浜哄憳
+//                                null    // 澶囨敞
+//                        );
+//                        if (tagMapper.insert(priTag) == 0) {
+//                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+//                        }
+//                    }
+//                } else {
+//                    tagId = tagService.getTop().getId();
+//                }
+//                mat.sync(param);
+////            mat.setMatnr(param.getMatnr());
+////            mat.setMaktx(param.getMaktx());
+////            mat.setSpecs(param.getSpecs());
+////            mat.setModel(param.getModel());
+//
+//                mat.setTagId(1L);
+//                mat.setStatus(1);
+//                mat.setCreateTime(now);
+//                mat.setUpdateTime(now);
+//                if (!matService.insert(mat)) {
+//                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+//                } else {
+//                    log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+//                }
+//            } else {
+//                mat.sync(param);
+//                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
+//                    throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
+//                }
+//            }
+//        }
+//
+//    }
 
-        for(MatSyncParam.MatParam matParam : param.getMatDetails()){
-            if(Cools.isEmpty(matParam.getMatnr())){
-                throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖");
+        @Override
+        @Transactional
+        public void syncMat(List<MatSyncParam> paramList) {
+            if (Cools.isEmpty(paramList)) {
+                throw new CoolException("鍚屾鏁版嵁涓虹┖");
             }
 
-            Date now = new Date();
-            Mat mat = matService.selectByMatnr(matParam.getMatnr());
-            if (mat == null) {
-                mat = new Mat();
-                // 鍒嗙被
-                Long tagId;
-                // 涓�绾у垎绫�
-                if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) {
-                    Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2);
-                    if (priTag == null) {
-                        Tag top = tagService.getTop();
-                        NodeUtils nodeUtils = new NodeUtils();
-                        nodeUtils.executePath(top.getId());
-                        priTag = new Tag(
-                                null,    // 缂栧彿
-                                matParam.getGroupCode(),    // 鍚嶇О
-                                top.getId(),    // 鐖剁骇
-                                top.getName(),    // 鐖剁骇鍚嶇О
-                                nodeUtils.path.toString(),    // 鍏宠仈璺緞
-                                nodeUtils.pathName.toString(),    // 鍏宠仈璺緞鍚�
-                                0,    // 绫诲瀷
-                                null,    // 璐熻矗浜�
-                                null,    // 鍥剧墖
-                                null,    // 绠�瑕佹弿杩�
-                                null,    // 鏁伴噺
-                                2,    // 绛夌骇
-                                null,    // 鎺掑簭
-                                1,    // 鐘舵��
-                                now,    // 娣诲姞鏃堕棿
-                                null,    // 娣诲姞浜哄憳
-                                now,    // 淇敼鏃堕棿
-                                null,    // 淇敼浜哄憳
-                                null    // 澶囨敞
-                        );
-                        if (tagMapper.insert(priTag) == 0) {
-                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                        }
-                    }
-                    // 浜岀骇鍒嗙被
-                    Tag secTag = tagService.selectByName(matParam.getGroupName(), 3);
-                    if (secTag == null) {
-                        NodeUtils nodeUtils = new NodeUtils();
-                        nodeUtils.executePath(priTag.getId());
-                        secTag = new Tag(
-                                null,    // 缂栧彿
-                                matParam.getGroupName(),    // 鍚嶇О
-                                priTag.getId(),    // 鐖剁骇
-                                priTag.getName(),    // 鐖剁骇鍚嶇О
-                                nodeUtils.path.toString(),    // 鍏宠仈璺緞
-                                nodeUtils.pathName.toString(),    // 鍏宠仈璺緞鍚�
-                                0,    // 绫诲瀷
-                                null,    // 璐熻矗浜�
-                                null,    // 鍥剧墖
-                                null,    // 绠�瑕佹弿杩�
-                                null,    // 鏁伴噺
-                                3,    // 绛夌骇
-                                null,    // 鎺掑簭
-                                1,    // 鐘舵��
-                                now,    // 娣诲姞鏃堕棿
-                                null,    // 娣诲姞浜哄憳
-                                now,    // 淇敼鏃堕棿
-                                null,    // 淇敼浜哄憳
-                                null    // 澶囨敞
-                        );
-                        if (tagMapper.insert(secTag) == 0) {
-                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                        }
-                    }
-                    tagId = secTag.getId();
-                } else {
-                    tagId = tagService.getTop().getId();
+            for (MatSyncParam param : paramList) {
+                if (Cools.isEmpty(param.getData()) || param.getData().isEmpty()) {
+                    throw new CoolException("鍟嗗搧鏁版嵁涓虹┖");
                 }
-                mat.sync(param);
-//            mat.setMatnr(param.getMatnr());
-//            mat.setMaktx(param.getMaktx());
-//            mat.setSpecs(param.getSpecs());
-//            mat.setModel(param.getModel());
 
-                mat.setTagId(tagId);
-                mat.setStatus(1);
-                mat.setCreateTime(now);
-                mat.setUpdateTime(now);
-                if (!matService.insert(mat)) {
-                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                } else {
-                    log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
-                }
-            } else {
-                mat.sync(param);
-                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
-                    throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
+                for (MatSyncParam.MatParam matParam : param.getData()) {
+                    if (Cools.isEmpty(matParam.getMatnr())) {
+                        throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖");
+                    }
+
+                    Date now = new Date();
+                    Mat mat = matService.selectByMatnr(matParam.getMatnr());
+                    if (mat == null) {
+                        mat = new Mat();
+
+                        // 鍒嗙被
+                        Long tagId;
+                        if (!Cools.isEmpty(matParam.getTagId()) && !Cools.isEmpty(matParam.getTagIdName())) {
+                            // 濡傛灉鎻愪緵浜� tagId 鍜� tagIdName锛屾煡璇㈡槸鍚﹀凡鏈夌浉鍚岀殑鍒嗙被
+                            Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2);
+                            if (priTag == null) {
+                                // 濡傛灉鍒嗙被涓嶅瓨鍦紝鍒涘缓鏂扮殑鍒嗙被
+                                Tag top = tagService.getTop();
+                                NodeUtils nodeUtils = new NodeUtils();
+                                nodeUtils.executePath(top.getId());
+                                priTag = new Tag(
+                                        matParam.getTagId(),
+                                        matParam.getTagIdName(),
+                                        top.getId(),
+                                        top.getName(),
+                                        nodeUtils.path.toString(),
+                                        nodeUtils.pathName.toString(),
+                                        0,
+                                        null,
+                                        null,
+                                        null,
+                                        null,
+                                        2,
+                                        null,
+                                        1,
+                                        now,
+                                        null,
+                                        now,
+                                        null,
+                                        null
+                                );
+                                if (tagMapper.insert(priTag) == 0) {
+                                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                                }
+                                tagId = priTag.getId();
+                            } else {
+                                // 濡傛灉鍒嗙被宸插瓨鍦紝浣跨敤鐜版湁鐨� tagId
+                                tagId = priTag.getId();
+                            }
+                        } else {
+                            // 濡傛灉娌℃湁鎻愪緵 tagId 鍜� tagIdName锛屽垯浣跨敤榛樿鐨勫垎绫�
+                            tagId = tagService.getTop().getId();
+                        }
+
+                        mat.sync(matParam);  //
+
+                        mat.setTagId(tagId);
+                        mat.setStatus(1);
+                        mat.setCreateTime(now);
+                        mat.setUpdateTime(now);
+                        if (!matService.insert(mat)) {
+                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                        } else {
+                            log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+                        }
+                    } else {
+                        Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2);
+                        matParam.setTagId(priTag.getId());
+                        mat.sync(matParam);  // 鈿狅笍 鍚屼笂
+                        if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) {
+                            throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
+                        }
+                    }
                 }
             }
         }
 
-    }
+
+
+
 
 }

--
Gitblit v1.9.1