From 1a8e7f30035b45771d05cd4cc99aae2743576112 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 17 五月 2024 00:16:46 +0800 Subject: [PATCH] # 手动调拨 --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 732 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 629 insertions(+), 103 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 f5ea49e..a5cd6e2 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -1,24 +1,31 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.LocDetlAdjustParam; +import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.service.*; +import com.zy.asrs.utils.Utils; import com.zy.common.model.LocDto; import com.zy.common.model.OrderDto; import com.zy.common.model.StartupDto; import com.zy.common.model.TaskDto; -import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.AgvCommonService; import com.zy.common.web.BaseController; +import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; /** @@ -38,7 +45,7 @@ @Autowired private AgvBasDevpService agvBasDevpService; @Autowired - private AgvLocMastService agvLockMastService; + private AgvLocMastService agvLocMastService; @Autowired private AgvLocDetlService agvLocDetlService; @Autowired @@ -53,13 +60,20 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; + @Autowired + private AdjDetlService adjDetlService; + @Autowired + private AgvWrkMastLogService agvWrkMastLogService; + @Autowired + private AgvWrkDetlLogService agvWrkDetlLogService; /* 鍏ュ簱 */ @Transactional - public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId) { + @Synchronized + public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) { Date now = new Date(); @@ -72,17 +86,17 @@ throw new CoolException("閫変腑鐨勭珯鐐逛腑鍚湁璐т綅鐘舵�佷笉涓篎.鍦ㄥ簱鐨勭珯鐐癸紝璇烽噸鏂伴�夋嫨"); } - List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("zpallet", agvBasDevp.getBarcode())); + List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", agvBasDevp.getBarcode())); //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast agvLocMast = agvCommonService.getLocNo(agvWaitPakinList, agvBasDevp.getFloor()); + AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor()); //鐢熸垚宸ヤ綔妗� - //AgvWrkMast wrkMast = createWrkMast(agvBasDevp, agvLocMast, now, userId); - AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId); + AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2()); + //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱 + wrkMast.setMk(isConveyor ? "Y" : "N"); //鐢熸垚宸ヤ綔妗f槑缁� - //createWrkDetlReWrite(agvWaitPakinList,wrkMast,userId); agvWaitPakinList.forEach(wp -> { - createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getZpallet(),now,userId); + createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime()); }); //鏇存柊婧愮珯鐐逛俊鎭� updateAgvBasDevp(agvBasDevp,"R"); @@ -104,31 +118,62 @@ agvTaskDtos.forEach(taskDto -> { - AgvLocMast agvLocMast = agvLockMastService.selectById(taskDto.getLocNo()); - AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo())); + List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectByTaskDto(taskDto); + + //AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo())); //宸ヤ綔妗f墍闇�鍙傛暟 - double anfme = taskDto.getLocDtos().get(0).getAnfme(); + long wrkSts = 21L; String sourceLocNo = taskDto.getLocNo(); String targetLocNo = taskDto.getAgvStaNo(); - String barcode = agvLocDetl.getZpallet(); - //鏄庣粏妗f墍闇�鍙傛暟 - String mantr = taskDto.getLocDtos().get(0).getMatnr(); - String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); - String batch = taskDto.getLocDtos().get(0).getBatch(); + //String barcode = agvLocDetls.get(0).getSuppCode(); + String containerCode = taskDto.getLocDtos().get(0).getContainerCode(); + //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱 - int ioType = isPakOut(sourceLocNo,anfme) ? 101 : 103; + int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103; //鐢熸垚宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId); + AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2))); //鐢熸垚宸ヤ綔妗f槑缁� - createWrkDetlReWrite(mantr,wrkMast.getWrkNo(),orderNo,batch,anfme,barcode,now,userId); - //淇敼璁㈠崟淇℃伅 - modifyOrderDetl(taskDto.getLocDtos().get(0), userId); + 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()); + }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()); + }); + } + + //淇敼璁㈠崟淇℃伅 + modifyOrderDetl(locDto, userId); + }); +// //淇敼璁㈠崟淇℃伅 +// modifyOrderDetl(taskDto.getLocDtos().get(0), userId); //鏇存柊婧愮珯鐐逛俊鎭� String locSts = ioType == 101 ? "R" : "P"; - updateAgvLocMast(agvLockMastService.selectById(sourceLocNo),locSts); + updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts); //鏇存柊鐩爣绔欑偣鐘舵�� //locSts = ioType == 101 ? "S" : "Q"; updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S"); @@ -141,33 +186,500 @@ public void pickIn(List<AgvWrkMast> agvWrkMastList){ Date now = new Date(); agvWrkMastList.forEach(agvWrkMast -> { + + //淇濆瓨鎷f枡鍑哄簱鐨勫伐浣滄。鍜屾槑缁� + agvWrkMastLogService.save(agvWrkMast); + agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); + //淇敼宸ヤ綔鍏� agvWrkMast.setWrkSts(201L); - agvWrkMast.setIoType(53); + + //鏍规嵁鍑哄簱绫诲瀷 璁剧疆鍏ュ簱绫诲瀷 53鎷f枡鍏ュ簱 57鐩樼偣鍏ュ簱 + int ioType = agvWrkMast.getIoType() == 103 ? 53 : 57; + + agvWrkMast.setIoType(ioType); String locNo = agvWrkMast.getLocNo(); agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo()); agvWrkMast.setSourceLocNo(locNo); agvWrkMast.setIoTime(now); agvWrkMastService.updateById(agvWrkMast); - AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo())); - AgvLocMast agvLocMast = agvLockMastService.selectById(agvWrkMast.getLocNo()); - AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo())); + List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo())); + 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()); - //淇敼宸ヤ綔鍏氭槑缁� - agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme()); - agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo())); - //淇敼搴撳瓨淇℃伅 - agvLocDetl.setAnfme(agvWrkDetl.getAnfme()); - agvLocDetlService.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocDetl.getLocNo())); + + //鎷f枡鍏ュ簱 + if(ioType == 53){ + //淇敼宸ヤ綔鍏氭槑缁� + //agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme()); + //agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo())); + //淇敼搴撳瓨淇℃伅 + agvWrkDetlList.forEach(agvWrkDetl -> { + AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime()); + + //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); + double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme(); + agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime()); + }); + } //淇敼搴撲綅淇℃伅 - agvLocMast.setLocSts("Q"); - agvLockMastService.selectById(agvLocMast); + updateAgvLocMast(agvLocMast,"Q"); //淇敼绔欑偣淇℃伅 - agvBasDevp.setLocSts("R"); - agvBasDevpService.updateById(agvBasDevp); + updateAgvBasDevp(agvBasDevp,"R"); }); + } + + /* + 鐩樼偣鍑哄簱 + */ + @Transactional + public void locCheckOut(StockOutParam param, Long userId) { + String station = param.getStation(); + + List<TaskDto> taskDtos = new ArrayList<>(); + param.getLocDetls().forEach(locDetl -> { + LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode()); + TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto); + if(TaskDto.has(taskDtos,taskDto)){ + TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto); + }else { + taskDtos.add(taskDto); + } + }); + + Date now = new Date(); + taskDtos.forEach(taskDto -> { + + //鍒ゆ柇鏄惁鏈夐噸澶嶆枡鎯崇殑宸ヤ綔褰� + AgvWrkMast agvWrkMastList = agvWrkMastService.selectByContainerCode(taskDto.getLocDtos().get(0).getContainerCode()); + if(!Cools.isEmpty(agvWrkMastList)){ + return; + } + + int containerType = getContainerTypeByloc(taskDto.getLocNo()); + + //鐢熸垚宸ヤ綔妗� + AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType); + //鐢熸垚宸ヤ綔妗f槑缁� + taskDto.getLocDtos().forEach(locDto -> { + //鏄庣粏妗f墍闇�鍙傛暟 + createWrkDetlReWrite(locDto.getMatnr(), + wrkMast.getWrkNo(), + locDto.getOrderNo(), + locDto.getBatch(), + locDto.getAnfme(), + locDto.getContainerCode(), + now, + userId, + locDto.getCsocode(), + locDto.getIsoseq()); + }); + updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P"); + //鏇存柊鐩爣绔欑偣鐘舵�� + //locSts = ioType == 101 ? "S" : "Q"; + updateAgvBasDevp(agvBasDevpService.selectById(wrkMast.getLocNo()),"S"); + }); + + } + + /* + 搴撲綅绉昏浆 + */ + @Transactional + public void locMove(String sourceLocNo, String targetLocNo, Long userId) { + AgvLocMast sourceLocMast = agvLocMastService.selectById(sourceLocNo); + AgvLocMast targetLocMast = agvLocMastService.selectById(targetLocNo); + AgvLocDetl sourceLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocMast.getLocNo())); + + if(!sourceLocMast.getLocSts().equals("F")){ + throw new CoolException(sourceLocMast.getLocNo() + "婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLocMast.getLocSts$()); + } + if(!targetLocMast.getLocSts().equals("O")){ + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+targetLocMast.getLocSts$()); + } + + Date now = new Date(); + + //鐢熸垚绉诲簱宸ヤ綔妗� + AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo)); + //鐢熸垚宸ヤ綔鍏氭槑缁� + createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime()); + //淇敼鐩爣搴撲綅鐘舵�� + updateAgvLocMast(targetLocMast,"S"); + //淇敼鍘熷簱浣嶇姸鎬� + updateAgvLocMast(sourceLocMast,"R"); + } + + /* + 鍏ュ簱 + */ + @Transactional + public String emptyPlateIn(String station,String containerCode,Short containerType, Long userId, boolean emptyAutoIn) { + + Date now = new Date(); + + Short locType = 0; + + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station); + if (Cools.isEmpty(agvBasDevp)) { + throw new CoolException("鏆傛棤"+ station + "绔欑偣"); + } + if (containerType == 40) { + locType = 5; + } else if (containerType == 21 && agvBasDevp.getFloor() == 3) { + locType = 4; + } else if (containerType == 20 && agvBasDevp.getFloor() == 3) { + locType = 2; + } else { + locType = agvBasDevp.getLocType1(); + } + + if(!Cools.eq(agvBasDevp.getBarcode(),containerCode) && !agvBasDevp.getLocSts().equals("O") && !emptyAutoIn){ + throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍏ュ簱"); + } + + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode); + if(!Cools.isEmpty(agvWrkMast) && !emptyAutoIn){ + throw new CoolException("褰撳墠瀹瑰櫒宸叉湁鍏ュ簱浠诲姟锛屾棤娉曡繘琛屽叆搴�"); + } + + //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 + AgvLocMast agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor()); + + //鏌ヨ鍏ュ簱閫氱煡妗� + List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectByContainerCode(containerCode); + if(!Cools.isEmpty(agvWaitPakinList)){ + + + String devNo = agvBasDevp.getDevNo(); + String locNo = agvLocMast.getLocNo(); + + //鐢熸垚宸ヤ綔妗� + AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType); + //鐢熸垚宸ヤ綔妗f槑缁� + agvWaitPakinList.forEach(wp -> { + createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime()); + }); + //淇敼鍏ュ簱閫氱煡妗g姸鎬� + agvWaitPakinService.updateIoStatus(containerCode,"Y"); + //鏇存柊婧愮珯鐐圭姸鎬� + updateAgvBasDevp(agvBasDevp,"R",containerType); + }else { + // 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱 + createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType); + //鏇存柊婧愮珯鐐圭姸鎬� + updateAgvBasDevp(agvBasDevp,"R",containerType,containerCode); + } + + //鏇存柊鐩爣搴撲綅鐘舵�佸拰淇℃伅 + updateAgvLocMast(agvLocMast,"S"); + return agvLocMast.getLocNo(); + } + + /* + 绌烘澘鍑哄簱 + */ + @Transactional + public void emptyPlateOut(String station, int containerType, Long userId) { + Date now = new Date(); + + // 绔欑偣妫�娴� + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station); + if(!agvBasDevp.getLocSts().equals("O")){ + throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍑哄簱"); + } + + //瀵绘壘鐩稿簲绫诲瀷鐨勭┖鎵樼洏 + AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType,agvBasDevp.getFloor()); + if(containerType == 0){ + //绌烘澘鑷姩鍑哄簱锛屾牴鎹珯鐐圭被鍨嬮�夋嫨 + agvLocMastService.selectEmptyZpalletByLocType1(agvBasDevp.getLocType1()); + + } + + if (Cools.isEmpty(agvLocMast)) { + throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖鎵樼洏锛�"); + } + //鐢熸垚宸ヤ綔妗� + createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType); + + //淇敼婧愬簱浣嶇姸鎬� + updateAgvLocMast(agvLocMast,"R"); + + //淇敼绔欑偣鐘舵�� + updateAgvBasDevp(agvBasDevp,"S",(short)containerType,agvLocMast.getBarcode()); + + } + + @Transactional + public void adjustLocDetl(LocDetlAdjustParam param, Long userId) { + param.integrate(); + AgvLocMast locMast = agvLocMastService.selectById(param.getLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("搴撲綅涓嶅瓨鍦�"); + } + if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) { + throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$()); + } + + Date now = new Date(); + List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", param.getLocNo())); + + List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList(); + + // 淇敼鏁伴噺 + Iterator<AgvLocDetl> iterator = locDetls.iterator(); + while (iterator.hasNext()) { + AgvLocDetl locDetl = iterator.next(); + + 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 (!locDetl.getAnfme().equals(adjust.getCount())) { + // todo 鐩樼偣璁板綍 + // 淇敼搴撳瓨 + if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) { + throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setBatch(locDetl.getBatch()); + adjDetl.setOriQty(locDetl.getAnfme()); + adjDetl.setAdjQty(adjust.getCount()); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + + adjDetl.setOrderNo(Utils.generateAdjustOrderNo()); + + adjDetl.setCsocode(locDetl.getThreeCode()); + adjDetl.setIsoseq(locDetl.getDeadTime()); + + adjDetlService.save(adjDetl, userId); + } + iterator.remove(); + iterator1.remove(); + } + } + } + + // 鍒犻櫎搴撳瓨 + for (AgvLocDetl locDetl : locDetls) { + // todo 鐩樼偣璁板綍 + if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) { + throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setBatch(locDetl.getBatch()); + adjDetl.setOriQty(locDetl.getAnfme()); + adjDetl.setAdjQty(0.0D); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + adjDetl.setOrderNo(Utils.generateAdjustOrderNo()); + + adjDetlService.save(adjDetl, userId); + } + + // 娣诲姞搴撳瓨 + for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { + if (adjust.getCount() == 0.0D) { continue; } + Mat mat = matService.selectByMatnr(adjust.getMatnr()); + AgvLocDetl locDetl = new AgvLocDetl(); + locDetl.sync(mat); + locDetl.setBatch(adjust.getBatch()); + locDetl.setLocNo(locMast.getLocNo()); + locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 + locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 + locDetl.setModiTime(now); + locDetl.setAppeUser(userId); + locDetl.setAppeTime(now); + locDetl.setOrderNo(adjust.getOrderNo()); + locDetl.setThreeCode(adjust.getThreeCode()); + locDetl.setDeadTime(adjust.getDeadTime()); + locDetl.setSuppCode(adjust.getSuppCode()); + if (!agvLocDetlService.insert(locDetl)) { + throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locMast.getLocNo()); + adjDetl.setMatnr(adjust.getMatnr()); + adjDetl.setBatch(adjust.getBatch()); + adjDetl.setOriQty(0.0D); + adjDetl.setAdjQty(adjust.getCount()); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + + adjDetl.setOrderNo(Utils.generateAdjustOrderNo()); + adjDetl.setCsocode(locDetl.getThreeCode()); + adjDetl.setIsoseq(locDetl.getDeadTime()); + + adjDetlService.save(adjDetl, userId); + } + // 淇敼搴撲綅鐘舵�� + int count = agvLocDetlService.selectCount(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo())); + if (locMast.getLocSts().equals("F")) { + if (count == 0) { + locMast.setLocSts("D"); + } + } + if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) { + if (count > 0) { + locMast.setLocSts("F"); + } + } + locMast.setModiUser(userId); + locMast.setModiTime(new Date()); + if (!agvLocMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + + @Override + @Transactional + public void completeWrkMast(String workNo, Long userId) { + AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + } +// if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){ +// throw new CoolException("鐩爣搴撲綅鎴栬�呮簮搴撲綅鏆傛湭鍒嗛厤锛屾棤娉曞彇娑�"); +// } + //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 + agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205); + + //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱 + if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){ + //淇敼鍑哄簱绔欑偣鐘舵�� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + } + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 ){ + //淇敼鍑哄簱绔欑偣鐘舵�� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getSourceLocNo(),"O","",wrkMast.getWhsType().shortValue()); + } + //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱 + if(wrkMast.getIoType() == 110){ + agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + } + + } + + @Transactional + public void cancelWrkMast(String workNo, Long userId,Integer type) { + AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + } + //鎷f枡鍏ュ簱 鐩樼偣鍏ュ簱涓嶅彲鍙栨秷 + if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){ + throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷"); + } + + //鍏ュ簱鍙栨秷 + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ + //婧愮珯鐐� + String devNo = wrkMast.getSourceLocNo(); + //鐩爣搴撲綅 + String locNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"O","",null); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + + // 绉诲簱鍙栨秷 + } else if( wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) { + //婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + // 鑷姩璋冩嫧鍑哄簱鍙栨秷 + } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111) { + // 婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0); + if (wrkMast.getIoType() == 108) { + agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + } else { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue()); + } + + List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); + // 鏇存柊璁㈠崟 + for (AgvLocDetl agvLocDetl : agvLocDetls) { + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); + 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()); + } + } + //鍑哄簱鍙栨秷 + } else { + //婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + //鐩爣绔欑偣 + String devNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); + } + + if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10){ + //璁㈠崟鍥炴粴 + //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + agvWrkDetlList1.forEach(agvWrkDetl -> { + + if(!Cools.isEmpty(agvWrkDetl.getOrderNo())){ + String orderNo = agvWrkDetl.getOrderNo(); + if(orderNo.contains("{")){ + JSONArray orderArray = JSON.parseArray(orderNo); + for (Object o : orderArray){ + JSONObject jsonobject = (JSONObject) o; + OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(jsonobject.get("orderNo").toString(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); + orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); + orderDetlService.updateById(orderDetl); + } + + }else { + OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); + orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); + orderDetlService.updateById(orderDetl); + } + } + }); + } + + //淇濆瓨宸ヤ綔妗d互鍙婃槑缁� + agvWrkMastLogService.save(wrkMast); + agvWrkDetlLogService.save(wrkMast.getWrkNo()); + + //鍒犻櫎宸ヤ綔妗d互鍙婃槑缁� + if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){ + throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + if (type == 2) { + //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛 + agvWrkMastService.callCancelTask(wrkMast.getWrkNo()); + } + + } /* @@ -175,21 +687,52 @@ */ private void updateAgvLocMast(AgvLocMast locMast, String locSts){ locMast.setLocSts(locSts); - agvLockMastService.updateById(locMast); + agvLocMastService.updateById(locMast); + } + + /* + 鏇存柊鐩爣搴撲綅淇℃伅鍜屽簱浣嶆墭鐩樼被鍨� + */ + private void updateAgvLocMast(AgvLocMast locMast, String locSts, short type){ + locMast.setLocSts(locSts); + locMast.setLocType2(type); + agvLocMastService.updateById(locMast); } /* 鏇存柊婧愮珯鐐逛俊鎭� */ private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts){ - agvBasDevp.setLocSts(locSts); - agvBasDevpService.updateById(agvBasDevp); + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevpService.updateById(agvBasDevp); + } + } + + /* + 鏇存柊婧愮珯鐐逛俊鎭拰搴撲綅鎵樼洏绫诲瀷 + */ + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType){ + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevp.setLocType2(continerType); + agvBasDevpService.updateById(agvBasDevp); + } + } + + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType, String containerCode){ + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevp.setLocType2(continerType); + agvBasDevp.setBarcode(containerCode); + agvBasDevpService.updateById(agvBasDevp); + } } /* 鐢熸垚宸ヤ綔妗f槑缁� */ - private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId){ + private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq){ Mat mat = matService.selectByMatnr(matnr); if (Cools.isEmpty(mat)) { throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触"); @@ -201,11 +744,14 @@ wrkDetl.setIoTime(now); wrkDetl.setBatch(batch); wrkDetl.setAnfme(anfme); // 鏁伴噺 - wrkDetl.setZpallet(zpallet); // 鎵樼洏鏉$爜 + wrkDetl.setSuppCode(zpallet); // 鎵樼洏鏉$爜 wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(now); wrkDetl.setModiUser(userId); wrkDetl.setModiTime(now); + + wrkDetl.setThreeCode(csocode); + wrkDetl.setDeadTime(isoseq); if (!agvWrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } @@ -243,11 +789,8 @@ /* 鐢熸垚宸ヤ綔妗� */ - private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId){ + private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType){ AgvWrkMast wrkMast = new AgvWrkMast(); - //鐢熸垚宸ヤ綔鍙� - int workNo = agvCommonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); - wrkMast.setWrkNo(workNo); //宸ヤ綔鐘舵�� wrkMast.setWrkSts(wrkSts); //鍏ュ嚭搴撶被鍨� @@ -261,67 +804,34 @@ wrkMast.setLocNo(locNo); //瀹瑰櫒缂栫爜 wrkMast.setBarcode(barcode); - // 婊℃澘锛歒 - //wrkMast.setFullPlt("Y"); - // 鎷f枡 - //wrkMast.setPicking("N"); - // 閫�鍑� - //wrkMast.setExitMk("N"); - // 绌烘澘 - //wrkMast.setEmptyMk("N"); - //wrkMast.setLinkMis("N"); + //瀹瑰櫒绫诲瀷 + wrkMast.setWhsType(containerType); + wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); wrkMast.setModiTime(now); - if (!agvWrkMastService.insert(wrkMast)) { + + if (!agvWrkMastService.insertByIncrease(wrkMast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } + + //鏆傚瓨浣嶄换鍔�+1 + addInQty(locNo); + + wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo)); return wrkMast; } - /* - 鐢熸垚宸ヤ綔妗� - */ - @Deprecated - private AgvWrkMast createWrkMast(AgvBasDevp agvBasDevp,AgvLocMast agvLocMast, Date now, Long userId){ - AgvWrkMast wrkMast = new AgvWrkMast(); - //鐢熸垚宸ヤ綔鍙� - int workNo = agvCommonService.getWorkNo(0); - wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(new Date()); - // 宸ヤ綔鐘舵�侊細201.鐢熸垚鍏ュ簱浠诲姟ID - wrkMast.setWrkSts(201L); - // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 - wrkMast.setIoType(1); - //鐢熸垚浼樺厛绾� - wrkMast.setIoPri(300.0); - wrkMast.setSourceLocNo(agvBasDevp.getDevNo()); - wrkMast.setLocNo(agvLocMast.getLocNo()); - wrkMast.setBarcode(agvBasDevp.getBarcode()); - // 婊℃澘锛歒 - wrkMast.setFullPlt("Y"); - // 鎷f枡 - wrkMast.setPicking("N"); - // 閫�鍑� - wrkMast.setExitMk("N"); - // 绌烘澘 - wrkMast.setEmptyMk("N"); - wrkMast.setLinkMis("N"); - wrkMast.setAppeUser(userId); - wrkMast.setAppeTime(now); - wrkMast.setModiUser(userId); - wrkMast.setModiTime(now); - if (!agvWrkMastService.insert(wrkMast)) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + private boolean isPakOut(String locNo, TaskDto taskDto){ + Double allAnfme = agvLocDetlService.selectSumAnfmeByLocNo(locNo); + Double pakOutAnfme = 0.0; + for (LocDto locDto : taskDto.getLocDtos()){ + pakOutAnfme += locDto.getAnfme(); } - return wrkMast; - } - private boolean isPakOut(String locNo, double anfme){ - AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); - if(agvLocDetl.getAnfme() > anfme){ + if(allAnfme > pakOutAnfme){ return false; } return true; @@ -335,11 +845,11 @@ if (!BaseController.isJSON(locDto.getOrderNo())) { //闈炲悎骞跺嚭搴� - OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); + 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); + orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq()); } - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq())) { throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); @@ -353,25 +863,41 @@ Double orderAnfme; for (OrderDto orderDto : orderDtoList) { - OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); + 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); + orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq()); } - if(locAnfme > orderDetl.getAnfme()){ - orderAnfme = orderDetl.getAnfme(); + orderAnfme = orderDetl.getAnfme() - orderDetl.getQty(); + + if(locAnfme > orderAnfme){ locAnfme -= orderAnfme; }else { orderAnfme = locAnfme; } - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) { + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme,orderDetl.getThreeCode(),orderDetl.getDeadTime())) { throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } } + } + private void addInQty(String devno){ + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devno); + if(!Cools.isEmpty(agvBasDevp)){ + if(Cools.isEmpty(agvBasDevp.getInQty())){ + agvBasDevp.setInQty(1); + }else { + agvBasDevp.setInQty(agvBasDevp.getInQty() + 1); + } + } + } + + private int getContainerTypeByloc(String locNo){ + + return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no",locNo)).getLocType2(); } -- Gitblit v1.9.1