futian.liu
2023-12-07 bb9b35b41b2a446866ccf22769b116d2631fa56b
部门分发详情去重
1个文件已修改
67 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -1,5 +1,20 @@
package com.consum.base.service.impl;
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;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.type.CategoryType;
@@ -18,20 +33,26 @@
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.GoodsTemplateInfoVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
import com.consum.base.service.*;
import com.consum.model.po.*;
import com.consum.base.service.BaseWarehouseManagerService;
import com.consum.base.service.BaseWarehouseService;
import com.consum.base.service.FinSysTenantServiceImpl;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.base.service.LWhProcureModelUserRecordService;
import com.consum.base.service.LWhProcureModelUserService;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.BaseWarehouseManager;
import com.consum.model.po.FinSysTenant;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Description 调拨管理
@@ -60,10 +81,10 @@
    @Autowired
    private BaseWarehouseManagerService baseWarehouseManagerService;
    private static final String QUERY_FORM_TRANSFER_LIST =
        "SELECT DISTINCT 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 ";
    private static final String QUERY_FORM_TRANSFER_LIST = "SELECT DISTINCT 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 ";
    /**
     * @Description 新增
@@ -202,12 +223,14 @@
                // 3.当业务类型为部门分发时 添加部门分发记录和使用人
                // 单据类型 1 采购2 调拨 3出库4部门分发
                // 部门分发类型
                if (businessType == 1 && "A".equals(baseModelMap.get("type"))) {
                if (businessType == 1 && CategoryType.TYPE_A.getValue().equals(baseModelMap.get("type"))) {
                    // TODO 重复保存
                    LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord();
                    lWhProcureModelUserRecord.setId(IdUtil.generateId());
                    lWhProcureModelUserRecord.setTransBusinessId(lWhFormTransferId);
                    lWhProcureModelUserRecord.setOperatorId(sysInfo.getId());
                    lWhProcureModelUserRecord.setOperatorName(sysInfo.getUserName());
                    lWhProcureModelUserRecord.setDealTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
                    lWhProcureModelUserRecordService.insert(lWhProcureModelUserRecord);
                    List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList();
@@ -229,7 +252,6 @@
                        log.error("新增物品使用信息失败");
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    }
                }
                modelList.add(lWhProcureModel);
@@ -336,13 +358,6 @@
        if (CollectionUtils.isEmpty(goodsModelInfo)) {
            return result;
        }
        // 查询部门物品使用信息
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("id", result.getId());
        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());
        Map<Long, List<GoodModelInfoDTO>> collect =
            goodsModelInfo.stream().filter(Objects::nonNull).filter(dto -> dto.getBaseGoodsTemplateId() != null)
@@ -372,12 +387,12 @@
                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);
                    if (!CollectionUtils.isEmpty(procureModelUserList)) {
                        List<DepartGoodsUseInfo> departGoodsUseInfoList = Lists.newArrayList();
                        procureModelUserList.forEach(useInfo -> {