From 2b613ec7306bf62b6bebde76fe6b4cccc4fc64ff Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 13 六月 2020 15:02:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   84 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 70 insertions(+), 14 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 783dda8..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.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
@@ -24,16 +31,20 @@
     private BasDevpService basDevpService;
     @Autowired
     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 = commonService.getWorkNo(0);
         if (workNo == 0) {
@@ -44,13 +55,58 @@
             }
         }
         // 妫�绱㈠簱浣�
-        String locNo = commonService.getLocNo(1, param.getDevpNo());
-
-
-//        if (staNo == null || staNo.get)
-        // 鑾峰彇鏈�鏂扮殑宸ヤ綔妗�
-//        WrkMast latestWrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().orderBy("appe_time"));
-
-
+        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