cy
2023-11-16 d8fb6d11aa24b77b8bbcc5740140d31f5692837d
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -1,6 +1,6 @@
package com.consum.base.service;
import com.consum.base.core.util.LockManage;
import com.consum.base.core.utils.LockManage;
import com.consum.model.po.*;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.NumberGenerator;
@@ -18,7 +18,7 @@
/**
 * @ClassName LWarehouseFlowService
 * @Author cy
 * @Date 2023/10/24
 * @Description
 * @Version 1.0
@@ -32,17 +32,13 @@
    private LWarehouseFlowService lWarehouseFlowService;
    private LWhGoodsService lWhGoodsService;
    private LWhGoodsRecordService lWhGoodsRecordService;
    private LWhFormTransferServiceImpl lWhFormTransferService;
    private LWhFormOutputCoreService lWhFormOutputCoreService;
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
    @Autowired
    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, LWhFormTransferServiceImpl lWhFormTransferService, LWhFormOutputCoreService lWhFormOutputCoreService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
        this.jdbcTemplate = jdbcTemplate;
        this.lWarehouseFlowService = lWarehouseFlowService;
        this.baseGoodsTemplateService = baseGoodsTemplateService;
        this.lWhFormTransferService = lWhFormTransferService;
        this.lWhFormOutputCoreService = lWhFormOutputCoreService;
        this.lWhGoodsService = lWhGoodsService;
        this.lWhGoodsRecordService = lWhGoodsRecordService;
        this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertL_WH_GOODS");
@@ -127,25 +123,29 @@
                whGoodsRecord.setThisCount(modelCount);
                whGoodsRecord.setEndCount(goodsModelNum + modelCount);
                long totalPrice = 0;
                //将同型号的物品插入 库存物品详情
                List<LWhProcureModel> lWhProcureModels = sameModelList.get(baseGoodsModelsId);
                lWhProcureModels.forEach(item -> {
                for (LWhProcureModel item : lWhProcureModels) {
                    //供应商
                    String supplier = item.getSupplier();
                    //价格
                    Long price = item.getPrice();
                    //物品个数
                    Integer counts = item.getCounts();
                    totalPrice = totalPrice + counts*price;
                    sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName,
                            classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
                            supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
                });
                };
                whGoodsRecord.setTotalPrice(totalPrice);
            }
            lWhGoodsRecordService.insert(whGoodsRecord);
        });
        return 1;
    }
    /**
     * 同样规格的物品 插入多次,
@@ -167,7 +167,7 @@
     * @param pStates              状态
     * @param pTimes               插入条数
     */
    public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType , long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType,
    public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType,
                                    long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId,
                                    String pBaseGoodsModelsName, String pSupplier, short pBuyType,
                                    String pUnit, long pPrice, long pProcureDate,
@@ -196,22 +196,4 @@
        System.out.println("Procedure result: " + out);
    }
    /**
     * 调拨出库
     *
     * @param outWarehouseId 出库单
     * @return
     */
    public int outInsertWareFlow(Long outWarehouseId) {
        // 出库时候,按 先入库的先出库,同时入库的,按价格高的先出库
//        List<Long> outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, goodsModelNum);
        // 修改物品的状态为  状态(0=在途调拨;1=入库未分发;2=已下发;3=报废)
        // 修改 所属仓库仓库编号WAREHOUSE_ID、仓库名称WAREHOUSE_NAME,此时不要同步进 物品仓库保管记录【L_GOODS_WH_RECORD】!入库时再同步
        // 新增记录 进出库流水总表[L_WAREHOUSE_FLOW]   各规格物品的进出库【L_WH_GOODS_RECORD】进出库流水明细[L_WH_GOODS_RECORD_DETAILS]
        return 0;
    }
}