From 44cda1edd0b45c0845341dc9127a14273c4357b5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 六月 2020 10:50:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WorkService.java             |    9 +++
 src/main/java/com/zy/asrs/service/WrkMastService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   39 +++++++++++++
 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java |    5 +
 src/main/java/com/zy/asrs/service/BasDevpService.java          |    2 
 src/main/java/com/zy/asrs/controller/WorkController.java       |    3 
 src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java |   26 ++++++++
 src/main/java/com/zy/common/service/DoubleDeepService.java     |   56 ++++++++++++++++++
 8 files changed, 140 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 6e0f5e3..be58a56 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -32,9 +32,8 @@
     @RequestMapping("/full/store/start")
     @ManagerAuth(memo = "鍏ㄦ澘鍏ュ簱")
     public R start(@RequestBody FullStoreParam fullStoreParam) {
-
         System.out.println(JSON.toJSONString(fullStoreParam));
-
+        workService.startupFullStore(fullStoreParam);
         return R.ok();
     }
 
diff --git a/src/main/java/com/zy/asrs/service/BasDevpService.java b/src/main/java/com/zy/asrs/service/BasDevpService.java
index 3c39b24..62a4cf5 100644
--- a/src/main/java/com/zy/asrs/service/BasDevpService.java
+++ b/src/main/java/com/zy/asrs/service/BasDevpService.java
@@ -9,4 +9,6 @@
 
     List<Integer> getAvailableDevp();
 
+    void checkSiteStatus(String devpNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index f1c2bff..9a88fc2 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -1,4 +1,13 @@
 package com.zy.asrs.service;
 
+import com.zy.asrs.entity.param.FullStoreParam;
+
 public interface WorkService {
+
+    /**
+     * 鍏ㄦ澘鍏ュ簱
+     * @param param
+     */
+    void startupFullStore(FullStoreParam param);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index d7f7605..7629b3c 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -5,4 +5,6 @@
 
 public interface WrkMastService extends IService<WrkMast> {
 
+    int getWorkingMast(String devpNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
index 47c650d..0de9f62 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -1,9 +1,12 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.mapper.BasDevpMapper;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.WrkMastService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -11,8 +14,31 @@
 @Service("basDevpService")
 public class BasDevpServiceImpl extends ServiceImpl<BasDevpMapper, BasDevp> implements BasDevpService {
 
+    @Autowired
+    private WrkMastService wrkMastService;
+
     @Override
     public List<Integer> getAvailableDevp() {
         return this.baseMapper.getAvailableDevp();
     }
+
+    @Override
+    public void checkSiteStatus(String devpNo) {
+        BasDevp station = selectById(devpNo);
+        if (station == null){
+            throw new CoolException("绔欑偣涓嶅瓨鍦�");
+        }
+        if(station.getAutoing()==null || !station.getAutoing().equals("Y")) {
+            throw new CoolException("鍏ュ簱绔欑偣涓嶆槸鑷姩鐘舵��");
+        }
+        if(station.getLoading()==null || !station.getLoading().equals("Y")) {
+            throw new CoolException("鍏ュ簱绔欑偣鏃犵墿");
+        }
+        if(station.getWrkNo()>0) {
+            throw new CoolException("鍏ュ簱绔欑偣宸叉湁宸ヤ綔鍙�");
+        }
+        if(wrkMastService.getWorkingMast(devpNo)>0){
+            throw new CoolException("鍚屼竴绔欑偣涓嶈兘鍚屾椂鐢熸垚涓ょ瑪鍏ュ簱宸ヤ綔妗�");
+        }
+    }
 }
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 505f8d2..0b71640 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1,11 +1,50 @@
 package com.zy.asrs.service.impl;
 
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.WorkService;
+import com.zy.asrs.service.WrkLastnoService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.common.service.DoubleDeepService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * Created by vincent on 2020/6/11
  */
 @Service
 public class WorkServiceImpl implements WorkService {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private DoubleDeepService doubleDeepService;
+    @Autowired
+    private WrkLastnoService wrkLastnoService;
+
+    @Override
+    @Transactional
+    public void startupFullStore(FullStoreParam param) {
+        // 鍙傛暟闈炵┖鍒ゆ柇
+        if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+        // 绔欑偣鐘舵�佹娴�
+        basDevpService.checkSiteStatus(param.getDevpNo());
+        // 鐢熸垚宸ヤ綔鍙�
+        int workNo = doubleDeepService.getWorkNo(wrkLastnoService.selectById(0));
+
+
+//        if (staNo == null || staNo.get)
+        // 鑾峰彇鏈�鏂扮殑宸ヤ綔妗�
+//        WrkMast latestWrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().orderBy("appe_time"));
+
+
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index 1de3740..c3b84b3 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.WrkMastMapper;
@@ -9,4 +10,8 @@
 @Service("wrkMastService")
 public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService {
 
+    @Override
+    public int getWorkingMast(String devpNo) {
+        return selectCount(new EntityWrapper<WrkMast>().eq("source_sta_no", devpNo).in("wrk_sts", 1, 6));
+    }
 }
diff --git a/src/main/java/com/zy/common/service/DoubleDeepService.java b/src/main/java/com/zy/common/service/DoubleDeepService.java
new file mode 100644
index 0000000..8099b40
--- /dev/null
+++ b/src/main/java/com/zy/common/service/DoubleDeepService.java
@@ -0,0 +1,56 @@
+package com.zy.common.service;
+
+import com.core.common.Cools;
+import com.zy.asrs.entity.WrkLastno;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkMastService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 鍙屾繁寮忚揣鏋舵牳蹇冨姛鑳�
+ * Created by vincent on 2020/6/11
+ */
+@Service
+public class DoubleDeepService {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+
+    /**
+     * 鐢熸垚宸ヤ綔鍙�
+     * @param wrkLastno
+     * @return
+     */
+    public int getWorkNo(WrkLastno wrkLastno) {
+        int workNo = 0;
+        // 鍏ュ嚭搴撶被鍨�
+        if (wrkLastno.getWrkMk() == 0) {
+            if (!Cools.isEmpty(wrkLastno)){
+                workNo = wrkLastno.getWrkNo();
+                int sNo = wrkLastno.getSNo();
+                int eNo = wrkLastno.getENo();
+
+                workNo = workNo>=eNo ? sNo : workNo+1;
+
+                while (true) {
+                    WrkMast wrkMast = wrkMastService.selectById(workNo);
+                    if (null != wrkMast) {
+                        workNo = workNo>=eNo ? sNo : workNo+1;
+                    } else {
+                        break;
+                    }
+                }
+
+                if (workNo > 0){
+                    // todo
+
+                }
+            }
+
+        }
+        return workNo;
+    }
+
+
+}

--
Gitblit v1.9.1