WangHan
2024-12-19 fae8a9349499cd045bc73e8fd22aeae52618a46c
consum-base/src/main/java/com/consum/base/service/impl/LWhFormProcureServiceImpl.java
@@ -1,6 +1,7 @@
package com.consum.base.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -126,6 +127,12 @@
                + "( pm.PRICE * pm.COUNTS ) amount,fp.AGENCY_NAME,fp.BUYER_NAME,fp.PROCURE_TIME,pm.BUSINESS_ID,pm.BASE_GOODS_MODELS_NAME FROM l_wh_form_procure fp "
                + "LEFT JOIN l_wh_form_procure_goods fpg ON fp.id = fpg.WH_FORM_PROCURE_ID "
                + "LEFT JOIN l_wh_procure_model pm ON pm.FROM_PROCURE_GOODS_ID = fpg.id WHERE pm.BUSINESS_TYPE = 1 ");
        // 只查询本机构的采购单
        if (param.getAgencyId() != null) {
            sql.append("and AGENCY_ID like :agencyId ");
            paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT);
        }
        // 入库单号
        if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
            sql.append("and BUSINESS_FORM_CODE = :businessFormCode ");
@@ -236,7 +243,6 @@
            procureGood.setWhFormProcureId(whFormProcureId);
            procureGood.setBaseCategoryId(baseCategoryId);
            procureGood.setBaseGoodsTemplateId(baseGoodsTemplateId);
            // TODO 物品历史版本
            procureGood.setGoodsTemplateName(procureGoodT.getGoodsTemplateName());
            procureGood.setSupplier(supplier);
            procureGood.setSort(i);
@@ -255,16 +261,18 @@
                }
                // 查询型号信息
                Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId);
                if (tempGoodsInfo == null) {
                if (CollectionUtils.isEmpty(tempGoodsInfo)) {
                    throw new RuntimeException("采购的价型号未找到");
                }
                String modelName = (String)tempGoodsInfo.get("modelname");
                // 查询型号库存
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
                // 库存查询所有类型的包括机构和部门的类型
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(null, warehouseIds, baseGoodsModelsId, 1, null);
                LWhProcureModel model = new LWhProcureModel();
                model.setId(IdUtil.generateId());
                model.setFromProcureGoodsId(fromProcureGoodsId);
                model.setBusinessType(WhBusinessEnum.CAIGOU.getValue() + 0);
                model.setBusinessType(WhBusinessEnum.CAIGOU.getValue());
                model.setBusinessId(whFormProcureId);
                model.setBaseGoodsModelsId(baseGoodsModelsId);
                model.setBaseGoodsModelsName(modelName);