consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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("出库单id为空"); } 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); } consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java
New file @@ -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; } } 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; } } 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; } }