From abb7c67088e18f8052eeff6d35b611286eedcee5 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 21 三月 2025 15:52:02 +0800
Subject: [PATCH] #出入库改动
---
src/main/webapp/views/pakStore/stockOut.html | 5 -
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 71 ++-----------
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 152 ++++++++++++++++++-----------
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 35 ++----
src/main/webapp/static/js/pakStore/stockOut.js | 6 -
5 files changed, 116 insertions(+), 153 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 74ac54a..415d235 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -20,6 +20,7 @@
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
import com.zy.common.model.MesCombParam;
+import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -63,6 +64,10 @@
private ApiLogService apiLogService;
@Autowired
private WorkLogHandler workLogHandler;
+ @Autowired
+ private CommonService commonService;
+ @Autowired
+ private LocMastService locMastService;
@Override
@Transactional
@@ -77,11 +82,11 @@
}
// todo: 涓嶄笅绾块噸鏂板叆搴�
- WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
- if (wrkMast != null && wrkMast.getWrkSts() == 18) {
- ReturnT<String> start = workLogHandler.start(wrkMast);
+ WrkMast wrkMast18 = wrkMastService.selectByBarcode(param.getBarcode());
+ if (wrkMast18 != null && wrkMast18.getWrkSts() == 18) {
+ ReturnT<String> start = workLogHandler.start(wrkMast18);
if (!start.isSuccess()) {
- log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast.getWrkNo());
+ log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast18.getWrkNo());
}
}
@@ -90,40 +95,6 @@
// 鏃犲崟缁勬墭
if (Cools.isEmpty(param.getOrderNo())) {
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
-
-
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setBatch(detlDto.getBatch());
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- }
// 鍏宠仈缁勬墭
} else {
Order order = orderService.selectByNo(param.getOrderNo());
@@ -153,30 +124,93 @@
detlDtos.add(detlDto);
}
});
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
- waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- }
+
orderService.updateSettle(order.getId(), 2L, userId);
}
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getLocno()));
+ if (Cools.isEmpty(locMast1)) {
+ throw new CoolException("鏈壘鍒版纭殑搴撲綅淇℃伅");
+ }
+
+ int workNo = commonService.getWorkNo(0);
+
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(9L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ Double ioPri = wrkMastService.getIoPri(1, locMast1.getLocNo());
+ wrkMast.setIoPri(ioPri); // 浼樺厛绾�
+ wrkMast.setCrnNo(locMast1.getCrnNo());
+ wrkMast.setOutMost(locMastService.isOutMost(locMast1.getLocNo(), true)?1:0);;
+ wrkMast.setSourceStaNo(null);
+ wrkMast.setStaNo(null);
+ wrkMast.setLocNo(locMast1.getLocNo());
+ wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(null); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+
+ for (CombParam.CombMat paramMat : param.getCombMats() )
+ {
+ Mat mat = matService.selectByMatnr(paramMat.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(paramMat.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(mat);
+ wrkDetl.setAnfme(paramMat.getAnfme());
+ wrkDetl.setZpallet(param.getBarcode());
+// wrkDetl.setAnfme(1.0D);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ }
+
+// // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+// Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+// .eq("zpallet", barcode);
+// WaitPakin setParam = new WaitPakin();
+// setParam.setIoStatus("Y");
+// setParam.setModiTime(now);
+// if (!waitPakinService.update(setParam, wrapper)) {
+// throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+// }
+
+
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+
+ if (locMast1.getLocSts().equals("O")){
+ locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast1.setModiTime(now);
+ if (!locMastService.updateById(locMast1)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+
+
+
}
@Override
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ebd138e..28c0d65 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -160,57 +160,7 @@
@Override
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
- ArrayList<String> locNos = new ArrayList<>();
- for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
- locNos.add(locDetl.getLocNo());
- }
- //妫�娴嬫槸鍚︿负娴呭簱浣�
- List<LocMast> locMasts = null;
- boolean sign=false;
- String th = "";
- for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
- int row = getRow(locDetl.getLocNo());
- int bay = getBay(locDetl.getLocNo());
- int lev = getLev(locDetl.getLocNo());
- if (!(row==4 || row==5)){
- if (row>5){
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locNos.contains(locMast1.getLocNo())){
- continue;
- }
- if (locMast1.getRow1()<row){
- if (!locMast1.getLocSts().equals("O")){
- sign=true;
- th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
- }
- }
- }else {
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locNos.contains(locMast1.getLocNo())){
- continue;
- }
- if (locMast1.getRow1()>row){
- if (!locMast1.getLocSts().equals("O")){
- sign=true;
- th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
- }
- }
- }
- }
- }
- if (sign){
- throw new CoolException("鍑哄簱澶辫触锛�"+th);
- }
- // 鐩爣绔欑偣鐘舵�佹娴�
- BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -221,7 +171,7 @@
}
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ stockOut(null, locDetlDtos, null, userId);
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
@@ -299,22 +249,25 @@
// 鑾峰彇璺緞
Boolean outMost = locMastService.isOutMost(dto.getLocNo(), false);
Integer outCrnNo = locMastService.getOutCrnNo(locMast);
- StaDesc staDesc = staDescService.queryCrnStn(ioType, outCrnNo, staNo.getDevNo());
+
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setWrkSts(ioType == 101?17L:9L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(ioType == 101?101:53); // 鍏ュ嚭搴撶姸鎬�
Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13
wrkMast.setOutMost(outMost?1:0);;
wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
- wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
- wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
- wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+ if (ioType == 101){
+ wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+ }else {
+ wrkMast.setLocNo(dto.getLocNo());
+ }
+
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
@@ -349,7 +302,7 @@
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(dto.getLocNo());
if (locMast.getLocSts().equals("F")) {
- locMast.setLocSts(ioType==101?"R":"P");
+ locMast.setLocSts(ioType==101?"R":"Q");
locMast.setModiUser(userId);
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 0fbb782..5251db3 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -67,37 +67,24 @@
if (wrkMast.getIoType() == 1) {
// 鍏ュ簱閫氱煡鍗�
if (!Cools.isEmpty(wrkMast.getBarcode())) {
- // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
- if (!waitPakinLogService.save(wrkMast.getBarcode())) {
- exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎鍏ュ簱閫氱煡妗�
- if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
- exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
+// // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
+// if (!waitPakinLogService.save(wrkMast.getBarcode())) {
+// exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
+// }
+// // 鍒犻櫎鍏ュ簱閫氱煡妗�
+// if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
+// exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+// }
}
- // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
+
// 鎷f枡鍐嶅叆搴�
} else if (wrkMast.getIoType() == 53) {
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
+
}
// 鍑哄簱 --------------------------------------------------------------------------------
} else if (wrkMast.getWrkSts() == 18) {
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
+
}
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index d9b2580..b45999f 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -70,13 +70,7 @@
if (locDetlData.length === 0){
layer.msg('璇峰厛鎻愬彇鍟嗗搧搴撳瓨', {icon: 2});
} else {
- var staNo = $("#staNoSelect").val();
- if (staNo === "" || staNo === null){
- layer.msg("璇烽�夋嫨鍑哄簱鍙�", {icon: 2});
- return;
- }
let param = {
- outSite: staNo,
locDetls: locDetlData
}
$.ajax({
diff --git a/src/main/webapp/views/pakStore/stockOut.html b/src/main/webapp/views/pakStore/stockOut.html
index 3e02f19..2d6a269 100644
--- a/src/main/webapp/views/pakStore/stockOut.html
+++ b/src/main/webapp/views/pakStore/stockOut.html
@@ -95,11 +95,6 @@
<script type="text/html" id="toolbar">
<div class="layui-form">
<div class="layui-btn-container">
- <!-- 1.閫夋嫨鍑哄簱鍙� -->
- <span id="staNoSpan">鍑哄簱鍙o細</span>
- <select id="staNoSelect" lay-verify="required">
- <option value="">璇烽�夋嫨绔欑偣</option>
- </select>
<!-- 2.鍚姩鍑哄簱 -->
<button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>
</div>
--
Gitblit v1.9.1