futian.liu
2023-12-07 be96b79932aaaf0bd6a1c143e6f1d045c6a8935a
分发列表去重
3个文件已修改
50 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
@@ -32,7 +32,6 @@
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.service.BaseGoodsTemplateService;
import com.consum.base.service.LWhFormProcureGoodsService;
import com.consum.base.service.LWhFormProcureService;
import com.consum.base.service.LWhProcureModelService;
@@ -71,8 +70,6 @@
    private LWhFormProcureGoodsService lWhFormProcureGoodsServiceImpl;
    @Resource
    private LWhFormProcureCoreService lWhFormProcureCoreService;
    @Resource
    private BaseGoodsTemplateService baseGoodsTemplateService;
    @Resource
    private LWhProcureModelService lWhProcureModelService;
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
@@ -1,12 +1,5 @@
package com.consum.base.service.impl;
import com.consum.base.service.GoodsBaseServiceImpl;
import com.consum.base.service.LGoodsUserRecordServiceImpl;
import com.consum.base.service.LGoodsWhRecordServiceImpl;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.LWhGoodsRecordService;
import com.consum.base.service.LWhGoodsService;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -24,6 +17,13 @@
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.base.service.GoodsBaseServiceImpl;
import com.consum.base.service.LGoodsUserRecordServiceImpl;
import com.consum.base.service.LGoodsWhRecordServiceImpl;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.LWhGoodsRecordService;
import com.consum.base.service.LWhGoodsService;
import com.consum.model.po.LGoodsUserRecord;
import com.consum.model.po.LWarehouseFlow;
import com.consum.model.po.LWhFormTransfer;
@@ -103,13 +103,15 @@
        try {
            // 根据调拨单 生成 出库单 这样就能公用出库
            lWhFormTransfer.getBusinessType();
            outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, businessEnum, currentUser, dealTime);
            outWarehouseFormId =
                lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, businessEnum, currentUser, dealTime);
        } catch (Exception e) {
            log.error(e.getMessage());
            return;
        }
        // 出库单 出库,返回 出库单流水Id
        Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime, whFormTransferId);
        Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser,
            dealTime, whFormTransferId);
        // 更新调拨单
        lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
@@ -209,10 +211,18 @@
                    throw new RuntimeException("入库单失败,未查询到物品!");
                }
                // 库存物品详情(L_WH_GOODS)中 状态设置为1
                lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus);
                lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName,
                    goodsStatus);
                // 通过物品id查询所有商品的总金额
//                long amount = lWhGoodsService.queryGoodsPriceById(outGoodsIds);
//                LWhProcureModel lWhFormScrappedGoods = new LWhProcureModel(formScrappedGood.getId());
//                lWhFormScrappedGoods.setTotalAmount(amount);
//                lWhFormTransferService.update(lWhFormScrappedGoods);
                // 获得锁后查询该型号的期初数量
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null);
                int goodsModelNum =
                    lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null);
                whGoodsRecord.setInitialCount(goodsModelNum);
                whGoodsRecord.setEndCount(goodsModelNum + whGoodsRecord.getThisCount());
                long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsIds);
@@ -230,7 +240,8 @@
                lGoodsUserRecordService.updSetNotLast(outGoodsIds);
                if (!CollectionUtils.isEmpty(goodsUserInfo)) {
                    //认为是A类物品
                    int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null).mapToInt(LWhProcureModelUser::getGoodsNum).sum();
                    int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null)
                        .mapToInt(LWhProcureModelUser::getGoodsNum).sum();
                    if (totalGoodsNum != outGoodsIds.size()) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        throw new RuntimeException("入库单失败,使用人使用数量与物品数量不一致");
@@ -276,7 +287,8 @@
            LWhGoodsRecordDetails lWhGoodsRecordDetails = new LWhGoodsRecordDetails();
            lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId);
            List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails);
            List<LWhGoodsRecordDetails> goodsRecordDetailsList =
                lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails);
            for (LWhGoodsRecordDetails whGoodsRecordDetails : goodsRecordDetailsList) {
                whGoodsRecordDetails.setId(null);
                whGoodsRecordDetails.setWhGoodsRecordId(whGoodsRecord.getId());
@@ -298,14 +310,15 @@
        //当库存变动时调用该方法
        if (inWarehouseType == 0) {
            lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short) 0), inWarehouseId, allChangModelList, null, dealTime);
            lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short)0), inWarehouseId,
                allChangModelList, null, dealTime);
        }
        log.info("调拨单:{} 入库完成", whFormTransferId);
        return;
    }
    private static String GET_GOODSID_BY_FLOWID = "SELECT goods.id FROM L_WH_GOODS_RECORD gr LEFT JOIN L_WH_GOODS_RECORD_DETAILS grd ON gr.id=grd.WH_GOODS_RECORD_ID LEFT JOIN L_WH_GOODS goods ON goods.id=grd.WH_GOODS_ID WHERE 1=1";
    private static String GET_GOODSID_BY_FLOWID =
        "SELECT goods.id FROM L_WH_GOODS_RECORD gr LEFT JOIN L_WH_GOODS_RECORD_DETAILS grd ON gr.id=grd.WH_GOODS_RECORD_ID LEFT JOIN L_WH_GOODS goods ON goods.id=grd.WH_GOODS_ID WHERE 1=1";
    /**
     * 根据出库流水ID 查询 出库的物品ID
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -81,7 +81,7 @@
    private BaseWarehouseManagerService baseWarehouseManagerService;
    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 "
        "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 ";