From a74126e4f4fd6f2c896f41a67e001f5e2463c594 Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期一, 30 十月 2023 10:00:43 +0800
Subject: [PATCH] 出入库管理 相关代码

---
 consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java           |   33 ++++++
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java |   99 ++++++++++++++++++-
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java   |   57 +++++++++++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java            |   75 ++++++++++++++
 4 files changed, 254 insertions(+), 10 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
index 630e05c..0cf4d6a 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -1,20 +1,22 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
-import com.consum.base.pojo.BaseGoodsTemplateParam;
-import com.consum.base.pojo.LWhFormOutputParam;
+import com.consum.base.pojo.*;
 import com.consum.base.service.BaseCategoryServiceImpl;
 import com.consum.base.service.LWhFormOutputServiceImpl;
-import com.consum.model.po.BaseGoodsTemplate;
-import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
+import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-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;
+import org.springframework.web.bind.annotation.*;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @Description 鍑哄簱鍗�
@@ -44,6 +46,87 @@
         return ResponseValue.error("鏂板澶辫触锛�");
     }
 
+    /**
+     * @Description 鍒楄〃鏌ヨ
+     */
+    @GetMapping("/list")
+    public ResponseValue queryFormOutputList(LWhFormOutputParam param) {
+        S_user_core currentUser = this.getCurrentUser();
+        if (currentUser == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        FinSysTenantUser sysInfo = getSysInfo();
+
+        //鍙兘鏌ヨ鏈骇 鍙婁互涓嬫満鏋勭殑鍑哄簱鍗�
+        //??????
+
+        GenericPager genericPager = lWhFormOutputService.queryFormOutputList(param);
+        List<LWhFormOutput> datas = genericPager.getDatas();
+        ArrayList<LWhFormProcureExtend> newDatas = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(datas)) {
+            datas.forEach(item -> {
+                // 鏌ヨ鍨嬪彿鏁伴噺
+                LWhProcureModel lWhProcureModel = new LWhProcureModel();
+                lWhProcureModel.setBusinessType(3);
+                lWhProcureModel.setBusinessId(item.getId());
+                List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
+                LWhFormProcureExtend formProcureExtend = new LWhFormProcureExtend();
+                BeanUtils.copyProperties(item, formProcureExtend);
+                formProcureExtend.setModels(models);
+                newDatas.add(formProcureExtend);
+            });
+        }
+        try {
+            Field fieldDatas = GenericPager.class.getDeclaredField("datas");
+            fieldDatas.setAccessible(true);
+            fieldDatas.set(genericPager, newDatas);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+//        genericPager.setDatas(newDatas);
+        return ResponseValue.success(genericPager);
+    }
+
+    /**
+     * 鏍规嵁id鏌ヨ璇︽儏
+     */
+    @GetMapping("/detail")
+    public ResponseValue getById(Long id) throws IllegalAccessException {
+        if (id == null) {
+            return ResponseValue.error("鍑哄簱鍗昳d涓虹┖");
+        }
+        LWhFormOutput lWhFormOutput = lWhFormOutputService.get(new LWhFormOutput(id));
+        LWhFormOutputExtend formOutputExtend = new LWhFormOutputExtend();
+        BeanUtils.copyProperties(lWhFormOutput, formOutputExtend);
+
+        // 鐗╁搧
+        LWhFormProcureGoods lWhFormProcureGoods = new LWhFormProcureGoods();
+        lWhFormProcureGoods.setWhFormProcureId(id);
+        List<LWhFormProcureGoods> formProcureGoods = lWhFormOutputService.select(lWhFormProcureGoods);
+
+        Field fieldModels = null;
+        try {
+            fieldModels = LWhFormProcureGoodsParams.class.getDeclaredField("models");
+        } catch (NoSuchFieldException e) {
+            e.printStackTrace();
+        }
+        fieldModels.setAccessible(true);
+        ArrayList<LWhFormProcureGoodsParams> procureGoodsParams = new ArrayList<>();
+        for (LWhFormProcureGoods formProcureGood : formProcureGoods) {
+            LWhFormProcureGoodsParams lWhFormProcureGoodsParams = new LWhFormProcureGoodsParams();
+            BeanUtils.copyProperties(formProcureGood, lWhFormProcureGoodsParams);
+
+            // 鏌ヨ鍨嬪彿鏁伴噺
+            LWhProcureModel lWhProcureModel = new LWhProcureModel();
+            lWhProcureModel.setFromProcureGoodsId(formProcureGood.getId());
+            List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
+            fieldModels.set(lWhFormProcureGoodsParams, models);
+            procureGoodsParams.add(lWhFormProcureGoodsParams);
+        }
+        formOutputExtend.setProcureGoods(procureGoodsParams);
+        return ResponseValue.success("鏌ヨ鎴愬姛!", formOutputExtend);
+    }
+
 
 
 
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java
new file mode 100644
index 0000000..c8de041
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java
@@ -0,0 +1,33 @@
+package com.consum.base.pojo;
+
+import com.consum.model.po.LWhFormProcure;
+import com.consum.model.po.LWhProcureModel;
+
+import java.util.List;
+
+/**
+ * @Description
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/30
+ */
+public class LWhFormOutputExtend extends LWhFormProcure {
+
+    private List<LWhProcureModel> models;
+    private List<LWhFormProcureGoodsParams> procureGoods;
+
+    public List<LWhProcureModel> getModels() {
+        return models;
+    }
+
+    public void setModels(List<LWhProcureModel> models) {
+        this.models = models;
+    }
+
+    public List<LWhFormProcureGoodsParams> getProcureGoods() {
+        return procureGoods;
+    }
+
+    public void setProcureGoods(List<LWhFormProcureGoodsParams> procureGoods) {
+        this.procureGoods = procureGoods;
+    }
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
index 3825992..063d1cb 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
@@ -32,9 +32,34 @@
      */
     private Long baseGoodsTemplateId;
     /**
-     * 鐗╁搧鍚嶇О
+     * 鐗╁搧妯$増鍚嶇О
      */
     private String goodsTemplateName;
+    /**
+     * 鍑哄簱鍗曞彿
+     */
+    private String businessFormCode;
+    /**
+     * 鏈烘瀯
+     */
+    private Long agencyId;
+    /**
+     * 鍒涘缓浜�
+     */
+    private String operatorName;
+    /**
+     * 1=寰呭嚭搴擄紱2=宸插嚭搴�
+     */
+    private Short states;
+
+    /**
+     * 鍑哄簱鏃堕棿 寮�濮�
+     */
+    private Long outputTimeStart;
+    /**
+     * 鍑哄簱鏃堕棿 缁撴潫
+     */
+    private Long outputTimeEnd;
 
     public Long getWarehouseId() {
         return warehouseId;
@@ -75,4 +100,52 @@
     public void setGoodsTemplateName(String goodsTemplateName) {
         this.goodsTemplateName = goodsTemplateName;
     }
+
+    public String getBusinessFormCode() {
+        return businessFormCode;
+    }
+
+    public void setBusinessFormCode(String businessFormCode) {
+        this.businessFormCode = businessFormCode;
+    }
+
+    public Long getAgencyId() {
+        return agencyId;
+    }
+
+    public void setAgencyId(Long agencyId) {
+        this.agencyId = agencyId;
+    }
+
+    public String getOperatorName() {
+        return operatorName;
+    }
+
+    public void setOperatorName(String operatorName) {
+        this.operatorName = operatorName;
+    }
+
+    public Short getStates() {
+        return states;
+    }
+
+    public void setStates(Short states) {
+        this.states = states;
+    }
+
+    public Long getOutputTimeStart() {
+        return outputTimeStart;
+    }
+
+    public void setOutputTimeStart(Long outputTimeStart) {
+        this.outputTimeStart = outputTimeStart;
+    }
+
+    public Long getOutputTimeEnd() {
+        return outputTimeEnd;
+    }
+
+    public void setOutputTimeEnd(Long outputTimeEnd) {
+        this.outputTimeEnd = outputTimeEnd;
+    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
index 5ac7972..e493eaa 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
@@ -3,10 +3,13 @@
 import com.consum.base.Constants;
 import com.consum.base.core.param.BaseWarehouseParam1;
 import com.consum.base.pojo.LWhFormOutputParam;
+import com.consum.base.pojo.LWhFormProcureParam;
 import com.consum.base.util.IdUtil;
 import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
+import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +17,7 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -34,7 +38,10 @@
     @Autowired
     private LWhFormOutputCoreService lWhFormOutputCoreService;
 
-//    /**
+    private static String QUERY_FORM_OUTPUT_LIST = "SELECT * FROM l_wh_form_output WHERE 1 = 1";
+
+
+    //    /**
 //     * @Description 鏂板鍑哄簱鍗�
 //     * @Author 鍗㈠簡闃�
 //     * @Date 2023/10/27
@@ -201,4 +208,52 @@
 
         return 1;
     }
+
+    /**
+     * @Description  鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public GenericPager queryFormOutputList(LWhFormOutputParam param) {
+        HashMap<String, Object> paramts = new HashMap<>();
+        StringBuilder sql = new StringBuilder(QUERY_FORM_OUTPUT_LIST);
+        //鍑哄簱鍗曞彿
+        if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
+            sql.append(" and BUSINESS_FORM_CODE like :businessFormCode ");
+            paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
+        }
+        //鐗╁搧鍚嶇О
+        if (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
+            sql.append(" AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
+            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
+        }
+        //鏈烘瀯
+        if (param.getAgencyId() != null){
+            sql.append(" and AGENCY_ID like :agencyId ");
+            paramts.put("agencyId",  param.getAgencyId() + StringUtils.CHAR_PERCENT);
+        }
+        //鍒涘缓浜�
+        if (!StringUtils.isEmpty(param.getOperatorName())) {
+            sql.append(" and operator_name =:operator_name ");
+            paramts.put("operator_name", param.getOperatorName());
+        }
+        //鐘舵��
+        if (param.getStates() != null) {
+            sql.append(" and states =:states ");
+            paramts.put("states", param.getStates());
+        }
+        //鍑哄簱鏃堕棿
+        if (param.getOutputTimeStart() != null) {
+            sql.append(" and DEAL_TIME >=:outputTimeStart ");
+            paramts.put("outputTimeStart", param.getOutputTimeStart() * 1000000);
+        }
+        if (param.getOutputTimeEnd() != null) {
+            sql.append(" and DEAL_TIME <:outputTimeEnd ");
+            paramts.put("outputTimeEnd", param.getOutputTimeEnd() * 1000000 + 240000);
+        }
+
+        sql.append(" ORDER BY DEAL_TIME DESC");
+        GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormOutput());
+        return genericPager;
+    }
 }

--
Gitblit v1.9.1