From ab14726215678ac69adfeafbd845ebc5b0776ea2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:56:41 +0800
Subject: [PATCH] 优化订单同步逻辑及库位查找
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 232 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 123 insertions(+), 109 deletions(-)
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 ca66f9c..203accb 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -135,9 +135,9 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
List<DetlDto> detlDtos = new ArrayList<>();
param.getList().forEach(elem -> {
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(), elem.getContainerCode());
if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
+ DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCsocode(), detlDto.getIsoseq(), detlDto.getContainerCode());
assert detlDto1 != null;
detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme());
} else {
@@ -149,20 +149,20 @@
sourceStaNo.setWrkNo(workNo);
sourceStaNo.setModiUser(userId);
sourceStaNo.setModiTime(now);
- if (!basDevpService.updateById(sourceStaNo)){
+ if (!basDevpService.updateById(sourceStaNo)) {
throw new CoolException("鏇存柊婧愮珯澶辫触");
}
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
- if (locMast.getLocSts().equals("O")){
+ if (locMast.getLocSts().equals("O")) {
locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
locMast.setModiUser(userId);
locMast.setModiTime(now);
- if (!locMastService.updateById(locMast)){
+ if (!locMastService.updateById(locMast)) {
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
return dto.getLocNo();
}
@@ -171,24 +171,24 @@
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
ArrayList<String> locNos = new ArrayList<>();
- for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
- if (!locNos.contains(locDetl.getLocNo())){
+ for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
+ if (!locNos.contains(locDetl.getLocNo())) {
locNos.add(locDetl.getLocNo());
}
}
//妫�娴嬫槸鍚︿负娴呭簱浣�
- boolean sign=false;
+ boolean sign = false;
String th = "";
- for (String locNo:locNos){
- if (sign){
+ for (String locNo : locNos) {
+ if (sign) {
break;
}
//妫�娴嬪嚭搴撶殑璐х墿涓槸鍚︽湁鐘舵�佷负绂佹鐨勮揣鐗┿��
for (LocDetl locDetl : locDetlService.selectByLocNo(locNo)) {
if (locDetl.getStockFreeze() == 0) {
- th="搴撲綅鍙凤細"+locNo+" 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
- throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ th = "搴撲綅鍙凤細" + locNo + " 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
+ throw new CoolException("鍑哄簱澶辫触锛�" + th);
}
Mat mat = matService.selectByMatnr(locDetl.getMatnr());
@@ -196,30 +196,30 @@
continue;
}
if (mat.getStatus() == 0) {
- th="搴撲綅鍙凤細"+locNo+" 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
- throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ th = "搴撲綅鍙凤細" + locNo + " 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
+ throw new CoolException("鍑哄簱澶辫触锛�" + th);
}
}
List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
if (!Cools.isEmpty(groupOuterLoc)) {
for (String outerLoc : groupOuterLoc) {
- if (locNos.contains(outerLoc)){
+ if (locNos.contains(outerLoc)) {
continue;
}
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc));
if (locMast != null) {
- if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){
- sign=true;
- th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
+ sign = true;
+ th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
break;
}
}
}
}
}
- if (sign){
- throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ if (sign) {
+ throw new CoolException("鍑哄簱澶辫触锛�" + th);
}
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
@@ -238,6 +238,7 @@
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
}
+
/**
* 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
*/
@@ -247,6 +248,7 @@
}
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
+
/**
* 閫氳繃搴撲綅鍙疯幏鍙� 鍒�
*/
@@ -256,6 +258,7 @@
}
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
+
/**
* 閫氳繃搴撲綅鍙疯幏鍙� 灞�
*/
@@ -290,7 +293,7 @@
ArrayList<String> outerLocs = new ArrayList<>();
//妫�娴嬫槸鍚︿负娴呭簱浣�
- boolean sign=false;
+ boolean sign = false;
String th = "";
for (String locNo : locNos) {
if (sign) {
@@ -336,7 +339,7 @@
//**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜**************
HashMap<String, Object> tmpMap = new HashMap<>();
if (staNo.getDevNo() == 325 || staNo.getDevNo() == 331 || staNo.getDevNo() == 333 || staNo.getDevNo() == 339) {
- int[] data = {325,331,333,339};
+ int[] data = {325, 331, 333, 339};
for (String locNo : locNos) {
List<String> groupOuterLoc = Utils.getGroupDeepLoc(locNo);
if (groupOuterLoc.isEmpty()) {
@@ -407,8 +410,9 @@
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13
- wrkMast.setOutMost(outMost?1:0);;
- wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
+ wrkMast.setOutMost(outMost ? 1 : 0);
+ ;
+ wrkMast.setCrnNo(outMost ? outCrnNo : locMast.getCrnNo());
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(stnNo); // 鐩爣绔�
wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
@@ -423,17 +427,19 @@
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
if (!wrkMastService.insert(wrkMast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
+ if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
+ continue;
+ }
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(detlDto.getLocDetl());
wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(now);
- Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
+ Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
wrkDetl.setAnfme(anfme); // 鏁伴噺
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
@@ -446,11 +452,11 @@
// 淇敼搴撲綅鐘舵��: 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" : "P");
locMast.setModiUser(userId);
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
- throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo());
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo());
}
} else {
throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
@@ -500,11 +506,12 @@
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
Double ioPri = wrkMastService.getIoPri(ioType, taskDto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13
- wrkMast.setOutMost(outMost?1:0);;
- wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
+ wrkMast.setOutMost(outMost ? 1 : 0);
+ wrkMast.setCrnNo(outMost ? outCrnNo : locMast.getCrnNo());
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(stnNo); // 鐩爣绔�
- if(ioType == 101 && taskDto.getStaNo()>=300){
+ wrkMast.setPltType(locMast.getPltType());
+ if (ioType == 101 && taskDto.getStaNo() >= 300) {
wrkMast.setSourceStaNo(346); // 婧愮珯
wrkMast.setStaNo(346); // 鐩爣绔�
}
@@ -520,11 +527,13 @@
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
if (!wrkMastService.insert(wrkMast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo());
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
- if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
+ if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
+ continue;
+ }
LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getContainerCode());
if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) {
throw new CoolException(locDto.getLocNo() + "搴撲綅涓�" + locDto.getMatnr() + "鍟嗗搧搴撳瓨涓嶈冻锛�");
@@ -539,6 +548,7 @@
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setWeight(locDto.getWeight());
wrkDetl.setOrderNo(locDto.getOrderNo());
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
wrkDetl.setAppeTime(now);
@@ -553,7 +563,7 @@
}
//琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗�
generateAgvWaitpakin(wrkDetl);
- }else {
+ } else {
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
orderDtoList.forEach(orderDto -> {
WrkDetl wrkDetl = new WrkDetl();
@@ -562,6 +572,7 @@
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setWeight(locDto.getWeight());
wrkDetl.setOrderNo(orderDto.getOrderNo());
wrkDetl.setAnfme(orderDto.getAnfme()); // 鏁伴噺
wrkDetl.setAppeTime(now);
@@ -581,11 +592,11 @@
// 淇敼璁㈠崟鏄庣粏
if (!BaseController.isJSON(locDto.getOrderNo())) {
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null, locDto.getCsocode(), locDto.getIsoseq());
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq())) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(), locDto.getCsocode(), locDto.getIsoseq())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -599,20 +610,20 @@
Double orderAnfme;
for (OrderDto orderDto : orderDtoList) {
- OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
+ OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
+ orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null, locDto.getCsocode(), locDto.getIsoseq());
}
orderAnfme = orderDetl.getAnfme() - orderDetl.getQty();
- if(locAnfme > orderAnfme){
+ if (locAnfme > orderAnfme) {
locAnfme -= orderAnfme;
- }else {
+ } else {
orderAnfme = locAnfme;
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme,orderDetl.getThreeCode(),orderDetl.getDeadTime())) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme, orderDetl.getThreeCode(), orderDetl.getDeadTime())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -622,11 +633,11 @@
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
if (locMast.getLocSts().equals("F")) {
- locMast.setLocSts(ioType==101?"R":"P");
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
locMast.setModiUser(userId);
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
- throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo());
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo());
}
} else {
throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
@@ -650,7 +661,8 @@
wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
Double ioPri = wrkMastService.getIoPri(10, dto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細10
- wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true) ? 1 : 0);
+ ;
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -674,20 +686,20 @@
sourceStaNo.setWrkNo(workNo);
sourceStaNo.setModiUser(userId);
sourceStaNo.setModiTime(new Date());
- if (!basDevpService.updateById(sourceStaNo)){
+ if (!basDevpService.updateById(sourceStaNo)) {
throw new CoolException("鏇存柊婧愮珯澶辫触");
}
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
- if (locMast.getLocSts().equals("O")){
+ if (locMast.getLocSts().equals("O")) {
locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
locMast.setModiUser(userId);
locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)){
+ if (!locMastService.updateById(locMast)) {
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
return dto.getLocNo();
}
@@ -697,31 +709,31 @@
public void emptyPlateOut(EmptyPlateOutParam param, Long userId) {
List<String> locNos = param.getLocNos();
//妫�娴嬫槸鍚︿负娴呭簱浣�
- boolean sign=false;
+ boolean sign = false;
String th = "";
- for (String locNo:locNos){
- if (sign){
+ for (String locNo : locNos) {
+ if (sign) {
break;
}
List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo);
if (!Cools.isEmpty(groupInnerLoc)) {
for (String insideLoc : groupInnerLoc) {
- if (locNos.contains(insideLoc)){
+ if (locNos.contains(insideLoc)) {
continue;
}
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
if (locMast != null) {
- if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){
- sign=true;
- th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
+ sign = true;
+ th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
break;
}
}
}
}
}
- if (sign){
- throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ if (sign) {
+ throw new CoolException("鍑哄簱澶辫触锛�" + th);
}
if (Cools.isEmpty(param.getOutSite())) {
throw new CoolException("绔欑偣涓嶅瓨鍦�");
@@ -739,14 +751,12 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
- throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
+ throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
}
Boolean outMost = locMastService.isOutMost(locNo, false);
Integer outCrnNo = locMastService.getOutCrnNo(locMast);
// 鑾峰彇婧愮珯
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
- .eq("type_no", 110)
- .eq("stn_no", param.getOutSite());
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>().eq("type_no", 110).eq("stn_no", param.getOutSite());
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
throw new CoolException("闈炴硶璺緞锛�");
@@ -765,8 +775,9 @@
wrkMast.setIoPri(ioPri);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
- wrkMast.setOutMost(outMost?1:0);;
- wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
+ wrkMast.setOutMost(outMost ? 1 : 0);
+ ;
+ wrkMast.setCrnNo(outMost ? outCrnNo : locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
@@ -782,7 +793,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
- if (locMast.getLocSts().equals("D")){
+ if (locMast.getLocSts().equals("D")) {
locMast.setLocSts("R");
locMast.setModiUser(userId);
locMast.setModiTime(new Date());
@@ -802,7 +813,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getSuppCode());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getSuppCode());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -819,11 +830,11 @@
public void locMove(String sourceLocNo, String locNo, Long userId) {
LocMast sourceLoc = locMastService.selectById(sourceLocNo);
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
- if (Cools.isEmpty(sourceLoc)){
+ if (Cools.isEmpty(sourceLoc)) {
throw new CoolException("鏈壘鍒板簱浣�");
}
LocMast loc = locMastService.selectById(locNo);
- if (Cools.isEmpty(loc)){
+ if (Cools.isEmpty(loc)) {
throw new CoolException("鏈壘鍒板簱浣�");
}
if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
@@ -839,14 +850,15 @@
wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
wrkMast.setIoPri(10D);
- wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
+ wrkMast.setOutMost(locMastService.isOutMost(locNo, false) ? 1 : 0);
+ ;
wrkMast.setCrnNo(sourceLoc.getCrnNo());
wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
- wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒
+ wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
- wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
wrkMast.setBarcode(sourceLoc.getBarcode()); // 璐ф灦鐮�
wrkMast.setLinkMis("N");
wrkMast.setAppeUser(userId);
@@ -877,11 +889,11 @@
sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
sourceLoc.setModiUser(userId);
sourceLoc.setModiTime(now);
- if (!locMastService.updateById(sourceLoc)){
+ if (!locMastService.updateById(sourceLoc)) {
throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
}
} else {
- throw new CoolException(sourceLoc.getLocNo() + "婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$());
+ throw new CoolException(sourceLoc.getLocNo() + "婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLoc.getLocSts$());
}
// 淇敼鐩爣搴撲綅鐘舵��
if (loc.getLocSts().equals("O")) {
@@ -892,7 +904,7 @@
throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$());
+ throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細" + loc.getLocSts$());
}
}
@@ -900,8 +912,8 @@
@Transactional
public void completeWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
if (wrkMast.getIoType() == 200) {
@@ -914,7 +926,7 @@
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
wrkMast.setWrkSts(9L);
// 鍑哄簱
} else if (wrkMast.getWrkSts() > 20) {
@@ -957,12 +969,14 @@
Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator();
while (iterator1.hasNext()) {
LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
- if (adjust.getCount() == 0) { continue; }
- if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) {
+ if (adjust.getCount() == 0) {
+ continue;
+ }
+ if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(), adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(), adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(), adjust.getDeadTime())) {
if (!locDetl.getAnfme().equals(adjust.getCount())) {
// todo 鐩樼偣璁板綍
// 淇敼搴撳瓨
- if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getSuppCode(), locDetl.getThreeCode(), locDetl.getDeadTime())) {
throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -992,7 +1006,7 @@
// 鍒犻櫎搴撳瓨
for (LocDetl locDetl : locDetls) {
// todo 鐩樼偣璁板綍
- if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getSuppCode(), locDetl.getThreeCode(), locDetl.getDeadTime())) {
throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -1013,7 +1027,9 @@
// 娣诲姞搴撳瓨
for (LocDetlAdjustParam.LocDetlAdjust adjust : list) {
- if (adjust.getCount() == 0.0D) { continue; }
+ if (adjust.getCount() == 0.0D) {
+ continue;
+ }
Mat mat = matService.selectByMatnr(adjust.getMatnr());
LocDetl locDetl = new LocDetl();
locDetl.sync(mat);
@@ -1071,8 +1087,8 @@
@Transactional
public void cancelWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
if (wrkMast.getIoType() == 200) {
@@ -1093,29 +1109,29 @@
// 搴撲綅杞Щ锛氭簮搴撲綅
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
}
locMast.setLocSts("F");
locMast.setModiTime(new Date());
locMast.setModiUser(userId);
locMastService.updateById(locMast);
}
- // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
+ // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
} else if (wrkMast.getWrkSts() > 20) {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
locSts = "F";
- // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
+ // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
locSts = "D";
- // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+ // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 11) {
- locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F";
+ locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
// 搴撲綅杞Щ锛氱洰鏍囧簱浣�
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo());
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
}
locMast.setLocSts("O");
locMast.setModiTime(new Date());
@@ -1132,7 +1148,7 @@
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme(),wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
+ if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme(), wrkDetl.getThreeCode(), wrkDetl.getDeadTime())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
} else {
@@ -1146,14 +1162,14 @@
List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
for (OrderDto orderDto : orderDtoList) {
- if(wrkDetlAnfme > orderDto.getAnfme()){
+ if (wrkDetlAnfme > orderDto.getAnfme()) {
orderAnfme = orderDto.getAnfme();
wrkDetlAnfme -= orderAnfme;
- }else {
+ } else {
orderAnfme = wrkDetlAnfme;
}
- if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderAnfme,wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
+ if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderAnfme, wrkDetl.getThreeCode(), wrkDetl.getDeadTime())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
}
@@ -1187,7 +1203,7 @@
// 淇敼搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
}
locMast.setLocSts(locSts);
locMast.setModiTime(new Date());
@@ -1202,8 +1218,8 @@
@Transactional
public void pickWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
// 鍏ュ嚭搴撶被鍨嬪垽鏂�
if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
@@ -1222,9 +1238,7 @@
throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
}
// 鑾峰彇鐩爣绔�
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
- .eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>().eq("type_no", wrkMast.getIoType() - 50).eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
@@ -1268,25 +1282,25 @@
return "";
}
- private void generateAgvWaitpakin(WrkDetl wrkDetl){
+ private void generateAgvWaitpakin(WrkDetl wrkDetl) {
String orderNo = wrkDetl.getOrderNo();
- if(orderNo.contains("{")){
+ if (orderNo.contains("{")) {
JSONArray orderArray = JSON.parseArray(orderNo);
- for (Object o : orderArray){
+ for (Object o : orderArray) {
JSONObject jsonobject = (JSONObject) o;
Order order = orderService.selectByNo(jsonobject.get("orderNo").toString());
DocType docType = docTypeService.selectById(order.getDocType());
- if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+ if ("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())) {
throw new CoolException("鍚堝苟鍗曟嵁涓寘鍚汉宸ヨˉ璐у崟锛屽崟鎹负: " + jsonobject.get("orderNo"));
}
}
- }else {
+ } else {
Order order = orderService.selectByNo(orderNo);
DocType docType = docTypeService.selectById(order.getDocType());
- if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+ if ("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())) {
AgvWaitPakin agvWaitPakin = new AgvWaitPakin();
- BeanUtils.copyProperties(wrkDetl,agvWaitPakin);
+ BeanUtils.copyProperties(wrkDetl, agvWaitPakin);
agvWaitPakinService.insert(agvWaitPakin);
}
}
--
Gitblit v1.9.1