From 2bd674963fda5c14685ab3fa973366d2c2ae527f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 29 一月 2021 14:19:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 84 +++++++++++++++++++++++++++++++---------- 1 files changed, 63 insertions(+), 21 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 126c0b1..9261bf6 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.BaseRes; import com.core.common.Cools; +import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; @@ -13,14 +14,18 @@ import com.zy.asrs.service.*; import com.zy.asrs.utils.VersionUtils; import com.zy.common.model.LocDetlDto; +import com.zy.common.model.LocTypeDto; import com.zy.common.model.OutLocDto; import com.zy.common.model.StartupDto; +import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * Created by vincent on 2020/6/11 @@ -53,6 +58,8 @@ private AdjDetlService adjDetlService; @Autowired private WrkMastLogService wrkMastLogService; + @Autowired + private WrkDetlLogService wrkDetlLogService; @Override @Transactional @@ -62,11 +69,13 @@ throw new CoolException(BaseRes.PARAM); } // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo()); - // 鐢熸垚宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); + BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo()); + LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); + List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList()); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos, locTypeDto, 0); + // 鐢熸垚宸ヤ綔鍙� + int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -183,7 +192,7 @@ throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�"); } // 鐢熸垚宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); + int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -244,23 +253,23 @@ @Transactional public String emptyPlateIn(Integer devpNo, Long userId) { // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo); - // 鐢熸垚宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); + BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo); + LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0); + int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 - wrkMast.setIoPri(13D); // 浼樺厛绾э細10 + wrkMast.setIoPri(10D); // 浼樺厛绾э細10 wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setFullPlt("N"); // 婊℃澘 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 @@ -305,7 +314,7 @@ } for (String locNo : param.getLocNos()) { // 鑾峰彇宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); + int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { @@ -397,7 +406,7 @@ throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�"); } // 鑾峰彇宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); + int workNo = commonService.getWorkNo(WorkNoType.PICK.type); // 淇濆瓨宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -479,8 +488,13 @@ } else if (wrkMast.getWrkSts() > 10) { wrkMast.setWrkSts(14L); } - wrkMast.setModiTime(new Date()); + Date now = new Date(); + wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); wrkMast.setModiUser(userId); + // 瀹屾垚鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩瀹屾垚"); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); } @@ -555,6 +569,15 @@ } } } + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo())); + if (locDetls.isEmpty()) { + locMast.setLocSts("D"); + locMast.setModiUser(userId); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } } @Override @@ -611,10 +634,29 @@ } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } - // 鍒犻櫎宸ヤ綔妗� + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩鍙栨秷"); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(new Date()); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�"); + } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔涓绘。 boolean wrkMastRes = wrkMastService.deleteById(wrkMast); - // 鍒犻櫎宸ヤ綔妗f槑缁� - boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); + + if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) { + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔妗f槑缁� + boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); + } + // 淇敼搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { @@ -624,7 +666,7 @@ locMast.setModiTime(new Date()); locMast.setModiUser(userId); boolean locMastRes = locMastService.updateById(locMast); - if (!wrkMastRes || !wrkDetlRes || !locMastRes) { + if (!wrkMastRes || !locMastRes) { throw new CoolException("淇濆瓨鏁版嵁澶辫触"); } } @@ -645,9 +687,9 @@ throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�"); } // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 -// if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { -// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); -// } + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); + } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� if (!wrkMastLogService.save(wrkMast.getWrkNo())) { throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); -- Gitblit v1.9.1