From c51ab886ca899243f36cffe6c1a86d19057d44f5 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 02 十一月 2024 11:18:38 +0800
Subject: [PATCH] 合并代码,解决冲突
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 310 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 86ab33d..721488c 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
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.LocDetlAdjustParam;
@@ -17,6 +18,8 @@
import com.zy.common.model.TaskDto;
import com.zy.common.service.AgvCommonService;
import com.zy.common.web.BaseController;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -69,6 +72,14 @@
private AgvWrkDetlLogService agvWrkDetlLogService;
@Autowired
private WrkMastExecuteService wrkMastExecuteService;
+ @Autowired
+ private ConfigService configService;
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private FlowLogService flowLogService;
+ @Autowired
+ private LocDetlServiceImpl locDetlService;
/*
@@ -94,7 +105,7 @@
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor(),false,false);
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2());
+ AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2(),agvLocMast.getPltType());
//鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
wrkMast.setMk(isConveyor ? "Y" : "N");
//鐢熸垚宸ヤ綔妗f槑缁�
@@ -133,12 +144,13 @@
//String barcode = agvLocDetls.get(0).getSuppCode();
String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
-
+ AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103;
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
//鐢熸垚宸ヤ綔妗f槑缁�
+ long flowId = snowflakeIdWorker.nextId();
taskDto.getLocDtos().forEach(locDto -> {
if (!BaseController.isJSON(locDto.getOrderNo())) {
//鏄庣粏妗f墍闇�鍙傛暟
@@ -153,6 +165,141 @@
locDto.getCsocode(),
locDto.getIsoseq(),
locDto.getProcessSts());
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ AgvLocDetl locDetl = agvLocDetlService.selectItem(wrkMast.getSourceLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+// FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(wrkMast.getSourceLocNo());
+// flowLog.setSpare1(containerCode);
+// flowLog.setOpType(4L);
+// flowLog.setOrderNo(locDto.getOrderNo());
+// flowLog.setThreeCode(locDto.getCsocode());
+// flowLog.setMatnr(locDto.getMatnr());
+// flowLog.setMaktx(locDto.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty() + locDto.getAnfme());
+// flowLog.setQtyChanged(locDto.getAnfme());
+//
+// flowLog.setLocPrevious(locDetl.getAnfme());
+// flowLog.setLocCurrent(locDetl.getAnfme() - locDto.getAnfme());
+// flowLog.setLocChanged(locDto.getAnfme());
+// flowLog.setUserId(userId);
+// flowLog.setAppeTime(now);
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
+
+ }else {
+ List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+ orderDtoList.forEach(orderDto -> {
+ //鏄庣粏妗f墍闇�鍙傛暟
+ createWrkDetlReWrite(locDto.getMatnr(),
+ wrkMast.getWrkNo(),
+ orderDto.getOrderNo(),
+ locDto.getBatch(),
+ orderDto.getAnfme(),
+ locDto.getContainerCode(),
+ now,
+ userId,
+ locDto.getCsocode(),
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
+ });
+ }
+
+
+ //淇敼璁㈠崟淇℃伅
+ modifyOrderDetl(locDto, userId);
+ });
+// //淇敼璁㈠崟淇℃伅
+// modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
+ //鏇存柊婧愮珯鐐逛俊鎭�
+ String locSts = ioType == 101 ? "R" : "P";
+ updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts);
+ //鏇存柊鐩爣绔欑偣鐘舵��
+ //locSts = ioType == 101 ? "S" : "Q";
+ updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S");
+
+ });
+ }
+
+ /*
+ 鍔犲伐鍑哄簱
+ */
+ @Transactional
+ public void processOut(List<TaskDto> agvTaskDtos, Long userId) {
+ Date now = new Date();
+
+ agvTaskDtos.forEach(taskDto -> {
+
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectByTaskDto(taskDto);
+
+ //AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo()));
+
+ //宸ヤ綔妗f墍闇�鍙傛暟
+
+ long wrkSts = 21L;
+ String sourceLocNo = taskDto.getLocNo();
+ String targetLocNo = taskDto.getAgvStaNo();
+ //String barcode = agvLocDetls.get(0).getSuppCode();
+ String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
+
+ AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
+ //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
+ int ioType = 107;
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
+ //鐢熸垚宸ヤ綔妗f槑缁�
+ long flowId = snowflakeIdWorker.nextId();
+ taskDto.getLocDtos().forEach(locDto -> {
+ if (!BaseController.isJSON(locDto.getOrderNo())) {
+ //鏄庣粏妗f墍闇�鍙傛暟
+ createWrkDetlReWrite(locDto.getMatnr(),
+ wrkMast.getWrkNo(),
+ locDto.getOrderNo(),
+ locDto.getBatch(),
+ locDto.getAnfme(),
+ locDto.getContainerCode(),
+ now,
+ userId,
+ locDto.getCsocode(),
+ locDto.getIsoseq(),
+ locDto.getProcessSts());
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ AgvLocDetl locDetl = agvLocDetlService.selectItem(wrkMast.getSourceLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+
+// FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(wrkMast.getSourceLocNo());
+// flowLog.setSpare1(containerCode);
+// flowLog.setOpType(6L);
+// flowLog.setOrderNo(locDto.getOrderNo());
+// flowLog.setThreeCode(locDto.getCsocode());
+// flowLog.setMatnr(locDto.getMatnr());
+// flowLog.setMaktx(locDto.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty() + locDto.getAnfme());
+// flowLog.setQtyChanged(locDto.getAnfme());
+//
+// flowLog.setLocPrevious(locDetl.getAnfme());
+// flowLog.setLocCurrent(locDetl.getAnfme() - locDto.getAnfme());
+// flowLog.setLocChanged(locDto.getAnfme());
+// flowLog.setUserId(userId);
+// flowLog.setAppeTime(now);
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
}else {
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
orderDtoList.forEach(orderDto -> {
@@ -177,11 +324,11 @@
// //淇敼璁㈠崟淇℃伅
// modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
//鏇存柊婧愮珯鐐逛俊鎭�
- String locSts = ioType == 101 ? "R" : "P";
+ String locSts = "R";
updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts);
//鏇存柊鐩爣绔欑偣鐘舵��
//locSts = ioType == 101 ? "S" : "Q";
- updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S");
+ updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S",Short.valueOf(containerCode.substring(0,2)),containerCode);
});
}
@@ -206,10 +353,21 @@
String locNo = agvWrkMast.getLocNo();
agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
agvWrkMast.setSourceLocNo(locNo);
+ agvWrkMast.setModiTime(now);
agvWrkMast.setIoTime(now);
+ agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
agvWrkMastService.updateById(agvWrkMast);
List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ for (AgvWrkDetl agvWrkDetl : agvWrkDetlList) {
+ agvWrkDetl.setIoTime(now);
+ boolean bl = agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+ .eq("wrk_no", agvWrkDetl.getWrkNo())
+ .eq("matnr",agvWrkDetl.getMatnr())
+ .eq("order_no",agvWrkDetl.getOrderNo())
+ .eq("three_code",agvWrkDetl.getThreeCode()));
+// .eq("dead_time",agvWrkDetl.getDeadTime()));
+ }
AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
//List<AgvLocDetl> agvLocDetlList = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
@@ -266,7 +424,7 @@
int containerType = getContainerTypeByloc(taskDto.getLocNo());
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType);
+ AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType,null);
//鐢熸垚宸ヤ綔妗f槑缁�
taskDto.getLocDtos().forEach(locDto -> {
//鏄庣粏妗f墍闇�鍙傛暟
@@ -309,7 +467,7 @@
Date now = new Date();
//鐢熸垚绉诲簱宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
+ AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo),targetLocMast.getPltType());
//鐢熸垚宸ヤ綔鍏氭槑缁�
createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
//淇敼鐩爣搴撲綅鐘舵��
@@ -357,7 +515,7 @@
br = 2;
}
if (agvBasDevp.getLocType1() != br) {
- throw new CoolException("绔欑偣寮傚父锛�");
+ throw new CoolException("绔欑偣绫诲瀷鍜岃揣鏋剁被鍨嬩笉绗︼紒");
}
if (containerType == 40) {
locType = 5;
@@ -365,6 +523,8 @@
locType = 4;
} else if (containerType == 20 && agvBasDevp.getFloor() == 3) {
locType = 2;
+ } else if (containerType == 30) {
+ locType = 3;
} else {
locType = agvBasDevp.getLocType1();
}
@@ -382,6 +542,11 @@
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast agvLocMast = new AgvLocMast();
+ //鏌ヨ搴撳瓨
+ AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("barcode", containerCode));
+ if (!Cools.isEmpty(locMast)) {
+ throw new CoolException("褰撳墠璐ф灦宸插湪搴撳瓨涓紝鏃犳硶杩涜鍏ュ簱");
+ }
//鏌ヨ鍏ュ簱閫氱煡妗�
List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectByContainerCode(containerCode);
@@ -394,20 +559,36 @@
}
}
});
- if (isCurrLev.get()) {
- agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+
+
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "elevatorTasks"));
+ if (Cools.isEmpty(config)) {
+ if (isCurrLev.get()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
} else {
- agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
+ if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ if (isCurrLev.get()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
+ //agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
}
-
-
String devNo = agvBasDevp.getDevNo();
String locNo = agvLocMast.getLocNo();
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType);
+ AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType,agvLocMast.getPltType());
//鐢熸垚宸ヤ綔妗f槑缁�
+ long flowId = snowflakeIdWorker.nextId();
agvWaitPakinList.forEach(wp -> {
createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
});
@@ -416,9 +597,14 @@
//鏇存柊婧愮珯鐐圭姸鎬�
updateAgvBasDevp(agvBasDevp,"R",containerType);
}else {
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast1 = agvWrkMastService.selectByContainerCode(containerCode);
+ if (!Cools.isEmpty(agvWrkMast1)) {
+ throw new CoolException("褰撳墠璐ф灦宸叉湁鍏ュ簱浠诲姟锛屾棤娉曡繘琛屽叆搴�");
+ }
agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),true,true);
// 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱
- createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType);
+ createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType,agvLocMast.getPltType());
//鏇存柊婧愮珯鐐圭姸鎬�
updateAgvBasDevp(agvBasDevp,"R",containerType,containerCode);
}
@@ -440,6 +626,10 @@
if(!agvBasDevp.getLocSts().equals("O")){
throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍑哄簱");
}
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvBasDevp.getDevNo()));
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("鏈夎揣鏋跺湪寰�绔欑偣鎼繍" + agvBasDevp.getDevNo()+",鏃犳硶杩涜绌烘澘鍑哄簱");
+ }
//瀵绘壘鐩稿簲绫诲瀷鐨勭┖璐ф灦
AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType,agvBasDevp.getFloor());
@@ -453,7 +643,7 @@
throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
}
//鐢熸垚宸ヤ綔妗�
- createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType);
+ createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType,agvLocMast.getPltType());
//淇敼婧愬簱浣嶇姸鎬�
updateAgvLocMast(agvLocMast,"R");
@@ -489,10 +679,10 @@
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 (!locDetl.getAnfme().equals(adjust.getCount())) {
+ if (!locDetl.getAnfme().equals(adjust.getCount()) || !locDetl.getProcessSts().equals(adjust.getProcessSts())) {
// todo 鐩樼偣璁板綍
// 淇敼搴撳瓨
- if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!agvLocDetlService.updateAnfmeProcess(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),adjust.getProcessSts())) {
throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -523,7 +713,7 @@
// 鍒犻櫎搴撳瓨
for (AgvLocDetl locDetl : locDetls) {
// todo 鐩樼偣璁板綍
- if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!agvLocDetlService.updateAnfmeProcess(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getProcessSts())) {
throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -606,7 +796,9 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
-
+ if (wrkMast.getIoType() == 113 && (wrkMast.getWrkSts() != 212L || wrkMast.getWrkSts() != 213L || wrkMast.getWrkSts() != 214L)) {
+ throw new CoolException(workNo+"涓嶆敮鎸佹墜鍔ㄧ淮鎶�");
+ }
if (wrkMast.getIoType()==121){
if (wrkMast.getWrkSts()<12L){
agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"鎵嬪姩瀹屾垚",userId);
@@ -648,6 +840,7 @@
@Transactional
public void cancelWrkMast(String workNo, Long userId,Integer type) {
AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo);
+ long flowId = snowflakeIdWorker.nextId();
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
@@ -713,9 +906,37 @@
// 鍥炴粴鍏ュ簱璁㈠崟
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvWaitPakin.getThreeCode()).eq("matnr", agvWaitPakin.getMatnr()).eq("order_no", agvWaitPakin.getOrderNo()));
orderDetl.setQty(orderDetl.getQty() - agvWaitPakin.getAnfme());
+
if (!orderDetlService.updateById(orderDetl)) {
throw new CoolException("璁㈠崟鍥炴粴澶辫触");
}
+// FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(locNo);
+// flowLog.setSpare1(wrkMast.getBarcode());
+// flowLog.setOpType(3L);
+// flowLog.setOrderNo(agvWaitPakin.getOrderNo());
+// flowLog.setThreeCode(agvWaitPakin.getThreeCode());
+// flowLog.setMatnr(agvWaitPakin.getMatnr());
+// flowLog.setMaktx(agvWaitPakin.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty()-agvWaitPakin.getAnfme());
+// flowLog.setQtyChanged(-agvWaitPakin.getAnfme());
+//
+// flowLog.setLocPrevious(0.0);
+// flowLog.setLocCurrent(0.0);
+// flowLog.setLocChanged(-agvWaitPakin.getAnfme());
+//
+// flowLog.setUserId(userId);
+// flowLog.setAppeTime(new Date());
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
// 鍒犻櫎缁勬墭妗�
if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSuppCode()).eq("matnr",agvWaitPakin.getMatnr()).eq("three_code",agvWaitPakin.getThreeCode()))) {
throw new CoolException("鍏ュ簱閫氱煡妗e彇娑堝け璐�");
@@ -735,18 +956,50 @@
String targetLocNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ // 婧愬簱浣� 搴撲綅涓绘。
+ AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
// 褰撳墠浠诲姟鏄法灞傜Щ搴� 涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
- if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) {
+ if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1 && sourceLocMast.getFloor() != 1) {
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
if (!orderDetlService.updateById(orderDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
}
+// FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(locNo);
+// flowLog.setSpare1(wrkMast.getBarcode());
+// flowLog.setOpType(8L);
+// flowLog.setOrderNo(agvLocDetl.getOrderNo());
+// flowLog.setThreeCode(agvLocDetl.getThreeCode());
+// flowLog.setMatnr(agvLocDetl.getMatnr());
+// flowLog.setMaktx(agvLocDetl.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty() + agvLocDetl.getAnfme());
+// flowLog.setQtyChanged(-agvLocDetl.getAnfme());
+//
+// flowLog.setLocPrevious(0.0);
+// flowLog.setLocCurrent(agvLocDetl.getAnfme());
+// flowLog.setLocChanged(agvLocDetl.getAnfme());
+//
+// flowLog.setUserId(userId);
+// flowLog.setAppeTime(new Date());
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
}
+ } else {
+
}
+
// 鑷姩璋冩嫧鍑哄簱鍙栨秷
} else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111 || wrkMast.getIoType() == 112) {
if (wrkMast.getIoType() == 112) {
@@ -781,6 +1034,33 @@
if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
}
+// FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(locNo);
+// flowLog.setSpare1(wrkMast.getBarcode());
+// flowLog.setOpType(9L);
+// flowLog.setOrderNo(agvLocDetl.getOrderNo());
+// flowLog.setThreeCode(agvLocDetl.getThreeCode());
+// flowLog.setMatnr(agvLocDetl.getMatnr());
+// flowLog.setMaktx(agvLocDetl.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty() - agvLocDetl.getAnfme());
+// flowLog.setQtyChanged(- agvLocDetl.getAnfme());
+//
+// flowLog.setLocPrevious(0.0);
+// flowLog.setLocCurrent(agvLocDetl.getAnfme());
+// flowLog.setLocChanged(agvLocDetl.getAnfme());
+//
+// flowLog.setUserId(userId);
+// flowLog.setAppeTime(new Date());
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
}
//鍑哄簱鍙栨秷
} else {
@@ -805,6 +1085,7 @@
}
}else {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
}
} else if (wrkMast.getIoType() == 113) {
@@ -824,7 +1105,7 @@
}
- if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
+ if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
//璁㈠崟鍥炴粴
//List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -945,6 +1226,7 @@
wrkDetl.setAppeTime(now);
wrkDetl.setModiUser(userId);
wrkDetl.setModiTime(now);
+
wrkDetl.setThreeCode(csocode);
wrkDetl.setDeadTime(isoseq);
if (!agvWrkDetlService.insert(wrkDetl)) {
@@ -984,7 +1266,7 @@
/*
鐢熸垚宸ヤ綔妗�
*/
- private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType){
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType,Integer pltType){
AgvWrkMast wrkMast = new AgvWrkMast();
//宸ヤ綔鐘舵��
wrkMast.setWrkSts(wrkSts);
@@ -1006,6 +1288,8 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ wrkMast.setPltType(pltType);
+ wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
if (!agvWrkMastService.insertByIncrease(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -1091,9 +1375,11 @@
}
if (wrkMast.getIoType() == 108) {
wrkMast.setIoType(111);
+ wrkMast.setModiTime(new Date());
agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
} else if(wrkMast.getIoType() == 111) {
wrkMast.setIoType(108);
+ wrkMast.setModiTime(new Date());
agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
}
--
Gitblit v1.9.1