consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java
New file @@ -0,0 +1,38 @@ package com.consum.base.controller; import com.consum.base.BaseController; import com.consum.base.pojo.LWarehouseFlowParam; import com.consum.base.service.LWarehouseFlowService; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.web.ResponseValue; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Map; /** * @ClassName lWarehouseFlowController * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ @RestController @RequestMapping("/pc/warehouse/flow") public class LWarehouseFlowController extends BaseController { @Resource private LWarehouseFlowService lWarehouseFlowService; @GetMapping("/list") public ResponseValue queryFormProcureList(LWarehouseFlowParam param) { S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("登录用户信息不存在"); } GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryBusinessFlow(param); return ResponseValue.success(genericPager); } } consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
New file @@ -0,0 +1,290 @@ package com.consum.base.controller; import com.consum.base.BaseController; import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; import com.consum.base.core.WhBusinessEnum; import com.consum.base.pojo.LWhFormProcureExtend; import com.consum.base.pojo.LWhFormProcureGoodsParams; import com.consum.base.pojo.LWhFormProcureParam; import com.consum.base.pojo.LWhProcureModelParams; import com.consum.base.service.*; 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.DateUtils; import com.walker.infrastructure.utils.NumberGenerator; import com.walker.web.ResponseValue; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @ClassName LWhFormProcureController * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ @RestController @RequestMapping("/pc/whForm/procure") public class LWhFormProcureController extends BaseController { @Resource private LWhFormProcureService lWhFormProcureService; @Resource private BaseWarehouseServiceImpl baseWarehouseService; @Resource private FinSysTenantServiceImpl finSysTenantService; @Resource private CodeGeneratorService codeGeneratorService; @Resource private LWhFormProcureGoodsService lWhFormProcureGoodsService; @Resource private LWhFormProcureCoreService lWhFormProcureCoreService; @Resource private LWhGoodsService lWhGoodsService; @Resource private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; @Resource private LWhProcureModelService lWhProcureModelService; /** * @Description 新增 */ @PostMapping("/add") public ResponseValue add(@RequestBody LWhFormProcureParam param) { Long warehouseId = param.getWarehouseId(); if (param.getWarehouseId() == null) { return ResponseValue.error("仓库ID不能为空"); } BaseWarehouse baseWarehouse = baseWarehouseService.getById(warehouseId); // 只能添加本机构仓库的进货单 //?????? // List<LWhFormProcureGoodsParams> procureGoods = param.getProcureGoods(); if (CollectionUtils.isEmpty(procureGoods)) { return ResponseValue.error("采购单不能为空"); } S_user_core currentUser = this.getCurrentUser(); // 采购单id Long whFormProcureId = param.getId(); if (whFormProcureId == null) { whFormProcureId = NumberGenerator.getLongSequenceNumber(); } long procureTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); ArrayList<LWhFormProcureGoods> procureGoodList = new ArrayList<>(); ArrayList<LWhProcureModel> whProcureModeLlist = new ArrayList<>(); for (int i = 0; i < procureGoods.size(); i++) { LWhFormProcureGoodsParams procureGoodT = procureGoods.get(i); Long baseCategoryId = procureGoodT.getBaseCategoryId(); Long baseGoodsTemplateId = procureGoodT.getBaseGoodsTemplateId(); String supplier = procureGoodT.getSupplier(); List<LWhProcureModelParams> models = procureGoodT.getModels(); if (CollectionUtils.isEmpty(models)) { return ResponseValue.error("采购单不能为空"); } LWhFormProcureGoods procureGood = new LWhFormProcureGoods(); long fromProcureGoodsId = NumberGenerator.getLongSequenceNumber(); procureGood.setId(fromProcureGoodsId); procureGood.setWhFormProcureId(whFormProcureId); procureGood.setBaseCategoryId(baseCategoryId); procureGood.setBaseGoodsTemplateId(baseGoodsTemplateId); procureGood.setGoodsTemplateName(null); procureGood.setSupplier(supplier); procureGood.setSort(i); for (LWhProcureModelParams modelT : models) { Integer counts = modelT.getCounts(); if (counts == null || counts <= 0) { return ResponseValue.error("型号的采购数量只能为正整数"); } Long price = modelT.getPrice(); if (price == null || price <= 0) { return ResponseValue.error("型号的采购价格只能为正数"); } Long baseGoodsModelsId = modelT.getBaseGoodsModelsId(); if (baseGoodsModelsId == null) { return ResponseValue.error("采购的价型号未找到"); } //查询型号信息 Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId); if (tempGoodsInfo == null) { return ResponseValue.error("采购的价型号未找到"); } // 查询型号库存 int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseId, baseGoodsModelsId, (short) 1, null); LWhProcureModel model = new LWhProcureModel(); model.setId(NumberGenerator.getLongSequenceNumber()); model.setFromProcureGoodsId(fromProcureGoodsId); model.setBusinessType(WhBusinessEnum.CAIGOU.getValue() + 0); model.setBusinessId(whFormProcureId); model.setBaseGoodsModelsId(baseGoodsModelsId); model.setPrice(price); model.setCounts(counts); model.setWorehouseCount(goodsModelNum); model.setSupplier(supplier); whProcureModeLlist.add(model); } procureGoodList.add(procureGood); } lWhFormProcureGoodsService.insertBatch(procureGoodList); lWhProcureModelService.insertBatch(whProcureModeLlist); // 插入 采购单物品【L_WH_FORM_PROCURE_GOODS】 LWhFormProcure lWhFormProcure = new LWhFormProcure(); lWhFormProcure.setId(whFormProcureId); lWhFormProcure.setBusinessFormCode(codeGeneratorService.createCodeByPrefix(CodeGeneratorEnum.Procure_Warehouse.getValue(), 10)); lWhFormProcure.setWarehouseId(warehouseId); lWhFormProcure.setWarehouseName(baseWarehouse.getWarehouseName()); lWhFormProcure.setBuyerId(currentUser.getId()); lWhFormProcure.setBuyerName(currentUser.getNick_name()); lWhFormProcure.setProcureTime(procureTime); lWhFormProcure.setProcureDoc(param.getProcureDoc()); lWhFormProcure.setBuyType(param.getBuyType()); lWhFormProcure.setStates(1); lWhFormProcure.setAgencyId(baseWarehouse.getAgencyId()); lWhFormProcure.setAgencyName(baseWarehouse.getAgencyName()); int result = lWhFormProcureService.insert(lWhFormProcure); if (result > 0) return ResponseValue.success(1); return ResponseValue.error("新增失败!"); } /** * @Description 列表查询 */ @GetMapping("/list") public ResponseValue queryFormProcureList(LWhFormProcureParam param) { S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("登录用户信息不存在"); } FinSysTenantUser sysInfo = getSysInfo(); //只能查询本级 及以下机构的进货单 //?????? GenericPager genericPager = lWhFormProcureService.queryFormProcureList(param); List<LWhFormProcure> datas = genericPager.getDatas(); ArrayList<LWhFormProcureExtend> newDatas = new ArrayList<>(); if (!CollectionUtils.isEmpty(datas)) { datas.forEach(item -> { // 查询型号数量 LWhProcureModel lWhProcureModel = new LWhProcureModel(); lWhProcureModel.setBusinessType(1); lWhProcureModel.setBusinessId(item.getId()); List<LWhProcureModel> models = lWhProcureModelService.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); } /** * @Description 编辑 */ @PostMapping("/edit") public ResponseValue edit(@RequestBody LWhFormProcureParam param) { ResponseValue delFlag = delById(param.getId()); if (delFlag.getCode() == ResponseValue.CODE_SUCCESS) { return this.add(param); } return ResponseValue.error("编辑失败!"); } /** * @Description 根据id删除 */ @DeleteMapping("/del") public ResponseValue delById(Long id) { if (id == null) { return ResponseValue.error("参数不能为空!"); } LWhFormProcure lWhFormProcure = lWhFormProcureService.get(new LWhFormProcure(id)); if (lWhFormProcure == null) { return ResponseValue.error("删除失败!"); } if (lWhFormProcure.getStates() != 1) { return ResponseValue.error("待入库状态才能删除!"); } int num = lWhFormProcureService.delete(new LWhFormProcure(id)); if (num == 0) { return ResponseValue.error("删除失败!"); } lWhFormProcureGoodsService.update("delete from L_WH_FORM_PROCURE_GOODS where WH_FORM_PROCURE_ID=" + id); lWhProcureModelService.update("delete from L_WH_PROCURE_MODEL where BUSINESS_TYPE =1 and BUSINESS_ID=" + id); return ResponseValue.success(1); } /** * 入库操作 */ @PostMapping("/income") public ResponseValue income(Long id) { String errMsg = lWhFormProcureCoreService.doProcure(id, getCurrentUser()); if (errMsg == null) { return ResponseValue.success(); } return ResponseValue.error(errMsg); } /** * 根据id查询详情 */ @GetMapping("/detail") public ResponseValue getById(Long id) throws IllegalAccessException { if (id == null) { return ResponseValue.error("采购单id为空"); } LWhFormProcure lWhFormProcure = lWhFormProcureService.get(new LWhFormProcure(id)); LWhFormProcureExtend formProcureExtend = new LWhFormProcureExtend(); BeanUtils.copyProperties(lWhFormProcure, formProcureExtend); // 物品 LWhFormProcureGoods lWhFormProcureGoods = new LWhFormProcureGoods(); lWhFormProcureGoods.setWhFormProcureId(id); List<LWhFormProcureGoods> formProcureGoods = lWhFormProcureGoodsService.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 = lWhProcureModelService.select(lWhProcureModel); fieldModels.set(lWhFormProcureGoodsParams, models); procureGoodsParams.add(lWhFormProcureGoodsParams); } formProcureExtend.setProcureGoods(procureGoodsParams); return ResponseValue.success("查询成功!", formProcureExtend); } } consum-base/src/main/java/com/consum/base/core/tools/MapRowMapper.java
New file @@ -0,0 +1,31 @@ package com.consum.base.core.tools; import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; /** * @ClassName MapRowMapper * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class MapRowMapper implements RowMapper<Map<String, Object>> { @Override public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { Map<String, Object> row = new HashMap<>(); int columnCount = rs.getMetaData().getColumnCount(); for (int i = 1; i <= columnCount; i++) { String columnName = rs.getMetaData().getColumnName(i); Object columnValue = rs.getObject(i); row.put(columnName, columnValue); } return row; } } consum-base/src/main/java/com/consum/base/pojo/LWarehouseFlowParam.java
New file @@ -0,0 +1,116 @@ package com.consum.base.pojo; import com.walker.web.param.ParamRequest; /** * @ClassName LWarehouseFlowParam * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class LWarehouseFlowParam extends ParamRequest { //单据类型 1 采购2 调拨 3出库4部门分发 private Short businessType; // 业务单据编号 private Long businessFormCode; //物品名称 private String goodsTemplateName; //规格型号 private String baseGoodsModelsName; // 机构 private Long agencyId; //创建人 private String createdName; // 操作时间 private Long dealTimeStart; private Long dealTimeEnd; public Short getBusinessType() { return businessType; } public void setBusinessType(Short businessType) { this.businessType = businessType; } public Long getBusinessFormCode() { return businessFormCode; } public void setBusinessFormCode(Long businessFormCode) { this.businessFormCode = businessFormCode; } public String getGoodsTemplateName() { return goodsTemplateName; } public void setGoodsTemplateName(String goodsTemplateName) { this.goodsTemplateName = goodsTemplateName; } public String getBaseGoodsModelsName() { return baseGoodsModelsName; } public void setBaseGoodsModelsName(String baseGoodsModelsName) { this.baseGoodsModelsName = baseGoodsModelsName; } public Long getAgencyId() { return agencyId; } public void setAgencyId(Long agencyId) { this.agencyId = agencyId; } public String getCreatedName() { return createdName; } public void setCreatedName(String createdName) { this.createdName = createdName; } public Long getDealTimeStart() { return dealTimeStart; } public void setDealTimeStart(Long dealTimeStart) { this.dealTimeStart = dealTimeStart; } public Long getDealTimeEnd() { return dealTimeEnd; } public void setDealTimeEnd(Long dealTimeEnd) { this.dealTimeEnd = dealTimeEnd; } private Integer pageSize = 10; private Integer pageNum = 1; public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getPageNum() { return pageNum; } public void setPageNum(Integer pageNum) { this.pageNum = pageNum; } } consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureExtend.java
New file @@ -0,0 +1,35 @@ package com.consum.base.pojo; import com.consum.model.po.LWhFormProcure; import com.consum.model.po.LWhProcureModel; import java.util.List; /** * @ClassName LWhFormProcureExtend * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class LWhFormProcureExtend 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/LWhFormProcureGoodsParams.java
New file @@ -0,0 +1,97 @@ package com.consum.base.pojo; import com.walker.web.param.ParamRequest; import java.util.List; /** * @ClassName LWhFormProcureGoodsParams * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class LWhFormProcureGoodsParams extends ParamRequest { //分类编号 private Long baseCategoryId = null; //物品模版编号 private Long baseGoodsTemplateId = null; //供应商 private String supplier = null; private List<LWhProcureModelParams> models; public Long getBaseCategoryId() { return baseCategoryId; } public void setBaseCategoryId(Long baseCategoryId) { this.baseCategoryId = baseCategoryId; } public Long getBaseGoodsTemplateId() { return baseGoodsTemplateId; } public void setBaseGoodsTemplateId(Long baseGoodsTemplateId) { this.baseGoodsTemplateId = baseGoodsTemplateId; } public String getSupplier() { return supplier; } public void setSupplier(String supplier) { this.supplier = supplier; } public List<LWhProcureModelParams> getModels() { return models; } public void setModels(List<LWhProcureModelParams> models) { this.models = models; } // 主键 private Long id = null; // 属性列表 private Long whFormProcureId = null; private String goodsTemplateName = null; private Integer sort = null; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getWhFormProcureId() { return whFormProcureId; } public void setWhFormProcureId(Long whFormProcureId) { this.whFormProcureId = whFormProcureId; } public String getGoodsTemplateName() { return goodsTemplateName; } public void setGoodsTemplateName(String goodsTemplateName) { this.goodsTemplateName = goodsTemplateName; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } } consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureParam.java
New file @@ -0,0 +1,162 @@ package com.consum.base.pojo; import com.walker.web.param.ParamRequest; import java.util.List; /** * @ClassName LWhFormProcureParam * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class LWhFormProcureParam extends ParamRequest { private Long id; /** * 仓库编号 */ private Long warehouseId; /** * 采购手续 */ private String procureDoc; /** * 采购方式(1:集采;2=自采) */ private Integer buyType = null; /** * 采购单型号 */ private List<LWhFormProcureGoodsParams> procureGoods; public Long getWarehouseId() { return warehouseId; } public void setWarehouseId(Long warehouseId) { this.warehouseId = warehouseId; } public String getProcureDoc() { return procureDoc; } public void setProcureDoc(String procureDoc) { this.procureDoc = procureDoc; } public Integer getBuyType() { return buyType; } public void setBuyType(Integer buyType) { this.buyType = buyType; } public List<LWhFormProcureGoodsParams> getProcureGoods() { return procureGoods; } public void setProcureGoods(List<LWhFormProcureGoodsParams> procureGoods) { this.procureGoods = procureGoods; } /** * 入库单号 */ private String businessFormCode; /** * 物品模版名称 */ private String goodsTemplateName; /** * 机构 */ private Long agencyId; /** * 创建人 */ private String buyerName; /** * 1=待入库;2=已入库 */ private Short states; /** * 入库时间 开始 */ private Long incomeTimeStart; /** * 入库时间 结束 */ private Long incomeTimeEnd; public String getBusinessFormCode() { return businessFormCode; } public void setBusinessFormCode(String businessFormCode) { this.businessFormCode = businessFormCode; } public String getGoodsTemplateName() { return goodsTemplateName; } public void setGoodsTemplateName(String goodsTemplateName) { this.goodsTemplateName = goodsTemplateName; } public Long getAgencyId() { return agencyId; } public void setAgencyId(Long agencyId) { this.agencyId = agencyId; } public String getBuyerName() { return buyerName; } public void setBuyerName(String buyerName) { this.buyerName = buyerName; } public Short getStates() { return states; } public void setStates(Short states) { this.states = states; } public Long getIncomeTimeStart() { return incomeTimeStart; } public void setIncomeTimeStart(Long incomeTimeStart) { this.incomeTimeStart = incomeTimeStart; } public Long getIncomeTimeEnd() { return incomeTimeEnd; } public void setIncomeTimeEnd(Long incomeTimeEnd) { this.incomeTimeEnd = incomeTimeEnd; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } } consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelParams.java
New file @@ -0,0 +1,43 @@ package com.consum.base.pojo; import com.walker.web.param.ParamRequest; /** * @ClassName LWhProcureModelParams * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ public class LWhProcureModelParams extends ParamRequest { // //规格型号编号 private Long baseGoodsModelsId = null; //价格 private Long price = null; //数量 private Integer counts = null; public Long getPrice() { return price; } public void setPrice(Long price) { this.price = price; } public Integer getCounts() { return counts; } public void setCounts(Integer counts) { this.counts = counts; } public Long getBaseGoodsModelsId() { return baseGoodsModelsId; } public void setBaseGoodsModelsId(Long baseGoodsModelsId) { this.baseGoodsModelsId = baseGoodsModelsId; } } consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -31,18 +31,20 @@ private SimpleJdbcCall simpleJdbcCall; private LWarehouseFlowService lWarehouseFlowService; private LWhGoodsService lWhGoodsService; private LWhGoodsRecordService lWhGoodsRecordService; private LWhFormTransferService lWhFormTransferService; private LWhFormOutputCoreService lWhFormOutputCoreService; private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; @Autowired public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, LWhFormTransferService lWhFormTransferService, LWhFormOutputCoreService lWhFormOutputCoreService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService) { public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, LWhFormTransferService lWhFormTransferService, LWhFormOutputCoreService lWhFormOutputCoreService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) { this.jdbcTemplate = jdbcTemplate; this.lWarehouseFlowService = lWarehouseFlowService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhFormTransferService = lWhFormTransferService; this.lWhFormOutputCoreService = lWhFormOutputCoreService; this.lWhGoodsService = lWhGoodsService; this.lWhGoodsRecordService = lWhGoodsRecordService; this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertL_WH_GOODS"); } @@ -138,6 +140,7 @@ supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts); }); } lWhGoodsRecordService.insert(whGoodsRecord); }); return 1; consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java
@@ -1,7 +1,14 @@ package com.consum.base.service; import com.consum.base.core.tools.MapRowMapper; import com.consum.base.pojo.LWarehouseFlowParam; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; /** * @ClassName LWarehouseFlowService @@ -13,4 +20,56 @@ @Service public class LWarehouseFlowService extends BaseServiceImpl { /** * 查询明细 * * @param param * @return */ private static String QUERY_BUSINESS_FLOW = "SELECT flow.BUSINESS_TYPE businessType,flow.BUSINESS_FORM_ID businessFormId,tCaiGou.BUSINESS_FORM_CODE businessFormCode,record.GOODS_TEMPLATE_NAME goodsTemplateName,record.BASE_GOODS_MODELS_NAME baseGoodsModelsName,record.THIS_COUNT thisCount,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME END AS agencyName,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUYER_NAME END AS createdName,flow.DEAL_TIME dealTime FROM L_WAREHOUSE_FLOW flow LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID WHERE 1=1"; public GenericPager<Map<String, Object>> queryBusinessFlow(LWarehouseFlowParam param) { StringBuilder sql = new StringBuilder(QUERY_BUSINESS_FLOW); Map<String, Object> paramts = new HashMap<>(); // ArrayList<Object> params = new ArrayList<>(); if (param.getBusinessType() != null) { sql.append(" and flow.BUSINESS_TYPE =:businessType"); paramts.put("businessType", param.getBusinessType()); // sql.append(" and flow.BUSINESS_TYPE =?"); // params.add(param.getBusinessType()); } if (param.getBusinessFormCode() != null) { sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN flow.BUSINESS_FORM_CODE=:businessFormCode END"); paramts.put("businessFormCode", param.getBusinessFormCode()); // sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN flow.BUSINESS_FORM_CODE=?"); // params.add(param.getBusinessFormCode()); } if (param.getGoodsTemplateName() != null) { sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); // sql.append(" AND record.GOODS_TEMPLATE_NAME like ?"); // params.add(StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); } if (param.getBaseGoodsModelsName() != null) { sql.append(" AND record.BASE_GOODS_MODELS_NAME like :baseGoodsModelsName"); paramts.put("baseGoodsModelsName", StringUtils.CHAR_PERCENT + param.getBaseGoodsModelsName() + StringUtils.CHAR_PERCENT); } if (param.getAgencyId() != null) { sql.append(" AND tCaiGou.AGENCY_id=:agencyId"); paramts.put("agencyId", param.getAgencyId()); } if (param.getCreatedName() != null) { sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME LIKE :createdName END"); paramts.put("createdName", StringUtils.CHAR_PERCENT + param.getCreatedName() + StringUtils.CHAR_PERCENT); } if (param.getDealTimeStart() != null) { sql.append(" and INCOME_TIME >=:dealTimeStart "); paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000); } if (param.getDealTimeEnd() != null) { sql.append(" and flow.DEAL_TIME <:dealTimeEnd "); paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000); } return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper()); } } consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
@@ -37,13 +37,16 @@ * 第一步:通过采购单ID查询采购单型号【L_WH_PROCURE_MODEL】得到商品型号以及数量 * 第二步:记录进出库流水:L_WAREHOUSE_FLOW */ public void doProcure(Long whFormProcureId, S_user_core currentUser) { public String doProcure(Long whFormProcureId, S_user_core currentUser) { if (whFormProcureId == null) { return "采购单id为空"; } //采购单信息 LWhFormProcure whFormProcure = new LWhFormProcure(whFormProcureId); LWhFormProcure lWhFormProcure = lWhFormProcureService.get(whFormProcure); if (lWhFormProcure == null || lWhFormProcure.getStates() != 0) { if (lWhFormProcure == null || lWhFormProcure.getStates() != 1) { log.error("入库失败!请检查入库单状态"); return; return "入库失败!请检查入库单状态"; } Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); @@ -65,7 +68,7 @@ int flowInsertFlag = lWarehouseFlowService.buyInsertWareFlow(goodsModelNum, lWhFormProcure, warehouseFlow); if (flowInsertFlag == 1) { // 更新采购单【L_WH_FORM_PROCURE】 whFormProcure.setStates(1); whFormProcure.setStates(2); whFormProcure.setLWarehouseFlowId(lWarehouseFlowId); whFormProcure.setIncomeId(userId); whFormProcure.setIncomeName(nickName); @@ -73,7 +76,7 @@ lWhFormProcureService.update(whFormProcure); } log.info("入库单:{} 入库完成", whFormProcureId); return; return null; } } consum-base/src/main/java/com/consum/base/service/LWhFormProcureGoodsService.java
New file @@ -0,0 +1,16 @@ package com.consum.base.service; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; /** * @ClassName LWhFormProcureGoodsService * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ @Service public class LWhFormProcureGoodsService extends BaseServiceImpl { } consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java
@@ -1,7 +1,13 @@ package com.consum.base.service; import com.consum.base.pojo.LWhFormProcureParam; import com.consum.model.po.LWhFormProcure; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; import java.util.HashMap; /** * @ClassName lWhFormProcureService @@ -13,4 +19,49 @@ @Service public class LWhFormProcureService extends BaseServiceImpl { private static String QUERY_FORM_PROCURE_LIST = "SELECT * FROM L_WH_FORM_PROCURE WHERE 1 = 1"; public GenericPager<LWhFormProcure> queryFormProcureList(LWhFormProcureParam param) { HashMap<String, Object> paramts = new HashMap<>(); StringBuilder sql = new StringBuilder(QUERY_FORM_PROCURE_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 (param.getAgencyId() != null){ sql.append(" and AGENCY_ID like :agencyId "); paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT); } //创建人 if (!StringUtils.isEmpty(param.getBuyerName())) { sql.append(" and buyer_Name =:buyerName "); paramts.put("buyerName", param.getBuyerName()); } //状态 if (param.getStates() != null) { sql.append(" and status =:status "); paramts.put("status", param.getStates()); } //入库时间 if (param.getIncomeTimeStart() != null) { sql.append(" and INCOME_TIME >=:incomeTimeStart "); paramts.put("incomeTimeStart", param.getIncomeTimeStart() * 1000000); } if (param.getIncomeTimeEnd() != null) { sql.append(" and INCOME_TIME <:incomeTimeEnd "); paramts.put("incomeTimeEnd", param.getIncomeTimeEnd() * 1000000 + 240000); } //物品名称 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); } sql.append(" ORDER BY PROCURE_TIME DESC"); GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormProcure()); return genericPager; } } consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordService.java
New file @@ -0,0 +1,16 @@ package com.consum.base.service; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; /** * @ClassName LWhGoodsRecordService * @Author cy * @Date 2023/10/27 * @Description * @Version 1.0 **/ @Service public class LWhGoodsRecordService extends BaseServiceImpl { } consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -39,11 +39,11 @@ paramts.put("warehouseId", warehouseId); } if (baseGoodsModelsId != null) { sql.append(" and BASE_GOODS_TEMPLATE_ID=:baseGoodsModelsId"); sql.append(" and BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); paramts.put("baseGoodsModelsId", baseGoodsModelsId); } if (states != null) { sql.append(" and STATES=:STATES"); sql.append(" and STATES=:states"); paramts.put("states", states); } if (buyType != null) {