From 16df414db25bf21058077e37ad3bc28bba1cbb10 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期日, 08 八月 2021 15:52:43 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/WorkController.java |  218 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 200 insertions(+), 18 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
index 7c826d2..fd7b482 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -1,31 +1,35 @@
 package zy.cloud.wms.manager.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
+import com.core.exception.CoolException;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import zy.cloud.wms.common.model.BillDto;
+import zy.cloud.wms.common.service.erp.ErpR;
+import zy.cloud.wms.common.service.erp.ErpService;
 import zy.cloud.wms.common.web.BaseController;
-import zy.cloud.wms.manager.entity.Pakout;
-import zy.cloud.wms.manager.entity.WrkSts;
-import zy.cloud.wms.manager.entity.param.InitPakoutParam;
-import zy.cloud.wms.manager.entity.param.StockConfirmParam;
-import zy.cloud.wms.manager.entity.param.StockInParam;
-import zy.cloud.wms.manager.entity.param.StockOutParam;
-import zy.cloud.wms.manager.service.PakoutService;
-import zy.cloud.wms.manager.service.WorkService;
-import zy.cloud.wms.manager.service.WrkStsService;
+import zy.cloud.wms.manager.entity.*;
+import zy.cloud.wms.manager.entity.param.*;
+import zy.cloud.wms.manager.entity.result.KeyValueVo;
+import zy.cloud.wms.manager.service.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
  * Created by vincent on 2021/2/25
  */
+@Slf4j
 @RestController
 @RequestMapping("/work")
 public class WorkController extends BaseController {
@@ -36,6 +40,25 @@
     private PakoutService pakoutService;
     @Autowired
     private WrkStsService wrkStsService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private ErpService erpService;
+
+
+    @RequestMapping("/stock/pakin")
+    @ManagerAuth(memo = "鍏ュ簱")
+    public R stockPakin(@RequestBody PakinParam number) {
+        return workService.stockPakin(number, getUserId());
+    }
+
+    @RequestMapping("/stock/pakout")
+    @ManagerAuth(memo = "鍑哄簱")
+    public R stockPakout(@RequestBody PakoutParam number) {
+        return workService.stockPakout(number, getUserId());
+    }
 
     @RequestMapping("/stock/in")
     @ManagerAuth(memo = "涓婃灦")
@@ -49,10 +72,16 @@
         return workService.stockOutCheck(number, getUserId());
     }
 
-    @RequestMapping("/stock/out")
-    @ManagerAuth(memo = "鎷h揣")
+    @RequestMapping("/stock/out/preview")
+    @ManagerAuth(memo = "鎷h揣棰勮")
+    public R stockOutPreview(@RequestBody StockOutParam stockOutParam) {
+        return workService.stockOutPreview(stockOutParam, getUserId());
+    }
+
+    @RequestMapping("/stock/out/create")
+    @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�")
     public R stockOut(@RequestBody StockOutParam stockOutParam) {
-        return workService.stockOut(stockOutParam, getUserId());
+        return workService.stockOutCreate(stockOutParam, getUserId());
     }
 
     @RequestMapping("/stock/out/print")
@@ -70,20 +99,20 @@
     @RequestMapping("/pakout/get")
     @ManagerAuth(memo = "鑾峰彇鍑哄簱鍗�")
     public R getPakout(@RequestParam String docNumber) {
-        List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", docNumber).in("wrk_sts", 1,2));
+        List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", docNumber).in("wrk_sts", 1, 2));
         if (Cools.isEmpty(pakouts)) {
             return R.parse(BaseRes.EMPTY);
         }
         Long sts = pakouts.get(0).getWrkSts();
         if (sts == 1) {
-            sts =2L;
+            sts = 2L;
         }
         WrkSts wrkSts = wrkStsService.selectById(sts);
         return R.ok().add(Cools
                 .add("number", pakouts.get(0).getDocNum())
                 .add("wrkSts", pakouts.get(0).getWrkSts())
-                .add("wrkSts$", wrkSts==null?"鏈煡":wrkSts.getStsName())
-                .add("custName", Cools.isEmpty(pakouts.get(0).getCustName())?"-":pakouts.get(0).getCustName())
+                .add("wrkSts$", wrkSts == null ? "鏈煡" : wrkSts.getStsName())
+                .add("custName", Cools.isEmpty(pakouts.get(0).getCustName()) ? "-" : pakouts.get(0).getCustName())
                 .add("pakouts", pakouts)
         );
     }
@@ -100,10 +129,9 @@
         return workService.initPakout(params, getUserId());
     }
 
-
     @RequestMapping("/hand/control/pakout")
     @ManagerAuth(memo = "鎵嬪姩澶勭悊鎷h揣鍗�")
-    public R handControlWrkMast(@RequestParam String wrkNo, @RequestParam Integer type){
+    public R handControlWrkMast(@RequestParam String wrkNo, @RequestParam Integer type) {
         if (type == 1) {
             return workService.completePakout(wrkNo, getUserId());
         } else if (type == 2) {
@@ -112,4 +140,158 @@
         return R.ok();
     }
 
+    @RequestMapping("/orderNo/init")
+    @ManagerAuth(memo = "鐢熸垚鍗曟嵁缂栧彿")
+    public R initOrderNo() {
+        long nextId = snowflakeIdWorker.nextId();
+        String orderNo = "AT-" + String.valueOf(nextId).substring(0, 15);
+        if (orderService.selectByOrderNo(orderNo) != null) {
+            return R.error("鎶辨瓑锛屽崟鎹紪鍙峰凡瀛樺湪");
+        }
+        return R.ok().add(orderNo);
+    }
+
+    @RequestMapping("/order/init")
+    @ManagerAuth(memo = "鐢熸垚璁㈠崟")
+    public R initOrder(@RequestBody InitOrderParam param) {
+        return workService.initOrder(param, getUserId());
+    }
+
+    @RequestMapping("/stock/transfer")
+    @ManagerAuth(memo = "搴撳瓨璋冩嫧")
+    public R stockTransfer(@RequestBody AsrsTransferParam number) {
+        return workService.asrsStockTransfer(number, getUserId());
+    }
+
+    @RequestMapping("/stock/transfer/locMode")
+    @ManagerAuth(memo = "搴撳瓨璋冩嫧-绔嬪簱妯″紡")
+    public R stockTransferLocMode(@RequestBody AsrsTransferParam number) {
+        return workService.asrsStockTransferLocMode(number, getUserId());
+    }
+
+    @RequestMapping("/stock/check")
+    @ManagerAuth(memo = "搴撳瓨鐩樼偣")
+    public R stockCheck(@RequestBody StoCheckParam param) {
+        return workService.stockCheck(param, getUserId());
+    }
+
+    @RequestMapping("/stock/check/auditing")
+    @ManagerAuth(memo = "鐩樼偣璁板綍瀹℃牳")
+    public R checkAuditing(@RequestParam Long checkId) {
+        return workService.stockCheckAuditing(checkId, getUserId());
+    }
+
+    @RequestMapping("/stock/checks/auditing")
+    @ManagerAuth(memo = "鐩樼偣璁板綍鎵归噺瀹℃牳")
+    public R checksAuditing(@RequestParam(value = "checkIds[]") Long[] checkIds) {
+        int success = 0;
+        for (Long checkId : checkIds) {
+            R r = workService.stockCheckAuditing(checkId, getUserId());
+            if (String.valueOf(r.get("code")).equals("200")) {
+                success++;
+            }
+        }
+        return R.ok("瀹℃牳鎴愬姛鏁伴噺锛�" + success);
+    }
+
+    // 鐩樼偣涓婁紶
+    @RequestMapping("/check/upload")
+    @ManagerAuth(memo = "鐩樼偣涓婁紶")
+    public R checkUpload(@RequestBody CheckUploadParam params) {
+        List<BillDto> dtos = new ArrayList<>();
+        if (params.getMats().size() > 0) {
+            for (Mat matList : params.getMats()) {
+                BillDto dto = new BillDto();
+                dto.setMatnr(matList.getMatnr());
+                dto.setQty(matList.getCount().doubleValue());
+                dtos.add(dto);
+            }
+        } else {
+            throw new CoolException("鏁版嵁寮傚父");
+        }
+        int docId;
+        String docNum;
+        if (params.getType().equals("1")) { // 鐩樼泩
+            docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+            docId = 14; // 鎶ユ孩鍗�
+        } else if (params.getType().equals("2")) { // 鐩樹簭
+            docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+            docId = 9;  // 鎶ユ崯鍗�
+        } else {
+            throw new CoolException("鏁版嵁寮傚父");
+        }
+        // erp涓婁紶鐩樼泩鐩樹簭
+        ErpR erpR = erpService.uploadBill(dtos, docId, docNum);
+        if (!erpR.getSuccess()) {
+            throw new CoolException("鏃犳硶涓婃姤鑷砮rp锛�"+erpR.getMsg());
+        }
+        String dotsStr = JSON.toJSONString(dtos);
+        log.info("鐩樼偣涓婁紶锛岀被鍨嬶細" + (docId == 14 ? "鐩樼泩" : "鐩樹簭") + "锛屽崟鍙凤細" + docNum + "锛屼笂浼犵墿鏂欐竻鍗�:" + dotsStr);
+        log.info("===============================================================================================");
+        return R.ok().add("涓婃姤鑷砮rp鎴愬姛");
+    }
+
+    /******************************************************************************************************/
+
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private CstmrService cstmrService;
+    @Autowired
+    private ItemService itemService;
+
+    // 鑾峰彇鎵�鏈夊崟鎹被鍨�
+    @RequestMapping("/docType/all/get")
+    @ManagerAuth
+    public R getDocTypeData() {
+        List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("status", 1).orderBy("create_time", false));
+        return R.ok().add(docTypes);
+    }
+
+    // 鑾峰彇鎵�鏈夊鎴�
+    @RequestMapping("/cstmr/all/get")
+    @ManagerAuth
+    public R getCstmrData() {
+        List<Cstmr> cstmrs = cstmrService.selectList(new EntityWrapper<Cstmr>().eq("status", 1).orderBy("create_time", false));
+        return R.ok().add(cstmrs);
+    }
+
+    // 鑾峰彇鎵�鏈夊鎴� [閿�煎鐗圿
+    @RequestMapping("/cstmr/all/get/kv")
+    @ManagerAuth
+    public R getCstmrDataKV() {
+        List<Cstmr> cstmrs = cstmrService.selectList(new EntityWrapper<Cstmr>().eq("status", 1).orderBy("create_time", false));
+        List<KeyValueVo> valueVos = new ArrayList<>();
+        for (Cstmr cstmr : cstmrs) {
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(cstmr.getName());
+            vo.setValue(cstmr.getId());
+            valueVos.add(vo);
+        }
+        return R.ok().add(valueVos);
+    }
+
+    // 鑾峰彇鎵�鏈夐」鐩�
+    @RequestMapping("/item/all/get")
+    @ManagerAuth
+    public R getItemData() {
+        List<Item> items = itemService.selectList(new EntityWrapper<Item>().eq("status", 1).orderBy("create_time", false));
+        return R.ok().add(items);
+    }
+
+    // 鑾峰彇鎵�鏈夐」鐩�
+    @RequestMapping("/item/all/get/kv")
+    @ManagerAuth
+    public R getItemDataKV() {
+        List<Item> items = itemService.selectList(new EntityWrapper<Item>().eq("status", 1).orderBy("create_time", false));
+        List<KeyValueVo> valueVos = new ArrayList<>();
+        for (Item item : items) {
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(item.getName());
+            vo.setValue(item.getId());
+            valueVos.add(vo);
+        }
+        return R.ok().add(valueVos);
+    }
+
 }

--
Gitblit v1.9.1