From 4c2ac1e9f5fee2eeb7f1c97ccd7b0532ca144232 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 04 十一月 2024 10:23:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jxgtasrs' into jxgtasrs

---
 src/main/java/com/zy/asrs/controller/OpenController.java |  321 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 212 insertions(+), 109 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 99e4332..8417294 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,23 +1,25 @@
 package com.zy.asrs.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.AppAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.service.*;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.*;
+import com.zy.asrs.service.OpenService;
+import com.zy.asrs.service.WrkMastService;
 import com.zy.common.model.DetlDto;
+import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by vincent on 2022/4/8
@@ -25,43 +27,139 @@
 @Slf4j
 @RestController
 @RequestMapping("open/asrs")
-public class OpenController {
+public class OpenController extends BaseController {
 
+    private static final boolean auth = true;
     public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
         add("ea1f0459efc02a79f046f982767939ae");
     }};
 
     @Autowired
-    private OrderService orderService;
+    private OpenService openService;
     @Autowired
-    private OrderDetlService orderDetlService;
-    @Autowired
-    private SnowflakeIdWorker snowflakeIdWorker;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private MatService matService;
-    @Autowired
-    private LocDetlService locDetlService;
+    private WrkMastService wrkMastService;
 
-    private void auth(String appkey, Object obj) {
-        log.info("{}鎺ュ彛琚闂紒appkey:{},璇锋眰鏁版嵁锛歿}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
-        if (Cools.isEmpty(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+
+    @PostMapping("/tagSync/v1")
+    @AppAuth(memo = "鐗╂枡鍒嗙被鍚屾")
+    public synchronized R tagSync(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) List<Map<String,String>> param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
         }
-        if (!APP_KEY_LIST.contains(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+        ArrayList<TagParam> params = new ArrayList<>();
+        for (Map<String,String> map : param) {
+            TagParam tagParam  = new TagParam(map);
+            params.add(tagParam);
         }
+
+        openService.syncTag(params);
+        return R.ok();
+
     }
+
+
+    @PostMapping("/wrkMast/finish/v1")
+    @AppAuth(memo = "鍥涘悜杞︿换鍔″畬鎴�")
+    public synchronized R wrkMastFinish(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) ShuttleFinishParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        try {
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskNo()).eq("crn_no",7));
+            if (Cools.isEmpty(wrkMast)) {
+                throw new CoolException("鍥涘悜搴撲换鍔℃湭鎵惧埌");
+            }
+            if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 54 || wrkMast.getIoType() == 57) {
+                wrkMast.setWrkSts(4L);
+            }else {
+                wrkMast.setWrkSts(14L);
+            }
+            if (!wrkMastService.updateById(wrkMast)){
+                return R.error();
+            }
+        }catch (Exception e) {
+            throw new CoolException(e);
+        }
+
+
+        return R.ok();
+    }
+
+
+
+    @PostMapping("/locDetl/select/time/v1")
+    @AppAuth(memo = "鏃堕棿鑾峰彇搴撳瓨淇℃伅")
+    public synchronized R locDetlSelect(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) TimeSelectParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        List<LocDetlByTimeDTO> locDetlByTimeDTOS = openService.selectTimeLocDetl(param);
+        return R.ok(locDetlByTimeDTOS);
+    }
+
+    @PostMapping("/matSync/default/v1")
+    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
+                                      @RequestBody(required = false) MatSyncParam param,
+                                      HttpServletRequest request){
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        openService.syncMat(param);
+        return R.ok();
+    }
+
+    @PostMapping("/orderSync/default/v1")
+    @AppAuth(memo = "璁㈠崟淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey,
+                                      @RequestBody(required = false) GTOrderParam param,
+                                      HttpServletRequest request){
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        return R.ok();
+    }
+
+
+
+    /****************************************************************************/
+    /********************************* 鎵撳寘涓婄嚎 **********************************/
+    /****************************************************************************/
+
+//    @PostMapping("/order/pakin/new/package/v1")
+//    @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛")
+//    public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
+//                                            @RequestBody(required = false) PackParam param,
+//                                            HttpServletRequest request) {
+//        auth(appkey, param, request);
+//        if (Cools.isEmpty(param)) {
+//            return R.parse(BaseRes.PARAM);
+//        }
+//        openService.packageUp(param);
+//        return R.ok();
+//    }
 
     /**
      * 娣诲姞鍏ュ簱鍗�
      */
     @PostMapping("/order/pakin/default/v1")
-    @Transactional
-    public synchronized R orderCreate(@RequestHeader(required = false) String appkey,
-                                      @RequestBody OpenOrderPakinParam param) {
-        auth(appkey, param);
+    @AppAuth(memo = "鍏ュ簱鍗曟嵁涓嬪彂")
+    public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey,
+                                           @RequestBody OpenOrderPakinParam param,
+                                           HttpServletRequest request) {
+        auth(appkey, param, request);
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
@@ -74,85 +172,61 @@
         if (Cools.isEmpty(param.getOrderDetails())) {
             return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
         }
-        Order order = orderService.selectByNo(param.getOrderNo());
-        if (!Cools.isEmpty(order)) {
-            return R.error(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
-        }
-        DocType docType = docTypeService.selectOrAdd(param.getOrderType());
-        Date now = new Date();
-        // 鍗曟嵁涓绘。
-        order = new Order(
-                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                param.getOrderNo(),    // 璁㈠崟缂栧彿
-                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
-                docType.getDocId(),    // 鍗曟嵁绫诲瀷
-                null,    // 椤圭洰缂栧彿
-                null,    //
-                null,    // 璋冩嫧椤圭洰缂栧彿
-                null,    // 鍒濆绁ㄦ嵁鍙�
-                null,    // 绁ㄦ嵁鍙�
-                null,    // 瀹㈡埛缂栧彿
-                null,    // 瀹㈡埛
-                null,    // 鑱旂郴鏂瑰紡
-                null,    // 鎿嶄綔浜哄憳
-                null,    // 鍚堣閲戦
-                null,    // 浼樻儬鐜�
-                null,    // 浼樻儬閲戦
-                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
-                null,    // 瀹炰粯閲戦
-                null,    // 浠樻绫诲瀷
-                null,    // 涓氬姟鍛�
-                null,    // 缁撶畻澶╂暟
-                null,    // 閭垂鏀粯绫诲瀷
-                null,    // 閭垂
-                null,    // 浠樻鏃堕棿
-                null,    // 鍙戣揣鏃堕棿
-                null,    // 鐗╂祦鍚嶇О
-                null,    // 鐗╂祦鍗曞彿
-                1L,    // 璁㈠崟鐘舵��
-                1,    // 鐘舵��
-                9527L,    // 娣诲姞浜哄憳
-                now,    // 娣诲姞鏃堕棿
-                9527L,    // 淇敼浜哄憳
-                now,    // 淇敼鏃堕棿
-                null    // 澶囨敞
-        );
-        if (!orderService.insert(order)) {
-            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-        }
-        // 鍗曟嵁鏄庣粏妗�
-        List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getOrderDetails();
-        for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
-            if (DetlDto.has(list, dto)) {
-                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
-                assert detlDto != null;
-                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
-            } else {
-                list.add(dto);
-            }
-        }
-        for (DetlDto detlDto : list) {
-            Mat mat = matService.selectByMatnr(detlDto.getMatnr());
-            if (Cools.isEmpty(mat)) {
-                throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
-            }
-            OrderDetl orderDetl = new OrderDetl();
-            orderDetl.sync(mat);
-            orderDetl.setOrderId(order.getId());
-            orderDetl.setOrderNo(order.getOrderNo());
-            orderDetl.setCreateBy(9527L);
-            orderDetl.setCreateTime(now);
-            orderDetl.setUpdateBy(9527L);
-            orderDetl.setUpdateTime(now);
-            orderDetl.setStatus(1);
-            orderDetl.setQty(0.0D);
-            if (!orderDetlService.insert(orderDetl)) {
-                throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-            }
-        }
+        openService.pakinOrderCreate(param);
         return R.ok();
+    }
+
+    /**
+     * 鍏ュ簱鍗曞洖鍐�
+     */
+    @PostMapping("/order/pakin/complete/default/v1")
+    public synchronized R orderPakinComplete(@RequestHeader(required = false) String appkey,
+                                             @RequestBody(required = false) OpenOrderCompleteParam param,
+                                             HttpServletRequest request) {
+        auth(appkey, param, request);
+        return R.ok().add(openService.pakinOrderComplete(param));
+    }
+
+    /**
+     * 娣诲姞鍑哄簱鍗�
+     */
+    @PostMapping("/order/pakout/default/v1")
+    @AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱")
+    public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
+                                            @RequestBody OpenOrderPakoutParam param,
+                                            HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getLgort())) {
+            return R.error("鍗曟嵁缂栧彿[lgort]涓嶈兘涓虹┖");
+        }
+        if (!param.getLgort().equals("5006")) {
+            return R.ok();
+        }
+        if (Cools.isEmpty(param.getOrderNo())) {
+            return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderType())) {
+            return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderDetails())) {
+            return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+        }
+        openService.pakoutOrderCreate(param);
+        return R.ok();
+    }
+
+    /**
+     * 鍑哄簱鍗曞洖鍐�
+     */
+    @PostMapping("/order/pakout/complete/default/v1")
+    public synchronized R orderPakoutComplete(@RequestHeader(required = false) String appkey,
+                                              @RequestBody(required = false) OpenOrderCompleteParam param,
+                                              HttpServletRequest request) {
+        auth(appkey, param, request);
+        return R.ok().add(openService.pakoutOrderComplete(param));
     }
 
 
@@ -160,9 +234,38 @@
      * 搴撳瓨缁熻
      */
     @RequestMapping("/stock/default/v1")
-    public R queryStock(@RequestHeader(required = false) String appkey) {
-        auth(appkey, null);
-        return R.ok(locDetlService.queryStockTotal());
+    public R queryStock(@RequestHeader(required = false) String appkey,
+                        HttpServletRequest request) {
+        auth(appkey, null, request);
+        return R.ok().add(openService.queryStock());
     }
 
+        private void auth(String appkey, Object obj, HttpServletRequest request) {
+            log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
+            request.setAttribute("cache", obj);
+            if (!auth) {
+                return;
+            }
+            if (Cools.isEmpty(appkey)) {
+                throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+            }
+            if (!APP_KEY_LIST.contains(appkey)) {
+                throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+            }
+        }
+
+
+
+
+    /**
+     * 搴撳瓨缁熻
+     */
+    @RequestMapping("/agv/haikang/complete/v1")
+    public R agvHaiKang(@RequestHeader(required = false) String wrkNo,
+                        HttpServletRequest request) {
+//        auth(wrkNo, null, request);
+        return R.ok().add(openService.agvHaiKang(wrkNo));
+    }
+
+
 }

--
Gitblit v1.9.1