cy
2023-12-08 c4874c0c062216f80e154861353f35e63ec7d747
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的key和value
        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);