From a5de20d0041431b7f5e92a49315082ff2140d447 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 13 七月 2025 10:48:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 82 ++++++++++++++++++++++++++++++++--------
1 files changed, 65 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index d251b85..ed6c164 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -77,6 +78,8 @@
private ManLocDetlService manLocDetlService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private ReportToThirdService reportToThirdService;
@Autowired
private InventoryCheckOrderService inventoryCheckOrderService;
@@ -600,6 +603,7 @@
DetlDto one = DetlDto.findDto(detlDtos, detlDto);
assert one != null;
one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+ one.setWeight(one.getWeight() + detlDto.getWeight());
} else {
detlDtos.add(detlDto);
}
@@ -670,6 +674,7 @@
DetlDto one = DetlDto.findDto(detlDtos, detlDto);
assert one != null;
one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+ one.setWeight(one.getWeight() + detlDto.getWeight());
} else {
detlDtos.add(detlDto);
}
@@ -783,7 +788,7 @@
Date now = new Date();
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- List<WrkDetl> list = param.getWrkDetls();
+ List<WrkDetl> list = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
LocDetlAdjustParam adjustParam = new LocDetlAdjustParam();
List<LocDetlAdjustParam.LocDetlAdjust> locDetlAdjusts = new ArrayList<>();
@@ -838,29 +843,31 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
}
- String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
- List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
- for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
- if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
- checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
- checkOrderDetl.setStatus("2");
- } else {
- InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl();
- Synchro.Copy(wrkDetl, newDetl);
- newDetl.setAnfme(0D);
- newDetl.setCheckAnfme(wrkDetl.getAnfme());
- newDetl.setOrderNo(checkOrderDetl.getOrderNo());
- newDetl.setStatus("2");
- }
- }
}
List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls1) {
LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
locDetlAdjusts.add(locDetlAdjust);
}
+
+ List<WrkDetl> paramWrkDetls = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
+ for (WrkDetl wrkDetl : paramWrkDetls) {
+ String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
+ List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("loc_no", locNo)
+ .eq("area", wrkDetl.getWrkNo())
+ );
+ for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+ if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
+ checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
+ checkOrderDetl.setStatus("2");
+ inventoryCheckOrderDetlService.updateById(checkOrderDetl);
+ }
+ }
+ }
+
// 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
- wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N");
+ wrkMast.setFullPlt("Y");
wrkMast.setModiTime(now);
wrkMast.setModiUser(userId);
if (!wrkMastService.updateById(wrkMast)) {
@@ -1180,4 +1187,45 @@
throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
}
+
+ @Override
+ public void checkOutSubmit(Integer orderId, Long userId) {
+ InventoryCheckOrder inventoryCheckOrder = inventoryCheckOrderService.selectOne(new EntityWrapper<InventoryCheckOrder>()
+ .eq("id", orderId));
+ if (inventoryCheckOrder == null) {
+ throw new CoolException("鐩樼偣鍗曚笉瀛樺湪");
+ }
+
+ if (!inventoryCheckOrder.getStatus().equals("1")) {
+ throw new CoolException("鐩樼偣鍗曠姸鎬佸凡涓婃姤");
+ }
+
+ List<InventoryCheckOrderDetl> checkOrderDetlList = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("order_no", inventoryCheckOrder.getOrderNo())
+ );
+ if (checkOrderDetlList.isEmpty()) {
+ throw new CoolException("鐩樼偣鍗曟棤鐗╂枡鏄庣粏");
+ }
+ InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0);
+
+ List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("matnr", orderDetl.getMatnr())
+ .eq("batch", orderDetl.getBatch())
+ );
+
+ boolean complete = true;
+ for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+ if (!checkOrderDetl.getStatus().equals("2")) {
+ complete = false;
+ }
+ }
+ if (complete) {
+ boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch());
+ if (!result) {
+ throw new CoolException("鐩樼偣鍗曚笂鎶ュけ璐�");
+ }
+ }else {
+ throw new CoolException("鐩樼偣鏈畬鎴愭棤娉曚笂鎶�");
+ }
+ }
}
--
Gitblit v1.9.1