From debd4eb29d00a2ccfc07fa5910dbdd41cf16a32b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 12 六月 2020 15:24:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 81 insertions(+), 16 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 38ceece..7872863 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -3,14 +3,21 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.MatCodeCountDto;
+import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.FullStoreParam;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.WorkService;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.common.service.DoubleDeepService;
+import com.zy.asrs.service.*;
+import com.zy.common.model.StartupDto;
+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.ArrayList;
+import java.util.Date;
+import java.util.List;
/**
* Created by vincent on 2020/6/11
@@ -23,25 +30,83 @@
@Autowired
private BasDevpService basDevpService;
@Autowired
- private DoubleDeepService doubleDeepService;
+ private CommonService commonService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
+ private LocMastService locMastService;
@Override
@Transactional
- public void startupFullStore(FullStoreParam param) {
+ public void startupFullStore(FullStoreParam param, Long userId) {
// 鍙傛暟闈炵┖鍒ゆ柇
if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
throw new CoolException(BaseRes.PARAM);
}
- // 绔欑偣鐘舵�佹娴�
- basDevpService.checkSiteStatus(param.getDevpNo());
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo());
// 鐢熸垚宸ヤ綔鍙�
- int workNo = doubleDeepService.getWorkNo(0);
-
-
-// if (staNo == null || staNo.get)
- // 鑾峰彇鏈�鏂扮殑宸ヤ綔妗�
-// WrkMast latestWrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().orderBy("appe_time"));
-
-
+ int workNo = commonService.getWorkNo(0);
+ if (workNo == 0) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
+ } else {
+ if (wrkMastService.selectById(workNo)!=null) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
+ }
+ }
+ // 妫�绱㈠簱浣�
+ StartupDto dto = commonService.getLocNo(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.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ 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け璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ List<MatCodeCountDto> matDtos = new ArrayList<>();
+ param.getList().forEach(elem -> {
+ matDtos.add(new MatCodeCountDto(elem.getMatNo(), elem.getCount()));
+ });
+ wrkDetlService.createWorkDetail(workNo, matDtos, userId);
+ // 鏇存柊婧愮珯鐐逛俊鎭�
+ 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()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
}
+
}
--
Gitblit v1.9.1