From 774e6e650b6235a9e34dfecab65c4322c1767714 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期五, 01 十二月 2023 16:48:15 +0800
Subject: [PATCH] feat: 库存管理 查询条件梳理

---
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java |   81 ++++++++++++++++++++++++++++------------
 1 files changed, 56 insertions(+), 25 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
index 27c9099..4b6bed5 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -1,6 +1,7 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
+import com.consum.base.core.utils.CommonUtil;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
 import com.consum.base.pojo.BaseGoodsTemplateParam;
@@ -11,9 +12,9 @@
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
 import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
-import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
@@ -29,7 +30,6 @@
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -57,7 +57,16 @@
      * @Date 2023/10/24
      */
     @PostMapping("/add")
-    public ResponseValue add(@RequestBody BaseGoodsTemplateParam param) {
+    public ResponseValue add() {
+        BaseGoodsTemplateParam param = CommonUtil.getObjFromReqBody(BaseGoodsTemplateParam.class);
+        BaseGoodsTemplateParam param2 = new BaseGoodsTemplateParam();
+        CommonUtil.copyProperties(param, param2);
+        param = param2;
+
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (param.getCategoryId() == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
         if (param.getCategoryId() == null) {
             return ResponseValue.error("鍒嗙被涓虹┖");
         }
@@ -70,7 +79,7 @@
             return ResponseValue.error("鐗╁搧鍚嶇О宸插瓨鍦�");
         }
 
-        int result = this.baseGoodsTemplateService.add(param, this.getCurrentUser());
+        int result = this.baseGoodsTemplateService.add(param, sysInfo);
         if (result > 0) {
             return ResponseValue.success(1);
         }
@@ -83,11 +92,17 @@
      * @Date 2023/10/24
      */
     @GetMapping("/list")
-    public ResponseValue queryList(BaseGoodsTemplateParam param) {
-        S_user_core currentUser = this.getCurrentUser();
-        if (currentUser == null) {
+    public ResponseValue queryList() {
+        BaseGoodsTemplateParam param = CommonUtil.getObjFromReq(BaseGoodsTemplateParam.class);
+        BaseGoodsTemplateParam param2 = new BaseGoodsTemplateParam();
+        CommonUtil.copyProperties(param, param2);
+        param = param2;
+
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
+        param.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
         GenericPager<BaseGoodsTemplate> pager = this.baseGoodsTemplateService.queryList(param);
         return ResponseValue.success(pager);
     }
@@ -116,7 +131,12 @@
      * @Date 2023/10/24
      */
     @PostMapping("/edit")
-    public ResponseValue edit(@RequestBody BaseGoodsTemplateParam param) {
+    public ResponseValue edit() {
+        BaseGoodsTemplateParam param = CommonUtil.getObjFromReqBody(BaseGoodsTemplateParam.class);
+        BaseGoodsTemplateParam param2 = new BaseGoodsTemplateParam();
+        CommonUtil.copyProperties(param, param2);
+        param = param2;
+
         if (StringUtils.isEmpty(param.getGoodsName())) {
             return ResponseValue.error("鐗╁搧鍚嶇О涓虹┖");
         }
@@ -137,7 +157,12 @@
      */
     //TODO 鐗╁搧鐨勭鐢ㄦ垨鍒犻櫎锛屼笉褰卞搷宸茬粡閲囪喘鍏ヨ繃搴撶殑鐗╁搧淇℃伅銆�
     @PostMapping("/updStatus")
-    public ResponseValue updateStatus(@RequestBody BaseGoodsTemplate goodsTemplate) {
+    public ResponseValue updateStatus() {
+        BaseGoodsTemplate goodsTemplate = CommonUtil.getObjFromReqBody(BaseGoodsTemplate.class);
+        BaseGoodsTemplate param2 = new BaseGoodsTemplate();
+        CommonUtil.copyProperties(goodsTemplate, param2);
+        goodsTemplate = param2;
+
         if (goodsTemplate == null || goodsTemplate.getId() == null || goodsTemplate.getStates() == null) {
             return ResponseValue.error("鍙傛暟閿欒");
         }
@@ -153,7 +178,12 @@
      */
     //TODO 鐗╁搧鐨勭鐢ㄦ垨鍒犻櫎锛屼笉褰卞搷宸茬粡閲囪喘鍏ヨ繃搴撶殑鐗╁搧淇℃伅銆�
     @DeleteMapping("/del")
-    public ResponseValue updateById(@RequestBody BaseGoodsTemplate goodsTemplate) {
+    public ResponseValue updateById() {
+        BaseGoodsTemplate goodsTemplate = CommonUtil.getObjFromReqBody(BaseGoodsTemplate.class);
+        BaseGoodsTemplate param2 = new BaseGoodsTemplate();
+        CommonUtil.copyProperties(goodsTemplate, param2);
+        goodsTemplate = param2;
+
         if (goodsTemplate.getId() == null) {
             return ResponseValue.error("鐗╁搧id涓虹┖");
         }
@@ -186,7 +216,7 @@
 
     @GetMapping("/query/goodsTemplate")
     public ResponseValue queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId) {
-        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId);
+        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId, null, null);
         if (list == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
@@ -196,29 +226,30 @@
 
     @ApiOperation(value = "鏌ヨ鏈烘瀯涓嬮粯璁や粨搴撲笅鐨勫垎绫绘ā鏉夸俊鎭�", notes = "鏌ヨ鏈烘瀯涓嬮粯璁や粨搴撲笅鐨勫垎绫绘ā鏉夸俊鎭�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "agencyId", value = "鐖剁骇鏈烘瀯id", required = true, dataType = "Long", paramType = "query"),
+        @ApiImplicitParam(name = "agencyId", value = "鐖剁骇鏈烘瀯id", required = true, dataType = "java.lang.Long", paramType = "query"),
         @ApiImplicitParam(name = "categoryId", value = "鍒嗙被id", required = true, dataType = "Long", paramType = "query")
     })
     @GetMapping("/query/warehouse/goods")
     public ResponseValue queryWarehouseGoods(Long agencyId, Long categoryId) {
 
+        // TODO 璋冩嫧鏌ヨ浠撳簱鐗╁搧
         Map<String, Object> map = new HashMap<>();
         map.put("categoryId", categoryId);
 
-        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId);
-        baseWarehouseList.forEach(baseWarehouse -> {
-            Integer isDefault = baseWarehouse.getIsDefault();
-            if (isDefault == 1) {
-                map.put("warehouseId", baseWarehouse.getId());
-            }
-        });
+        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId, (short) 1, (short) 1);
+        if (CollectionUtils.isEmpty(baseWarehouseList)) {
+            return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒");
 
-        String sql = "SELECT DISTINCT bgt.id,bgt.GOODS_NAME FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
-            + "WHERE WAREHOUSE_TYPE = 0 "
-            + "AND WAREHOUSE_ID = :warehouseId "
-            + "AND CATEGORY_ID = :categoryId "
-            // 1:闆嗛噰,2:鑷��璐�
-            + "AND BUY_TYPE =1";
+        }
+        map.put("warehouseId", baseWarehouseList.get(0).getId());
+
+        String sql =
+            "SELECT DISTINCT bgt.id,bgt.GOODS_NAME, CLASSIFICATION type FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
+                + "WHERE WAREHOUSE_TYPE = 0 "
+                + "AND WAREHOUSE_ID = :warehouseId "
+                + "AND CATEGORY_ID = :categoryId "
+                // 1:闆嗛噰,2:鑷噰
+                + "AND BUY_TYPE =1";
 
         List<GoodsTemplateVO> resultList = Lists.newArrayList();
         List<Map<String, Object>> goodsTemplateList = lWhGoodsService.select(sql, map, new MapperUtil());

--
Gitblit v1.9.1