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