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