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/controller/LWhFormProcureController.java | 76 +++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 37 deletions(-) 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")}) -- Gitblit v1.9.1