From eb8577aac0f1f7d783ecd067e7eef05e53e7fd10 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期五, 27 十月 2023 17:24:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordService.java | 16 consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureGoodsParams.java | 97 +++++ consum-base/src/main/java/com/consum/base/core/tools/MapRowMapper.java | 31 + consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java | 51 +++ consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureExtend.java | 35 ++ consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java | 5 consum-base/src/main/java/com/consum/base/pojo/LWarehouseFlowParam.java | 116 ++++++ consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java | 38 ++ consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureParam.java | 162 +++++++++ consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 290 +++++++++++++++++ consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java | 63 +++ consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java | 13 consum-base/src/main/java/com/consum/base/service/LWhFormProcureGoodsService.java | 16 consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelParams.java | 43 ++ 14 files changed, 970 insertions(+), 6 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java b/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java new file mode 100644 index 0000000..bf18cec --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java @@ -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); + } +} diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java new file mode 100644 index 0000000..af38311 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -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(); + // 閲囪喘鍗昳d + 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("鍨嬪彿鐨勯噰璐暟閲忓彧鑳戒负姝f暣鏁�"); + } + Long price = modelT.getPrice(); + if (price == null || price <= 0) { + return ResponseValue.error("鍨嬪彿鐨勯噰璐环鏍煎彧鑳戒负姝f暟"); + } + 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); + + // 鎻掑叆 閲囪喘鍗曠墿鍝併�怢_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("閲囪喘鍗昳d涓虹┖"); + } + 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); + } +} diff --git a/consum-base/src/main/java/com/consum/base/core/tools/MapRowMapper.java b/consum-base/src/main/java/com/consum/base/core/tools/MapRowMapper.java new file mode 100644 index 0000000..721cbac --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/core/tools/MapRowMapper.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWarehouseFlowParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWarehouseFlowParam.java new file mode 100644 index 0000000..727d7fa --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/LWarehouseFlowParam.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureExtend.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureExtend.java new file mode 100644 index 0000000..494b8e6 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureExtend.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureGoodsParams.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureGoodsParams.java new file mode 100644 index 0000000..e80c181 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureGoodsParams.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureParam.java new file mode 100644 index 0000000..295e0de --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormProcureParam.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelParams.java b/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelParams.java new file mode 100644 index 0000000..ba90069 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelParams.java @@ -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; + } +} diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java index 8523934..6f37d34 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java +++ b/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; diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java index 31dd3ac..f1eb117 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java +++ b/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,60 @@ @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,record.THIS_TYPE thisType,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME END AS agencyName,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUYER_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.OPERATOR_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 LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.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 tCaiGou.BUSINESS_FORM_CODE=:businessFormCode" + + " WHEN flow.BUSINESS_TYPE = 3 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode"); + 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"+ + " WHEN flow.BUSINESS_TYPE = 3 THEN tCaiGou.OPERATOR_NAME LIKE :createdName END" + ); + paramts.put("createdName", StringUtils.CHAR_PERCENT + param.getCreatedName() + StringUtils.CHAR_PERCENT); + } + if (param.getDealTimeStart() != null) { + sql.append(" and flow.DEAL_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()); + } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java index db31877..31e2a83 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java @@ -37,13 +37,16 @@ * 绗竴姝ワ細閫氳繃閲囪喘鍗旾D鏌ヨ閲囪喘鍗曞瀷鍙枫�怢_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 "閲囪喘鍗昳d涓虹┖"; + } //閲囪喘鍗曚俊鎭� 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) { // 鏇存柊閲囪喘鍗曘�怢_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; } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureGoodsService.java new file mode 100644 index 0000000..979d037 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureGoodsService.java @@ -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 { + +} diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java index 7cc3c36..9272b32 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java +++ b/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; + + } + + } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordService.java b/consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordService.java new file mode 100644 index 0000000..f0c9d1c --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordService.java @@ -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 { + +} -- Gitblit v1.9.1