From dea586adf232c722e8d2dfa833c3d7711a1019df Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 02 二月 2026 13:37:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 151 insertions(+), 6 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 c3c53c9..8ada1a1 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -6,10 +6,7 @@
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.entity.param.PackParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.TagMapper;
@@ -51,7 +48,8 @@
private TagService tagService;
@Autowired
private TagMapper tagMapper;
-
+ @Autowired
+ private WrkDetlService wrkDetlService;
@Override
@Transactional
public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -338,7 +336,7 @@
pack = new Pack(
param.getBarcode(), // 鏉$爜[闈炵┖]
analyse.getMatnr(), // 鍟嗗搧缂栧彿
- analyse.getBarcode(), // 鎵瑰彿
+ analyse.getBarcode(), // 搴忓垪鐮�
1L, // 璁㈠崟鐘舵��
1, // 鐘舵��
now, // 娣诲姞鏃堕棿
@@ -438,4 +436,151 @@
}
}
+ @Override
+ @Transactional
+ public void syncMat(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.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();
+ }
+ 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("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
+ }
+ }
+ }
+
+ }
+ @Override
+ @Transactional
+ public List<PickWrkDetlListParam> getPickList(PdaPickListParam param) {
+ List<WrkDetl> wrkDetls = wrkDetlService.findByBarcode(param.getBarcode());
+ List<PickWrkDetlListParam> result = new ArrayList<>();
+ wrkDetls.forEach(wrkDetl -> {
+ Double total;
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+ LocDetl locDetl = locDetlService.selectOne(
+ wrapper.eq("zpallet", wrkDetl.getZpallet())
+ .eq("matnr", wrkDetl.getMatnr())
+ );
+ // 鍙嫞鎬婚噺锛氫紭鍏堝彇搴撳瓨琛紝鍚﹀垯鍙栦綔涓氭暟閲�
+ if (Cools.isEmpty(locDetl)) {
+ total = wrkDetl.getAnfme();
+ } else {
+ total = locDetl.getAnfme();
+ }
+ // ===== 缁勮杩斿洖瀵硅薄 =====
+ PickWrkDetlListParam dto = new PickWrkDetlListParam();
+ dto.setMatnr(wrkDetl.getMatnr());
+ dto.setMaknx(wrkDetl.getMaktx());
+ dto.setOrderNo(wrkDetl.getOrderNo());
+// dto.setBoxType3(wrkDetl.getBoxType3());
+// dto.setStandby1(wrkDetl.getStandby1());
+// dto.setStandby2(wrkDetl.getStandby2());
+// dto.setStandby3(wrkDetl.getStandby3());
+ dto.setManu(wrkDetl.getManu());
+ dto.setMemo(wrkDetl.getMemo());
+ // 褰撳墠鎷h揣鏁伴噺
+ dto.setCount(wrkDetl.getAnfme());
+ // 鍙嫞鎬绘暟閲�
+ dto.setTotal(total);
+ result.add(dto);
+ });
+
+ return result;
+ }
+
}
--
Gitblit v1.9.1