From 8a98cb7e1eeccc063c1759953362398d83d7feb8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 16 六月 2020 08:47:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 157 insertions(+), 3 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 5b9f196..fba29fb 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -40,7 +40,7 @@
@Override
@Transactional
- public void startupFullStore(FullStoreParam param, Long userId) {
+ public String startupFullPutStore(FullStoreParam param, Long userId) {
// 鍙傛暟闈炵┖鍒ゆ柇
if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
throw new CoolException(BaseRes.PARAM);
@@ -50,14 +50,14 @@
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(0);
// 妫�绱㈠簱浣�
- StartupDto dto = commonService.getLocNo(1, param.getDevpNo());
+ StartupDto dto = commonService.getLocNo(1, 1, param.getDevpNo());
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
- wrkMast.setIoPri(10D); // 浼樺厛绾э細10
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細10
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -102,6 +102,64 @@
} else {
throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
}
+ return dto.getLocNo();
+ }
+
+ @Override
+ @Transactional
+ public String emptyPlateIn(Integer devpNo, Long userId) {
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo);
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ // 妫�绱㈠簱浣�
+ StartupDto dto = commonService.getLocNo(1, 10, devpNo);
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細10
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeUser(userId);
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(new Date());
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊婧愮珯鐐逛俊鎭�
+ sourceStaNo.setWrkNo(workNo);
+ sourceStaNo.setModiUser(userId);
+ sourceStaNo.setModiTime(new Date());
+ if (!basDevpService.updateById(sourceStaNo)){
+ throw new CoolException("鏇存柊婧愮珯澶辫触");
+ }
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocType().equals("O")){
+ locMast.setLocType("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiUser(userId);
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ return dto.getLocNo();
}
@Override
@@ -165,4 +223,100 @@
}
}
+ @Override
+ @Transactional
+ public void completeWrkMast(String workNo, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (Cools.isEmpty(wrkMast)){
+ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ }
+ if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
+ }
+ // 鍏ュ簱 + 搴撲綅杞Щ
+ if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ wrkMast.setWrkSts(4L);
+ // 鍑哄簱
+ } else if (wrkMast.getWrkSts() > 10) {
+ wrkMast.setWrkSts(14L);
+ }
+ wrkMast.setModiTime(new Date());
+ wrkMast.setModiUser(userId);
+ if (!wrkMastService.updateById(wrkMast)) {
+ throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
+ }
+ }
+
+ @Override
+ @Transactional
+ public void cancelWrkMast(String workNo, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (Cools.isEmpty(wrkMast)){
+ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ }
+ String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
+ String locType = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
+ // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
+ if (wrkMast.getWrkSts() < 4) {
+ locNo = wrkMast.getLocNo();
+ locType = "O";
+ /**
+ * 搴撲綅杞Щ
+ * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱
+ * 鐩爣搴撲綅 ===>> O.绌哄簱浣�
+ **/
+ if (wrkMast.getIoType() == 11) {
+ // 搴撲綅杞Щ锛氭簮搴撲綅
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
+ }
+ locMast.setLocType("F");
+ locMast.setModiTime(new Date());
+ locMast.setModiUser(userId);
+ locMastService.updateById(locMast);
+ }
+ // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
+ } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+ locNo = wrkMast.getSourceLocNo();
+ // 鍑哄簱 ===>> F.鍦ㄥ簱
+ if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+ locType = "F";
+ // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
+ } else if (wrkMast.getIoType() == 110) {
+ locType = "D";
+ // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+ } else if (wrkMast.getIoType() == 11) {
+ locType = "F";
+ // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo());
+ }
+ locMast.setLocType("O");
+ locMast.setModiTime(new Date());
+ locMast.setModiUser(userId);
+ locMastService.updateById(locMast);
+ }
+ } else {
+ throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
+ }
+ // 鍒犻櫎宸ヤ綔妗�
+ boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+ // 鍒犻櫎宸ヤ綔妗f槑缁�
+ boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+ // 淇敼搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(locNo);
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+ }
+ locMast.setLocType(locType);
+ locMast.setModiTime(new Date());
+ locMast.setModiUser(userId);
+ boolean locMastRes = locMastService.updateById(locMast);
+ if (!wrkMastRes || !wrkDetlRes || !locMastRes) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+ }
+
}
--
Gitblit v1.9.1