From 76c7d995ac56b60880e998df5e9e3d82fea313f8 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 07 十二月 2023 11:58:15 +0800 Subject: [PATCH] 出库单金额处理 --- consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java | 30 +- consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java | 6 consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java | 12 - consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java | 27 ++ consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java | 30 +- consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java | 139 ++++++++++--- consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java | 10 consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java | 47 ++-- consum-base/src/main/java/com/consum/base/core/type/CategoryType.java | 48 ++++ consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java | 26 -- consum-base/src/main/java/com/consum/base/core/type/MixType.java | 2 /dev/null | 33 --- consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java | 6 consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java | 16 + consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java | 13 + consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java | 30 ++ consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java | 39 +++ consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java | 2 consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java | 5 consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 76 +++--- consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java | 2 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java | 1 22 files changed, 376 insertions(+), 224 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 8465516..55f8dcc 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 @@ -25,15 +25,16 @@ import com.consum.base.BaseController; import com.consum.base.core.utils.CommonUtil; +import com.consum.base.core.utils.CurrencyUtil; import com.consum.base.core.utils.PageUtil; import com.consum.base.pojo.LWhFormOutputParam; import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.excel.OutputExcelTemplate; import com.consum.base.pojo.query.LWhFormOutputQry; -import com.consum.base.pojo.response.FormOutputGoodsVO; import com.consum.base.pojo.response.FormOutputVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.GoodsTemplateCountVO; +import com.consum.base.pojo.response.GoodsTemplateInfoVO; import com.consum.base.pojo.response.LWhFormOutputExtendVO; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhFormOutputService; @@ -156,32 +157,31 @@ lWhFormOutputExtendVO.setDoc(lWhFormOutput.getOutputDoc()); List<GoodModelInfoDTO> goodsModelList = - lWhProcureModelService.getGoodsModelListByBusinessId(lWhFormOutputExtendVO.getId()); + lWhProcureModelService.getGoodsModelListByBusinessId(lWhFormOutputExtendVO.getId(), null); if (CollectionUtils.isEmpty(goodsModelList)) { return ResponseValue.success(lWhFormOutputExtendVO); } Map<Long, List<GoodModelInfoDTO>> collect = goodsModelList.stream().collect(Collectors.groupingBy(GoodModelInfoDTO::getBaseGoodsTemplateId)); - List<FormOutputGoodsVO> fromOutputGoods = Lists.newArrayList(); + List<GoodsTemplateInfoVO> goodsTemplateInfoList = Lists.newArrayList(); for (Map.Entry<Long, List<GoodModelInfoDTO>> entry : collect.entrySet()) { - FormOutputGoodsVO formOutputGoodsVO = getFormOutputGoodsVO(entry); - fromOutputGoods.add(formOutputGoodsVO); + GoodsTemplateInfoVO goodsTemplateInfoVO = getFormOutputGoodsVO(entry); + goodsTemplateInfoList.add(goodsTemplateInfoVO); } - lWhFormOutputExtendVO.setFromOutputGoods(fromOutputGoods); + lWhFormOutputExtendVO.setFromOutputGoods(goodsTemplateInfoList); return ResponseValue.success("鏌ヨ鎴愬姛!", lWhFormOutputExtendVO); } - private static FormOutputGoodsVO getFormOutputGoodsVO(Entry<Long, List<GoodModelInfoDTO>> entry) { + private GoodsTemplateInfoVO getFormOutputGoodsVO(Entry<Long, List<GoodModelInfoDTO>> entry) { Long baseGoodsTemplateId = entry.getKey(); List<GoodModelInfoDTO> goodModelInfoDTOS = entry.getValue(); GoodModelInfoDTO goodModelInfoDTO = goodModelInfoDTOS.stream().findFirst().orElse(null); - FormOutputGoodsVO formOutputGoodsVO = new FormOutputGoodsVO(); + GoodsTemplateInfoVO goodsTemplateInfoVO = new GoodsTemplateInfoVO(); if (goodModelInfoDTO != null) { - formOutputGoodsVO.setId(baseGoodsTemplateId); - formOutputGoodsVO.setCategoryId(goodModelInfoDTO.getCategoryId()); - formOutputGoodsVO.setCategoryName(goodModelInfoDTO.getCategoryName()); - formOutputGoodsVO.setGoodsName(goodModelInfoDTO.getBaseGoodsModelsName()); + goodsTemplateInfoVO.setId(baseGoodsTemplateId); + goodsTemplateInfoVO.setCategoryName(goodModelInfoDTO.getCategoryName()); + goodsTemplateInfoVO.setGoodsName(goodModelInfoDTO.getBaseGoodsModelsName()); } List<GoodsModelVO> goodsModelList = Lists.newArrayList(); for (GoodModelInfoDTO goodModelInfo : goodModelInfoDTOS) { @@ -190,11 +190,11 @@ goodsModelVO.setBaseGoodsModelsName(goodModelInfo.getBaseGoodsModelsName()); goodsModelVO.setUnit(goodModelInfo.getUnit()); goodsModelVO.setCounts(goodModelInfo.getCounts()); - goodsModelVO.setTotalAmount(goodModelInfo.getTotalAmount()); + goodsModelVO.setTotalAmount(CurrencyUtil.convertFenToYuan(goodModelInfo.getTotalAmount())); goodsModelList.add(goodsModelVO); } - formOutputGoodsVO.setModels(goodsModelList); - return formOutputGoodsVO; + goodsTemplateInfoVO.setModels(goodsModelList); + return goodsTemplateInfoVO; } @ApiOperation(value = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�", notes = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�") 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 index a6e626a..c6ed00a 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -21,24 +21,22 @@ import com.consum.base.BaseController; import com.consum.base.core.utils.CommonUtil; -import com.consum.base.core.utils.MapUtils; -import com.consum.base.core.utils.MapperUtil; import com.consum.base.core.utils.PageUtil; import com.consum.base.pojo.LWhFormProcureGoodsInfoParam; import com.consum.base.pojo.LWhFormProcureParam; +import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.excel.ProcureExcelTemplate; import com.consum.base.pojo.query.FormProcureQry; import com.consum.base.pojo.response.FormProcureVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.GoodsTemplateCountVO; +import com.consum.base.pojo.response.GoodsTemplateInfoVO; import com.consum.base.pojo.response.LWhFormProcureExtendVO; -import com.consum.base.pojo.response.LWhFormProcureGoodsVO; import com.consum.base.service.BaseGoodsTemplateService; -import com.consum.base.service.impl.LWhFormProcureCoreService; import com.consum.base.service.LWhFormProcureGoodsService; import com.consum.base.service.LWhFormProcureService; import com.consum.base.service.LWhProcureModelService; -import com.consum.model.po.BaseGoodsTemplate; +import com.consum.base.service.impl.LWhFormProcureCoreService; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormProcure; import com.consum.model.po.LWhFormProcureGoods; @@ -228,45 +226,49 @@ lWhFormProcureGoods.setWhFormProcureId(id); List<LWhFormProcureGoods> formProcureGoods = lWhFormProcureGoodsServiceImpl.select(lWhFormProcureGoods); - // Field fieldModels = null; - // try { - // fieldModels = LWhFormProcureGoodsVO.class.getDeclaredField("models"); - // } catch (NoSuchFieldException e) { - // e.printStackTrace(); - // } - // fieldModels.setAccessible(true); - ArrayList<LWhFormProcureGoodsVO> procureGoodsVOList = new ArrayList<>(); + List<GoodsTemplateInfoVO> goodsTemplateInfoList = new ArrayList<>(); for (LWhFormProcureGoods formProcureGood : formProcureGoods) { - LWhFormProcureGoodsVO lWhFormProcureGoodsVO = new LWhFormProcureGoodsVO(); - BeanUtils.copyProperties(formProcureGood, lWhFormProcureGoodsVO); + GoodsTemplateInfoVO goodsTemplateInfoVO = new GoodsTemplateInfoVO(); + BeanUtils.copyProperties(formProcureGood, goodsTemplateInfoVO); - Long baseGoodsTemplateId = formProcureGood.getBaseGoodsTemplateId(); - BaseGoodsTemplate queryEntity = new BaseGoodsTemplate(); - queryEntity.setId(baseGoodsTemplateId); - BaseGoodsTemplate baseGoodsTemplate = baseGoodsTemplateService.get(queryEntity); - lWhFormProcureGoodsVO.setBaseCategoryName(baseGoodsTemplate.getCategoryName()); - // 鏌ヨ鍨嬪彿鏁伴噺 - Map<String, Object> paramMap = new HashMap<>(); - paramMap.put("formProcureGoodId", formProcureGood.getId()); - String sql = "SELECT\n" - + "pm.BASE_GOODS_MODELS_ID,pm.BASE_GOODS_MODELS_NAME,pm.PRICE,pm.COUNTS,pm.WOREHOUSE_COUNT,bgm.unit " - + "FROM\n" + "\tl_wh_procure_model pm\n" - + "\tLEFT JOIN base_goods_models bgm on pm.BASE_GOODS_MODELS_ID = bgm.id where pm.FROM_PROCURE_GOODS_ID =:formProcureGoodId"; - List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil()); - List<GoodsModelVO> goodsModelVOList = Lists.newArrayList(); - procureModelList.forEach(item -> { - GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class); - goodsModelVOList.add(goodsModelVO); - }); - // fieldModels.set(lWhFormProcureGoodsVO, goodsModelVOList); - ReflectUtil.setFieldValue(lWhFormProcureGoodsVO, "models", goodsModelVOList); + List<GoodModelInfoDTO> goodsModelInfoList = + lWhProcureModelService.getGoodsModelListByBusinessId(null, formProcureGood.getId()); + if (CollectionUtils.isEmpty(goodsModelInfoList)) { + continue; + } + GoodModelInfoDTO goodModelInfoDTO = goodsModelInfoList.stream().findFirst().orElse(null); + if (goodModelInfoDTO != null) { + goodsTemplateInfoVO.setBaseCategoryName(goodModelInfoDTO.getCategoryName()); + } + List<GoodsModelVO> goodsModelList = Lists.newArrayList(); + for (GoodModelInfoDTO goodModelInfo : goodsModelInfoList) { + GoodsModelVO goodsModelVO = getGoodsModelVO(goodModelInfo); + goodsModelList.add(goodsModelVO); + } - procureGoodsVOList.add(lWhFormProcureGoodsVO); + ReflectUtil.setFieldValue(goodsTemplateInfoVO, "models", goodsModelList); + + goodsTemplateInfoList.add(goodsTemplateInfoVO); } - lWhFormProcureExtendVO.setProcureGoods(procureGoodsVOList); + lWhFormProcureExtendVO.setProcureGoods(goodsTemplateInfoList); return ResponseValue.success("鏌ヨ鎴愬姛!", lWhFormProcureExtendVO); } + private GoodsModelVO getGoodsModelVO(GoodModelInfoDTO goodModelInfo) { + GoodsModelVO goodsModelVO = new GoodsModelVO(); + + goodsModelVO.setId(goodModelInfo.getId()); + goodsModelVO.setBaseGoodsModelsName(goodModelInfo.getBaseGoodsModelsName()); + goodsModelVO.setUnit(goodModelInfo.getUnit()); + goodsModelVO.setCounts(goodModelInfo.getCounts()); + goodsModelVO.setTotalAmount( + goodModelInfo.getTotalAmount() != null ? goodModelInfo.getTotalAmount().doubleValue() : null); + goodsModelVO.setWorehouseCount(goodModelInfo.getWorehouseCount()); + goodsModelVO.setPrice(goodModelInfo.getPrice()); + goodsModelVO.setBaseGoodsModelsId(goodModelInfo.getBaseGoodsModelsId()); + return goodsModelVO; + } + @ApiOperation(value = "閲囪喘鍗曟槑缁嗘煡璇�", notes = "閲囪喘鍗曟槑缁嗘煡璇�") @ApiImplicitParams({@ApiImplicitParam(name = "param", value = "閲囪喘鍗曟槑缁嗘煡璇�", required = true, dataType = "FormProcureQryDto", paramType = "query")}) diff --git a/consum-base/src/main/java/com/consum/base/core/type/CategoryType.java b/consum-base/src/main/java/com/consum/base/core/type/CategoryType.java new file mode 100644 index 0000000..9aad2f1 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/core/type/CategoryType.java @@ -0,0 +1,48 @@ +package com.consum.base.core.type; + +/** + * 鍒嗙被绫诲瀷 + * + * @author asus + * @version 2023/12/06 17:27 + **/ +public enum CategoryType { + + /** + * A绫� + */ + TYPE_A("A", "A绫�"), + /** + * B绫� + */ + TYPE_B("B", "B绫�"), + /** + * C绫� + */ + TYPE_C("C", "C绫�"); + + private String value; + + private String desc; + + CategoryType(String value, String desc) { + this.value = value; + this.desc = desc; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/consum-base/src/main/java/com/consum/base/core/utils/MixType.java b/consum-base/src/main/java/com/consum/base/core/type/MixType.java similarity index 96% rename from consum-base/src/main/java/com/consum/base/core/utils/MixType.java rename to consum-base/src/main/java/com/consum/base/core/type/MixType.java index 944c386..ed2968c 100644 --- a/consum-base/src/main/java/com/consum/base/core/utils/MixType.java +++ b/consum-base/src/main/java/com/consum/base/core/type/MixType.java @@ -1,4 +1,4 @@ -package com.consum.base.core.utils; +package com.consum.base.core.type; import java.util.HashMap; import java.util.Map; diff --git a/consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java b/consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java index a6fc257..0749670 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java @@ -20,4 +20,10 @@ private String unit; private Integer counts; private Integer totalAmount; + private Long baseGoodsModelsId; + private Long price; + private Integer worehouseCount; + private String type; + + private String scrappedName; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/BaseGoodsTemplateInfo.java b/consum-base/src/main/java/com/consum/base/pojo/response/BaseGoodsTemplateInfo.java deleted file mode 100644 index 653a00d..0000000 --- a/consum-base/src/main/java/com/consum/base/pojo/response/BaseGoodsTemplateInfo.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.consum.base.pojo.response; - -/** - * @author asus - * @version 1.0 - * @description: 鐗╁搧淇℃伅 - * @date 2023/12/1 17:16 - */ - -public class BaseGoodsTemplateInfo { - - private String baseGoodsTemplateName; - private Integer count; - private String unit; -} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormOutputGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormOutputGoodsVO.java deleted file mode 100644 index 8c0595e..0000000 --- a/consum-base/src/main/java/com/consum/base/pojo/response/FormOutputGoodsVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.consum.base.pojo.response; - -import io.swagger.annotations.ApiModel; -import java.util.List; -import lombok.Data; - -/** - * @author asus - * @version 1.0 - * @description: TODO - * @date 2023/11/14 13:13 - */ -@Data -@ApiModel(description = "杈撳嚭鍟嗗搧琛�") -public class FormOutputGoodsVO { - - // 涓婚敭 - private Long id; - //鍒嗙被缂栧彿 - private Long categoryId; - //鍒嗙被鍚嶇О - private String categoryName; - //鐗╁搧妯$増缂栧彿 - private Long baseGoodsTemplateId; - - private String goodsName; - - private List<GoodsModelVO> models; - -} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java deleted file mode 100644 index 6467a14..0000000 --- a/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.consum.base.pojo.response; - -import io.swagger.annotations.ApiModel; -import java.util.List; -import lombok.Data; - -/** - * @author asus - * @version 1.0 - * @description: TODO - * @date 2023/11/22 17:26 - */ -@Data -@ApiModel -public class FormScrappedGoodsVO { - - private Long id; - //鍒嗙被缂栧彿 - private Long categoryId; - //鍒嗙被鍚嶇О - private String categoryName; - //鐗╁搧妯$増缂栧彿 - private Long baseGoodsTemplateId; - - private String goodsName; - - private List<GoodsModelVO> models; - -} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java deleted file mode 100644 index 76ad553..0000000 --- a/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.consum.base.pojo.response; - -import io.swagger.annotations.ApiModel; -import java.util.List; -import lombok.Data; - -/** - * @author asus - * @version 1.0 - * @description: 鍑哄簱鍗曠墿鍝佹ā鏉夸俊鎭� - * @date 2023/11/15 18:06 - */ -@Data -@ApiModel(value = "FormTransferGoodsVO") -public class FormTransferGoodsVO { - - // 涓婚敭 - private Long id; - //鍒嗙被缂栧彿 - private Long categoryId; - //鍒嗙被鍚嶇О - private String categoryName; - //鐗╁搧妯$増缂栧彿 - private Long baseGoodsTemplateId; - - private String goodsName; - - //鍒嗙被绫诲瀷 - private String type; - - private List<GoodsModelVO> models; - -} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java index fb62a92..611513a 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java @@ -20,17 +20,23 @@ private String baseGoodsModelsName; @ApiModelProperty(value = "鍗曚綅淇℃伅") private String unit; - @ApiModelProperty(value = "鍗曚环") - private Long price; + @ApiModelProperty(value = "鏁伴噺") private Integer counts; - private Integer worehouseCount; - private Long baseGoodsModelsId; @ApiModelProperty(value = "鎬婚噾棰�") - private Integer totalAmount; + private Double totalAmount; + /*閲囪喘淇℃伅*/ + @ApiModelProperty(value = "搴撳瓨鏁伴噺") + private Integer worehouseCount; + @ApiModelProperty(value = "鍗曚环") + private Long price; + private Long baseGoodsModelsId; + + /*鎶ュ簾淇℃伅*/ private String scrappedName; + @ApiModelProperty(value = "閮ㄩ棬鍒嗗彂浣跨敤浜轰俊鎭�") private List<DepartGoodsUseInfo> useInfo; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java new file mode 100644 index 0000000..d4b7e49 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java @@ -0,0 +1,39 @@ +package com.consum.base.pojo.response; + +import java.util.List; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author asus + * @version 1.0 + * @description: 杈撳嚭鐗╁搧淇℃伅 + * @date 2023/11/14 13:13 + */ +@Data +@ApiModel(description = "杈撳嚭鐗╁搧淇℃伅") +public class GoodsTemplateInfoVO { + + // 涓婚敭 + private Long id; + // 鍒嗙被鍚嶇О + private String categoryName; + // 鐗╁搧鍚嶇О + private String goodsName; + + /*閲囪喘淇℃伅*/ + // 鍒嗙被鍚嶇О + private String baseCategoryName; + // 渚涘簲鍟� + private String supplier; + // 鐗╁搧鍚嶇О + private String goodsTemplateName; + + /*璋冩嫧淇℃伅*/ + // 鍒嗙被绫诲瀷 + private String type; + + private List<GoodsModelVO> models; + +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java index b96f406..1ddf8ad 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java @@ -1,8 +1,9 @@ package com.consum.base.pojo.response; +import java.util.List; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import java.util.List; import lombok.Data; /** @@ -14,7 +15,6 @@ @Data @ApiModel(value = "璋冩嫧鍗曟墿灞曡缁嗕俊鎭�") public class LWHFromTransferExtendVO { - // 涓婚敭 private Long id; @@ -106,5 +106,5 @@ @ApiModelProperty(value = "鐢佃瘽") private Long tel; - private List<FormTransferGoodsVO> formTransferGoods; + private List<GoodsTemplateInfoVO> formTransferGoods; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java index ddefa8d..f877748 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java @@ -46,5 +46,5 @@ // 鍑哄簱鎵嬬画 private String doc; - private List<FormOutputGoodsVO> fromOutputGoods; + private List<GoodsTemplateInfoVO> fromOutputGoods; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java index 58fbcf8..b0ffc33 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java @@ -1,69 +1,49 @@ package com.consum.base.pojo.response; import java.util.List; + import lombok.Data; /** * @author asus * @version 1.0 - * @description: TODO + * @description: 閲囪喘璇︽儏淇℃伅 * @date 2023/11/11 18:00 */ @Data public class LWhFormProcureExtendVO { - // 涓婚敭 private Long id; - // 灞炴�у垪琛� private String businessFormCode; - private Long warehouseId; - private String warehouseName; - private Long buyerId; - private String buyerName; - private Long procureTime; - private String procureDoc; - private Integer buyType; - private Integer states; - private Long agencyId; - private String agencyName; - private Long incomeId; - private String incomeName; - private Long incomeTime; - - private String beiz; - - - private Long lWarehouseFlowId; - - private List<LWhFormProcureGoodsVO> procureGoods; + private List<GoodsTemplateInfoVO> procureGoods; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureGoodsVO.java deleted file mode 100644 index 4698c6c..0000000 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureGoodsVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.consum.base.pojo.response; - -import java.util.List; -import lombok.Data; - -/** - * @ClassName LWhFormProcureGoodsParams - * @Date 2023/10/27 - * @Description - * @Version 1.0 - **/ -@Data -public class LWhFormProcureGoodsVO { - - // 涓婚敭 - private Long id; - //鍒嗙被缂栧彿 - private Long baseCategoryId; - //鍒嗙被鍚嶇О - private String baseCategoryName; - //鐗╁搧妯$増缂栧彿 - private Long baseGoodsTemplateId; - //渚涘簲鍟� - private String supplier; - - private Long whFormProcureId; - - private String goodsTemplateName; - - private Integer sort; - - private List<GoodsModelVO> models; -} diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java index 1525d04..08cf84f 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java @@ -47,7 +47,7 @@ private Integer states; - private List<FormScrappedGoodsVO> scrappedGoods; + private List<GoodsTemplateInfoVO> scrappedGoods; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java index 2330f17..a80bf4f 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java @@ -1,6 +1,7 @@ package com.consum.base.pojo.response; import java.util.List; + import lombok.Data; import lombok.NoArgsConstructor; @@ -24,15 +25,4 @@ private List<UsingFormBackGoodsTemplateInfo> goodsTemplateInfoList; -// private Integer counts; -// private String goodsUserName; -// private String classification; -// -// private String categoryName; -// -// private String unit; -// -// private String baseGoodsTemplateName; -// private String baseGoodsModelsName; -// private Integer useCount; } 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 c2ce57b..56ceb2c 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,6 +1,7 @@ package com.consum.base.service; import com.consum.base.core.WhBusinessEnum; +import com.consum.base.core.type.MixType; import com.consum.base.core.utils.*; import com.consum.base.pojo.LWarehouseFlowParam; import com.consum.base.pojo.query.LWhFormOutputQry; diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java index 4bfe3ca..953aa85 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java @@ -1,15 +1,18 @@ package com.consum.base.service; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + import com.consum.base.core.utils.IdUtil; import com.consum.base.pojo.response.FormInventoryGoodsVO; import com.consum.model.po.LWhFormInventoryGoods; import com.walker.jdbc.service.BaseServiceImpl; -import java.util.ArrayList; -import java.util.List; + import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; /** * @Description 鐩樼偣鍗曠墿鍝� @@ -33,7 +36,6 @@ return this.select(inventoryGoods); } - public List<FormInventoryGoodsVO> add(List<FormInventoryGoodsVO> inventoryGoodsList, Long inventoryId) { List<LWhFormInventoryGoods> goodsList = new ArrayList<>(); for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) { @@ -46,7 +48,7 @@ lWhFormInventoryGoods.setBaseGoodsModelsId(inventoryGoods.getId()); lWhFormInventoryGoods.setBaseGoodsModelsName(inventoryGoods.getBaseGoodsModelsName()); lWhFormInventoryGoods.setInitCounts(inventoryGoods.getInventoryCount()); - //淇濆瓨鎴愬姛鍚庤繑鍥瀒d,鐢ㄦ潵杩涜璁板綍鐨勬洿鏂� + // 淇濆瓨鎴愬姛鍚庤繑鍥瀒d,鐢ㄦ潵杩涜璁板綍鐨勬洿鏂� inventoryGoods.setId(lWhFormInventoryGoods.getId()); goodsList.add(lWhFormInventoryGoods); } @@ -65,25 +67,15 @@ int errorCount = realNum - inventoryCount; lWhFormInventoryGoods.setInventoryCounts(realNum); lWhFormInventoryGoods.setErrorCounts(Math.abs(errorCount)); - //鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛� + // 鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛� lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1); // TODO 鎵归噺鏇存柊 this.update(lWhFormInventoryGoods); -// goodsList.add(lWhFormInventoryGoods); + // goodsList.add(lWhFormInventoryGoods); } } return 1; } - - /** - * @Description 鏍规嵁鐩樼偣鍗昳d鍒犻櫎鐩樼偣鍗曠墿鍝� - * @Author 鍗㈠簡闃� - * @Date 2023/10/31 - */ - public void delByFormInventoryId(Long id) { - - } - } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java index 237f001..5458ba2 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java @@ -1,5 +1,9 @@ package com.consum.base.service; +import java.util.List; + +import com.consum.base.pojo.dto.GoodModelInfoDTO; +import com.consum.model.po.LWhFormScrappedGoods; import com.walker.jdbc.service.BaseService; /** @@ -10,4 +14,13 @@ **/ public interface LWhFormScrappedGoodsService extends BaseService { + List<LWhFormScrappedGoods> getByFormScrappedId(Long id); + + /** + * 鏍规嵁鎶ュ簾鍗昳d鑾峰彇鎶ュ簾鍟嗗搧淇℃伅 + * + * @param scrappedId + * @return + */ + List<GoodModelInfoDTO> getScrappedGoodsByScrappedId(Long scrappedId); } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java b/consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java index 4469590..e4fcd5e 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java @@ -1,10 +1,10 @@ package com.consum.base.service; -import com.consum.base.pojo.dto.GoodModelInfoDTO; import java.util.List; import java.util.Map; import com.consum.base.core.WhBusinessEnum; +import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.response.GoodsTemplateCountVO; import com.consum.model.po.LWhProcureModel; import com.walker.jdbc.service.BaseService; @@ -37,7 +37,8 @@ * 鏍规嵁涓氬姟id鏌ヨ鍨嬪彿淇℃伅鍒楄〃 * * @param businessId + * @param procureGoodId * @return */ - List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId); + List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId, Long procureGoodId); } diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java index e4b228f..d113f5e 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java @@ -1,9 +1,16 @@ package com.consum.base.service.impl; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; +import com.consum.base.core.utils.MapUtils; +import com.consum.base.core.utils.MapperUtil; +import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.service.LWhFormScrappedGoodsService; import com.consum.model.po.LWhFormScrappedGoods; import com.walker.jdbc.service.BaseServiceImpl; @@ -23,9 +30,29 @@ * @Author 鍗㈠簡闃� * @Date 2023/11/2 */ + @Override public List<LWhFormScrappedGoods> getByFormScrappedId(Long id) { LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods(); scrappedGoods.setFormScrappedId(id); return this.select(scrappedGoods); } + + @Override + public List<GoodModelInfoDTO> getScrappedGoodsByScrappedId(Long scrappedId) { + String sql = + "select fsg.id,CATEGORY_NAME,fsg.GOODS_TEMPLATE_NAME baseGoodsName,fsg.BASE_GOODS_MODELS_NAME,fsg.BASE_GOODS_TEMPLATE_ID," + + "fsg.UNIT,fsg.COUNTS,SCRAPPED_NAME from l_wh_form_scrapped_goods fsg left join base_goods_template bgt on " + + "fsg.BASE_GOODS_TEMPLATE_ID = bgt.id where form_scrapped_id =:scrappedId "; + Map<String, Object> param = new HashMap<>(); + param.put("scrappedId", scrappedId); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + List<GoodModelInfoDTO> goodModelInfoList = Lists.newArrayList(); + select.forEach(item -> { + GoodModelInfoDTO goodModelInfoDTO = MapUtils.convertMapToObj(item, GoodModelInfoDTO.class); + if (Objects.nonNull(goodModelInfoDTO)) { + goodModelInfoList.add(goodModelInfoDTO); + } + }); + return goodModelInfoList; + } } diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java index b82944a..83fe6e2 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java @@ -4,7 +4,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.stream.Collectors; import org.apache.commons.compress.utils.Lists; @@ -24,17 +23,19 @@ import com.consum.base.pojo.LWhFormScrappedGoodsInfoParam; import com.consum.base.pojo.LWhFormScrappedGoodsModelParams; import com.consum.base.pojo.LWhFormScrappedParam; +import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.excel.ScrappedInfoExcelTemplate; import com.consum.base.pojo.query.LWhFormScrappedQry; import com.consum.base.pojo.response.FormScrappedGoodsDetailVO; -import com.consum.base.pojo.response.FormScrappedGoodsVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.GoodsTemplateCountVO; +import com.consum.base.pojo.response.GoodsTemplateInfoVO; import com.consum.base.pojo.response.LWhFormScrappedExtendVO; import com.consum.base.service.BaseGoodsModelsService; import com.consum.base.service.BaseGoodsTemplateService; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.FinSysTenantDepartmentService; +import com.consum.base.service.LWhFormScrappedGoodsService; import com.consum.base.service.LWhFormScrappedService; import com.consum.base.service.LWhGoodsService; import com.consum.base.service.SDictDataServiceImpl; @@ -68,7 +69,7 @@ @Autowired private LWhGoodsService lWhGoodsService; @Autowired - private LWhFormScrappedGoodsServiceImpl scrappedGoodsService; + private LWhFormScrappedGoodsService scrappedGoodsService; @Autowired private SDictDataServiceImpl sDictDataService; @Autowired @@ -272,31 +273,23 @@ if (lWhFormScrapped != null) { BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend); } - // 2.鏌ヨ鎶ュ簾鍗� - List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id); + // 2.鏌ヨ鎶ュ簾鍗曞晢鍝佷俊鎭� + List<GoodModelInfoDTO> scrappedGoodsInfoList = scrappedGoodsService.getScrappedGoodsByScrappedId(id); // 閫氳繃baseGoodsTemplateId 杩涜鍒嗙粍 - Map<Long, List<LWhFormScrappedGoods>> map = - scrappedGoodsList.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsTemplateId)); + Map<Long, List<GoodModelInfoDTO>> map = + scrappedGoodsInfoList.stream().collect(Collectors.groupingBy(GoodModelInfoDTO::getBaseGoodsTemplateId)); // 寰幆map鐨刱ey鍜寁alue - List<FormScrappedGoodsVO> scrappedGoodsVO = Lists.newArrayList(); - for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : map.entrySet()) { - Long baseGoodsTemplateId = entry.getKey(); - List<LWhFormScrappedGoods> goodsList = entry.getValue(); - LWhFormScrappedGoods lWhFormScrappedGoods = goodsList.stream().findFirst().get(); - FormScrappedGoodsVO formScrappedGoodsVO = new FormScrappedGoodsVO(); - formScrappedGoodsVO.setBaseGoodsTemplateId(baseGoodsTemplateId); - formScrappedGoodsVO.setGoodsName(lWhFormScrappedGoods.getGoodsTemplateName()); - - String sql = "select CATEGORY_NAME from base_goods_template where id = :id"; - Map<String, Object> param = new HashMap<>(); - param.put("id", baseGoodsTemplateId); - List<Map<String, Object>> goodTemplate = this.select(sql, param, new MapperUtil()); - if (!CollectionUtils.isEmpty(goodTemplate)) { - Optional<Map<String, Object>> first = goodTemplate.stream().findFirst(); - Map<String, Object> objectMap = first.get(); - formScrappedGoodsVO.setCategoryName(objectMap.get("categoryName").toString()); + List<GoodsTemplateInfoVO> scrappedGoodsVO = Lists.newArrayList(); + for (Map.Entry<Long, List<GoodModelInfoDTO>> entry : map.entrySet()) { + List<GoodModelInfoDTO> goodsList = entry.getValue(); + GoodModelInfoDTO goodModelInfoDTO = goodsList.stream().findFirst().orElse(null); + GoodsTemplateInfoVO goodsTemplateInfoVO = new GoodsTemplateInfoVO(); + if (goodModelInfoDTO != null) { + goodsTemplateInfoVO.setId(goodModelInfoDTO.getId()); + goodsTemplateInfoVO.setGoodsName(goodModelInfoDTO.getBaseGoodsName()); + goodsTemplateInfoVO.setCategoryName(goodModelInfoDTO.getCategoryName()); + goodsTemplateInfoVO.setId(goodModelInfoDTO.getId()); } - List<GoodsModelVO> goodsModelList = Lists.newArrayList(); goodsList.forEach(item -> { GoodsModelVO goodsModelVO = new GoodsModelVO(); @@ -308,8 +301,8 @@ goodsModelVO.setScrappedName(item.getScrappedName()); goodsModelList.add(goodsModelVO); }); - formScrappedGoodsVO.setModels(goodsModelList); - scrappedGoodsVO.add(formScrappedGoodsVO); + goodsTemplateInfoVO.setModels(goodsModelList); + scrappedGoodsVO.add(goodsTemplateInfoVO); } scrappedExtend.setScrappedGoods(scrappedGoodsVO); diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java index 0b09797..c7a342f 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java @@ -1,10 +1,13 @@ package com.consum.base.service.impl; +import com.consum.base.pojo.response.GoodsTemplateInfoVO; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; @@ -15,6 +18,7 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; +import com.consum.base.core.type.CategoryType; import com.consum.base.core.utils.CurrencyUtil; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; @@ -22,11 +26,11 @@ import com.consum.base.pojo.LWhFormTransferGoodsInfoParam; import com.consum.base.pojo.LWhProcureModelUserParam; import com.consum.base.pojo.LWhTransferModelParam; +import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.excel.TransferExcelTemplate; import com.consum.base.pojo.query.TransferQry; import com.consum.base.pojo.request.LWhFormTransferParam; import com.consum.base.pojo.response.DepartGoodsUseInfo; -import com.consum.base.pojo.response.FormTransferGoodsVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.service.BaseWarehouseManagerService; @@ -76,7 +80,7 @@ @Autowired private BaseWarehouseManagerService baseWarehouseManagerService; - private static String QUERY_FORM_TRANSFER_LIST = + private static final String QUERY_FORM_TRANSFER_LIST = "SELECT ft.* FROM l_wh_form_transfer ft " + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id " + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID " + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 "; @@ -347,41 +351,50 @@ result.setDepartmentName(lWhFormTransfer.getInWarehouseName()); } - String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type " - + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " - + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " - + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id "; + List<GoodModelInfoDTO> goodsModelInfo = + lWhProcureModelService.getGoodsModelListByBusinessId(result.getId(), null); + if (CollectionUtils.isEmpty(goodsModelInfo)) { + return result; + } + // 鏌ヨ閮ㄩ棬鐗╁搧浣跨敤淇℃伅 Map<String, Object> paramMap = new HashMap<>(); paramMap.put("id", result.getId()); - List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil()); - String queryRecord = "SELECT * FROM l_wh_procure_model_user_record where TRANS_BUSINESS_ID = :id order by DEAL_TIME desc limit 1"; LWhProcureModelUserRecord lWhProcureModelUserRecord = lWhProcureModelUserRecordService.get(queryRecord, paramMap, new LWhProcureModelUserRecord()); - List<FormTransferGoodsVO> formTransferGoods = Lists.newArrayList(); - for (Map<String, Object> map : procureModelList) { - FormTransferGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormTransferGoodsVO.class); - Long baseGoodsTemplateId = procureTemplateInfoVO.getId(); - // 鏌ヨ鍨嬪彿鏁伴噺 - List<GoodsModelVO> goodsModelVOList = Lists.newArrayList(); - String sql2 = "SELECT pm.id,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount " - + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " - + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " - + "WHERE pm.BUSINESS_ID =:id and bgt.id =:baseGoodsTemplateId"; - Map<String, Object> goodsModelParamMap = new HashMap<>(); - goodsModelParamMap.put("id", result.getId()); - goodsModelParamMap.put("baseGoodsTemplateId", baseGoodsTemplateId); - List<Map<String, Object>> modelList = this.select(sql2, goodsModelParamMap, new MapperUtil()); - modelList.forEach(item -> { - GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class); - Integer businessType = result.getBusinessType(); - String type = procureTemplateInfoVO.getType(); + + Map<Long, List<GoodModelInfoDTO>> collect = + goodsModelInfo.stream().filter(Objects::nonNull).filter(dto -> dto.getBaseGoodsTemplateId() != null) + .collect(Collectors.groupingBy(GoodModelInfoDTO::getBaseGoodsTemplateId)); + List<GoodsTemplateInfoVO> goodsTemplateInfoList = Lists.newArrayList(); + for (Map.Entry<Long, List<GoodModelInfoDTO>> entry : collect.entrySet()) { + List<GoodModelInfoDTO> value = entry.getValue(); + GoodModelInfoDTO goodModelInfoDTO = value.stream().findFirst().orElse(null); + GoodsTemplateInfoVO goodsTemplateInfoVO = new GoodsTemplateInfoVO(); + if (goodModelInfoDTO != null) { + goodsTemplateInfoVO.setId(goodModelInfoDTO.getId()); + goodsTemplateInfoVO.setCategoryName(goodModelInfoDTO.getCategoryName()); + goodsTemplateInfoVO.setGoodsName(goodModelInfoDTO.getBaseGoodsName()); + goodsTemplateInfoVO.setType(goodModelInfoDTO.getType()); + } + + List<GoodsModelVO> goodsModelList = Lists.newArrayList(); + for (GoodModelInfoDTO goodModelInfo : value) { + GoodsModelVO goodsModelVO = new GoodsModelVO(); + goodsModelVO.setId(goodModelInfo.getId()); + goodsModelVO.setBaseGoodsModelsName(goodModelInfo.getBaseGoodsModelsName()); + goodsModelVO.setUnit(goodModelInfo.getUnit()); + goodsModelVO.setCounts(goodModelInfo.getCounts()); + goodsModelVO.setTotalAmount(CurrencyUtil.convertFenToYuan(goodModelInfo.getTotalAmount())); // 閮ㄩ棬鍒嗗彂闇�瑕佹煡璇娇鐢ㄤ俊鎭� - if (businessType == 1 && "A".equals(type)) { + Integer businessType = result.getBusinessType(); + String type = goodsTemplateInfoVO.getType(); + if (businessType == 1 && CategoryType.TYPE_A.getValue().equals(type)) { Long procureModelId = goodsModelVO.getId(); LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); lWhProcureModelUser.setWhProcureModelId(procureModelId); + lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId()); List<LWhProcureModelUser> procureModelUserList = this.lWhProcureModelUserService.select(lWhProcureModelUser); @@ -399,14 +412,74 @@ }); goodsModelVO.setUseInfo(departGoodsUseInfoList); } - } - goodsModelVOList.add(goodsModelVO); - procureTemplateInfoVO.setModels(goodsModelVOList); - }); - formTransferGoods.add(procureTemplateInfoVO); + goodsModelList.add(goodsModelVO); + } + goodsTemplateInfoVO.setModels(goodsModelList); + goodsTemplateInfoList.add(goodsTemplateInfoVO); } - result.setFormTransferGoods(formTransferGoods); + result.setFormTransferGoods(goodsTemplateInfoList); + + // String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type " + // + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + // + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + // + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id "; + // Map<String, Object> paramMap = new HashMap<>(); + // paramMap.put("id", result.getId()); + // List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil()); + // + // String queryRecord = + // "SELECT * FROM l_wh_procure_model_user_record where TRANS_BUSINESS_ID = :id order by DEAL_TIME desc limit 1"; + // LWhProcureModelUserRecord lWhProcureModelUserRecord = + // lWhProcureModelUserRecordService.get(queryRecord, paramMap, new LWhProcureModelUserRecord()); + // List<FormTransferGoodsVO> formTransferGoods = Lists.newArrayList(); + // for (Map<String, Object> map : procureModelList) { + // FormTransferGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormTransferGoodsVO.class); + // Long baseGoodsTemplateId = procureTemplateInfoVO.getId(); + // // 鏌ヨ鍨嬪彿鏁伴噺 + // List<GoodsModelVO> goodsModelVOList = Lists.newArrayList(); + // String sql2 = "SELECT pm.id,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount " + // + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + // + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + // + "WHERE pm.BUSINESS_ID =:id and bgt.id =:baseGoodsTemplateId"; + // Map<String, Object> goodsModelParamMap = new HashMap<>(); + // goodsModelParamMap.put("id", result.getId()); + // goodsModelParamMap.put("baseGoodsTemplateId", baseGoodsTemplateId); + // List<Map<String, Object>> modelList = this.select(sql2, goodsModelParamMap, new MapperUtil()); + // modelList.forEach(item -> { + // GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class); + // Integer businessType = result.getBusinessType(); + // String type = procureTemplateInfoVO.getType(); + // // 閮ㄩ棬鍒嗗彂闇�瑕佹煡璇娇鐢ㄤ俊鎭� + // if (businessType == 1 && "A".equals(type)) { + // Long procureModelId = goodsModelVO.getId(); + // LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); + // lWhProcureModelUser.setWhProcureModelId(procureModelId); + // lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId()); + // List<LWhProcureModelUser> procureModelUserList = + // this.lWhProcureModelUserService.select(lWhProcureModelUser); + // if (!CollectionUtils.isEmpty(procureModelUserList)) { + // List<DepartGoodsUseInfo> departGoodsUseInfoList = Lists.newArrayList(); + // procureModelUserList.forEach(useInfo -> { + // Integer goodsNum = useInfo.getGoodsNum(); + // Long nowUserPhone = useInfo.getNowUserPhone(); + // String nowUserName = useInfo.getNowUserName(); + // DepartGoodsUseInfo departGoodsUseInfo = new DepartGoodsUseInfo(); + // departGoodsUseInfo.setName(nowUserName); + // departGoodsUseInfo.setNum(goodsNum); + // departGoodsUseInfo.setTel(nowUserPhone); + // departGoodsUseInfoList.add(departGoodsUseInfo); + // }); + // goodsModelVO.setUseInfo(departGoodsUseInfoList); + // } + // + // } + // goodsModelVOList.add(goodsModelVO); + // procureTemplateInfoVO.setModels(goodsModelVOList); + // }); + // formTransferGoods.add(procureTemplateInfoVO); + // } + // result.setFormTransferGoods(formTransferGoods); return result; } diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java index 64bc8de..5c55c44 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java @@ -3,6 +3,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; @@ -116,7 +117,9 @@ List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); select.forEach(item -> { GoodsTemplateCountVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsTemplateCountVO.class); - goodsTemplateCount.add(goodsModelVO); + if (Objects.nonNull(goodsModelVO)) { + goodsTemplateCount.add(goodsModelVO); + } }); return goodsTemplateCount; @@ -134,26 +137,35 @@ List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil()); for (Map<String, Object> map : procureModelList) { GoodsTemplateCountVO goodsTemplateCountVO = MapUtils.convertMapToObj(map, GoodsTemplateCountVO.class); - goodsTemplateCount.add(goodsTemplateCountVO); + if (Objects.nonNull(goodsTemplateCountVO)) { + goodsTemplateCount.add(goodsTemplateCountVO); + } } return goodsTemplateCount; } @Override - public List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId) { + public List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId, Long procureGoodId) { // 鏌ヨ鍨嬪彿鍒楄〃淇℃伅 List<GoodModelInfoDTO> goodsModelList = Lists.newArrayList(); String sql = - "SELECT bgt.id baseGoodsTemplateId,pm.id,CATEGORY_ID,CATEGORY_NAME,GOODS_NAME baseGoodsName,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount " - + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " - + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " - + "WHERE pm.BUSINESS_ID = :businessId"; + "SELECT bgt.id baseGoodsTemplateId,pm.id,CATEGORY_ID,CATEGORY_NAME,GOODS_NAME baseGoodsName,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount, " + + "pm.BASE_GOODS_MODELS_ID,PRICE,WOREHOUSE_COUNT,bgt.CLASSIFICATION type FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID WHERE "; Map<String, Object> paramMap = new HashMap<>(); - paramMap.put("businessId", businessId); + if (businessId != null) { + sql += "pm.BUSINESS_ID = :businessId "; + paramMap.put("businessId", businessId); + } else { + sql += "pm.FROM_PROCURE_GOODS_ID =:procureGoodId "; + paramMap.put("procureGoodId", procureGoodId); + } List<Map<String, Object>> modelList = select(sql, paramMap, new MapperUtil()); modelList.forEach(item -> { GoodModelInfoDTO goodsModelVO = MapUtils.convertMapToObj(item, GoodModelInfoDTO.class); - goodsModelList.add(goodsModelVO); + if (Objects.nonNull(goodsModelVO)) { + goodsModelList.add(goodsModelVO); + } }); return goodsModelList; } diff --git a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java index e7345dc..97871be 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java @@ -273,11 +273,13 @@ List<UsingFormBackModelInfo> modelInfoList = Lists.newArrayList(); templateInfo.stream().collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsModelsId)) .forEach((modelId, modelInfo) -> { - UsingFormBackDetailDTO modelInfoDTO = modelInfo.get(0); + UsingFormBackDetailDTO modelInfoDTO = modelInfo.stream().findFirst().orElse(null); UsingFormBackModelInfo usingFormBackModelInfo = new UsingFormBackModelInfo(); - usingFormBackModelInfo.setBaseGoodsModelsName(modelInfoDTO.getBaseGoodsModelsName()); - usingFormBackModelInfo.setUnit(modelInfoDTO.getUnit()); - usingFormBackModelInfo.setId(modelId); + if (modelInfoDTO != null) { + usingFormBackModelInfo.setBaseGoodsModelsName(modelInfoDTO.getBaseGoodsModelsName()); + usingFormBackModelInfo.setUnit(modelInfoDTO.getUnit()); + usingFormBackModelInfo.setId(modelId); + } modelInfoList.add(usingFormBackModelInfo); usingFormBackGoodsTemplateInfo.setModelInfoList(modelInfoList); List<UseInfo> useInfoList = Lists.newArrayList(); -- Gitblit v1.9.1