From 67826a2c51bbc013db409dd1a5e29dd4ba52fd72 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 20 一月 2026 09:27:47 +0800
Subject: [PATCH] 初始化
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 206 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 156 insertions(+), 50 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 e88a6a8..25a3c13 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1,26 +1,21 @@
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;
-import com.core.common.*;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.PickInParam;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
-import com.zy.asrs.utils.MatUtils;
-import com.zy.common.CodeRes;
-import com.zy.common.constant.MesConstant;
-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;
import org.springframework.stereotype.Service;
@@ -77,6 +72,8 @@
private ManLocDetlService manLocDetlService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private AdjDetlService adjDetlService;
@Override
@@ -85,9 +82,6 @@
if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
throw new CoolException(BaseRes.PARAM);
}
-// if(param.getCombMats().size()>1){
-// throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
-// }
// 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
@@ -97,10 +91,6 @@
if (param.getBarcode().length() != 8) {
throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
}
-// if (param.getCombMats().size()>1){
-// throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
-// }
-
int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
@@ -116,7 +106,8 @@
// 鐢熸垚鍏ュ簱閫氱煡妗�
List<DetlDto> detlDtos = new ArrayList<>();
param.getCombMats().forEach(elem -> {
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getProType(), elem.getTemp2(), elem.getOutOrderNo());
+ detlDto.setMemo(detlDto.getMemo());
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
assert one != null;
@@ -130,10 +121,13 @@
for (DetlDto detlDto : detlDtos) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�---->" + detlDto.getMatnr());
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
+ waitPakin.setProType(detlDto.getProType());
+ waitPakin.setTemp2(detlDto.getTemp2());
+ waitPakin.setOutOrderNo(detlDto.getOutOrderNo());
waitPakin.setBatch(detlDto.getBatch());
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
@@ -143,6 +137,7 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
+ waitPakin.setMemo(detlDto.getMemo());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
@@ -150,7 +145,7 @@
// 鍏宠仈缁勬墭
} else {
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("temp1", param.getOrderNo()));
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", param.getOrderNo()));
if (Cools.isEmpty(order) || order.getSettle() > 2) {
throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
}
@@ -169,48 +164,34 @@
throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
- 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());
+ Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
- waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
+ waitPakin.setBatch(orderDetl.getBatch()); // 搴忓垪鐮�
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setAnfme(elem.getAnfme()); // 鏁伴噺
waitPakin.setStatus("Y"); // 鐘舵��
waitPakin.setAppeUser(userId);
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
- OrderDetl orderDetl = orderDetlService.selectItem(waitPakin);
-// if (orderDetl == null) {
-// orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,detlDto.getAnfme());
-// }
- if (orderDetl!=null){
- waitPakin.setBatch(orderDetl.getBatch());
- waitPakin.setSPgNO(orderDetl.getSPgNO());
- waitPakin.setOutOrderNo(orderDetl.getOutOrderNo());
- waitPakin.setProType(orderDetl.getProType());
- waitPakin.setLuHao(orderDetl.getLuHao());
- waitPakin.setPacking(orderDetl.getPacking());
- }
+
+ waitPakin.setBatch(orderDetl.getBatch());
+ waitPakin.setSPgNO(orderDetl.getSPgNO());
+ waitPakin.setOutOrderNo(orderDetl.getOutOrderNo());
+ waitPakin.setProType(orderDetl.getProType());
+ waitPakin.setLuHao(orderDetl.getLuHao());
+ waitPakin.setPacking(orderDetl.getPacking());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
- }
+ });
+
orderService.updateSettle(order.getId(), 2L, userId);
}
@@ -386,7 +367,8 @@
// Mat analyse = MatUtils.analyseMat(elem.getMatnr());
// // 鏉$爜銆佺墿鏂欎唬鐮併�佸簭鍒楀彿銆佹暟閲�
// DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme());
-//// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+
+ /// / 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;
@@ -511,7 +493,6 @@
//
// }
// }
-
@Override
@Transactional
public void pakoutByOrder(JSONObject param, Long userId) {
@@ -520,7 +501,7 @@
BasDevp sta = basDevpService.checkSiteStatus(staNo);
//鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。
- List<OrderDetl> pg_no = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("pg_no",orderNo));
+ List<OrderDetl> pg_no = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("pg_no", orderNo));
Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", pg_no.get(0).getOrderNo()));
if (order.getSettle() != 1 && order.getSettle() != 2) {
throw new CoolException("璇ヨ鍗曞凡澶勭悊");
@@ -530,7 +511,7 @@
Date now = new Date();
for (OrderDetl orderDetl : orderDetls) {
//鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭�
- List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, null);
+ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl);
if (locDetls.size() == 0) {
throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡");
}
@@ -650,4 +631,129 @@
throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
}
+
+
+ @Override
+ @Transactional
+ public void adjustNew(CombParam param, Boolean re, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鎵樼洏鐮�:" + param.getBarcode() + " 鏃犳湁鏁堝伐浣滄。");
+ }
+ if (wrkMast.getWrkSts() != 14){
+ throw new CoolException("骞舵澘鏃犳晥锛屽伐浣滄。" + wrkMast.getWrkNo() + "鏈畬鎴愭垨宸插叆搴�");
+ }
+ if (wrkMast.getIoType() != 104) {
+ throw new CoolException("宸ヤ綔妗�:" + wrkMast.getWrkNo() + " 涓嶆槸骞舵澘绫诲瀷");
+ }
+ List<CombParam.CombMat> combMats = param.getCombMats();
+ String recordRecordLog = "鎵樼洏鐮�" + param.getBarcode() + "骞舵澘璁板綍锛�";
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setAppeTime(new Date());
+ adjDetl.setAppeUser(userId);
+ adjDetl.setModiTime(new Date());
+ adjDetl.setModiUser(userId);
+ adjDetl.setLocNo(wrkMast.getSourceLocNo()); // 搴撲綅
+ adjDetl.setBarcode( param.getBarcode()); // 鎵樼洏鐮�
+ adjDetl.setWorkNo(wrkMast.getWrkNo().toString()); //骞舵澘瀵瑰簲鐨勫伐浣滃彿
+
+ for (CombParam.CombMat wrkDetl : combMats) {
+ WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("matnr", wrkDetl.getMatnr())
+// .eq("batch",Cools.isEmpty(wrkDetl.getBatch())?"":wrkDetl.getBatch())
+ );
+
+
+ adjDetl.setMatnr(wrkDetl.getMatnr());
+ adjDetl.setBatch(wrkDetl.getBatch());
+ adjDetl.setAdjQty(wrkDetl.getAnfme()); //鍙樻洿鏁伴噺
+
+ if (Cools.isEmpty(wrkDetlOld)) {
+ WrkDetl detl = new WrkDetl();
+ detl.sync(wrkDetl);
+ detl.setWrkNo(wrkMast.getWrkNo());
+ detl.setZpallet(wrkMast.getBarcode());
+ detl.setIoTime(wrkMast.getIoTime()); //骞舵澘鏂板鐨勭墿鏂欎繚鎸佸師鏈夌墿鏂欑殑鏃堕棿
+ detl.setWeight(0.0); // 閲嶉噺 鍚庨潰濡傛灉闇�瑕� 鍐嶄慨鏀�
+ detl.setModiUser(userId); // 淇敼浜哄憳
+ detl.setAppeUser(userId); // 娣诲姞浜哄憳
+ wrkDetlService.insert(detl); // 鎻掑叆宸ヤ綔鏄庣粏
+ recordRecordLog = recordRecordLog + "\n" + "鏂板涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetl.getAnfme();
+ adjDetl.setOriQty(0.0); // 鍘熸暟閲�
+ adjDetlService.insert(adjDetl);
+
+ }
+// else if (wrkDetlOld.getAnfme() != wrkDetl.getAnfme()) {
+// wrkDetlService.updateAnfme(wrkDetl.getAnfme() + wrkDetlOld.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+// recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏂板鏁伴噺锛�" + wrkDetl.getAnfme();
+// adjDetl.setOriQty(wrkDetlOld.getAnfme()); // 鍘熸暟閲�
+// adjDetlService.insert(adjDetl);
+//
+// }
+// else if (wrkDetlOld.getAnfme() == wrkDetl.getAnfme()) {
+// recordRecordLog = recordRecordLog + "\n" + "涓�鏉℃槑缁嗕繚鎸佷笉鍙�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetlOld.getAnfme();
+// continue;
+// }
+ else {
+// throw new CoolException("鎵樼洏鐮�:" + param.getBarcode() + " 鏈煡寮傚父锛岃鑱旂郴绠$悊鍛�");
+ wrkDetlService.updateAnfme(wrkDetl.getAnfme() + wrkDetlOld.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏂板鏁伴噺锛�" + wrkDetl.getAnfme();
+ adjDetl.setOriQty(wrkDetlOld.getAnfme()); // 鍘熸暟閲�
+ adjDetlService.insert(adjDetl);
+ }
+ }
+ log.info(recordRecordLog);
+ }
+
+ @Override
+ public void inventory(CombParam combParam, Boolean aTrue, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(combParam.getBarcode());
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鎵樼洏鐮�:" + combParam.getBarcode() + " 鏃犳湁鏁堝伐浣滄。");
+ }
+ if (wrkMast.getWrkSts() != 14) {
+ throw new CoolException("鐩樼偣鏃犳晥锛屽伐浣滄。" + wrkMast.getWrkNo() + "鏈畬鎴愭垨宸插叆搴�");
+ }
+ if (wrkMast.getIoType() != 107) {
+ throw new CoolException("宸ヤ綔妗�:" + wrkMast.getWrkNo() + " 涓嶆槸鐩樼偣绫诲瀷");
+ }
+
+ List<CombParam.CombMat> combMats = combParam.getCombMats();
+ String recordRecordLog = "鎵樼洏鐮�" + combParam.getBarcode() + "鐩樼偣璁板綍锛�";
+
+ for (CombParam.CombMat wrkDetl : combMats) {
+ WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("matnr", wrkDetl.getMatnr())
+// .eq("batch",Cools.isEmpty(wrkDetl.getBatch())?"":wrkDetl.getBatch())
+ );
+
+ if (Cools.isEmpty(wrkDetlOld)) {
+ WrkDetl detl = new WrkDetl();
+ detl.sync(wrkDetl);
+ detl.setWrkNo(wrkMast.getWrkNo());
+ detl.setZpallet(wrkMast.getBarcode());
+ detl.setIoTime(wrkMast.getIoTime()); //鐩樼偣鏂板鐨勭墿鏂欎繚鎸佸師鏈夌墿鏂欑殑鏃堕棿
+ detl.setWeight(0.0); // 閲嶉噺 鍚庨潰濡傛灉闇�瑕� 鍐嶄慨鏀�
+ detl.setModiUser(userId); // 淇敼浜哄憳
+ detl.setAppeUser(userId); // 娣诲姞浜哄憳
+ wrkDetlService.insert(detl); // 鎻掑叆宸ヤ綔鏄庣粏
+ recordRecordLog = recordRecordLog + "\n" + "鏂板涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetl.getAnfme();
+ }
+
+ // 鏇存柊鏁伴噺
+ else if (!wrkDetlOld.getAnfme().equals(wrkDetl.getAnfme())) {
+ wrkDetlService.updateInventoryAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏇存柊鏁伴噺锛�" + wrkDetl.getAnfme();
+ }
+
+ // 鏁伴噺淇濇寔涓嶅彉
+ else if (wrkDetlOld.getAnfme().equals(wrkDetl.getAnfme())) {
+ recordRecordLog = recordRecordLog + "\n" + "涓�鏉℃槑缁嗕繚鎸佷笉鍙�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetlOld.getAnfme();
+ continue;
+ }
+ }
+ log.info(recordRecordLog);
+ }
}
--
Gitblit v1.9.1