futian.liu
2023-12-07 76c7d995ac56b60880e998df5e9e3d82fea313f8
出库单金额处理
1 文件已重命名
2个文件已添加
5个文件已删除
18个文件已修改
707 ■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/type/CategoryType.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/type/MixType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/dto/GoodModelInfoDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/BaseGoodsTemplateInfo.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/FormOutputGoodsVO.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWhFormOutputExtendVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureExtendVO.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureGoodsVO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/UsingFormBackDetailVO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedGoodsService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhProcureModelService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedGoodsServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "查询出库单详情明细")
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")})
consum-base/src/main/java/com/consum/base/core/type/CategoryType.java
New file
@@ -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;
    }
}
consum-base/src/main/java/com/consum/base/core/type/MixType.java
File was renamed from consum-base/src/main/java/com/consum/base/core/utils/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;
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;
}
consum-base/src/main/java/com/consum/base/pojo/response/BaseGoodsTemplateInfo.java
File was deleted
consum-base/src/main/java/com/consum/base/pojo/response/FormOutputGoodsVO.java
File was deleted
consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java
File was deleted
consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java
File was deleted
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;
}
consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateInfoVO.java
New file
@@ -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;
}
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;
}
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;
}
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;
}
consum-base/src/main/java/com/consum/base/pojo/response/LWhFormProcureGoodsVO.java
File was deleted
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;
}
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;
}
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;
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());
            //保存成功后返回id,用来进行记录的更新
            // 保存成功后返回id,用来进行记录的更新
            inventoryGoods.setId(lWhFormInventoryGoods.getId());
            goodsList.add(lWhFormInventoryGoods);
        }
@@ -65,25 +67,15 @@
                int errorCount = realNum - inventoryCount;
                lWhFormInventoryGoods.setInventoryCounts(realNum);
                lWhFormInventoryGoods.setErrorCounts(Math.abs(errorCount));
                //盘点结果(1=正常;2=盘盈;3=盘亏)
                // 盘点结果(1=正常;2=盘盈;3=盘亏)
                lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1);
                // TODO 批量更新
                this.update(lWhFormInventoryGoods);
//                goodsList.add(lWhFormInventoryGoods);
                // goodsList.add(lWhFormInventoryGoods);
            }
        }
        return 1;
    }
    /**
     * @Description 根据盘点单id删除盘点单物品
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    public void delByFormInventoryId(Long id) {
    }
}
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);
    /**
     * 根据报废单id获取报废商品信息
     *
     * @param scrappedId
     * @return
     */
    List<GoodModelInfoDTO> getScrappedGoodsByScrappedId(Long scrappedId);
}
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);
}
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;
    }
}
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);
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;
    }
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;
    }
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();