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