luqingyang
2023-11-01 090bf407236ef5be8ea7ba803a56fdcc2dcc1ce3
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -31,18 +31,20 @@
    private SimpleJdbcCall simpleJdbcCall;
    private LWarehouseFlowService lWarehouseFlowService;
    private LWhGoodsService lWhGoodsService;
    private LWhGoodsRecordService lWhGoodsRecordService;
    private LWhFormTransferService lWhFormTransferService;
    private LWhFormOutputCoreService lWhFormOutputCoreService;
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
    @Autowired
    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, LWhFormTransferService lWhFormTransferService, LWhFormOutputCoreService lWhFormOutputCoreService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService) {
    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, LWhFormTransferService lWhFormTransferService, LWhFormOutputCoreService lWhFormOutputCoreService, 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");
    }
@@ -63,6 +65,7 @@
        }
        // 查询仓库信息
        Long warehouseFlowId = warehouseFlow.getId();
        Integer warehouseType = warehouseFlow.getWarehouseType();
        Long warehouseId = warehouseFlow.getWarehouseId();
        Long dealTime = warehouseFlow.getDealTime();
        BaseWarehouse baseWarehouses = lWarehouseFlowService.get(new BaseWarehouse(warehouseId));
@@ -116,10 +119,10 @@
            whGoodsRecord.setThisType(1);
            //通过LockManage获得锁
            Object warehouseModelLockObj = LockManage.acquireLock(warehouseId, baseGoodsModelsId);
            Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
            synchronized (warehouseModelLockObj) {
                // 获得锁后查询该型号的期初数量
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseId, baseGoodsModelsId, (short) 1, null);
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType,warehouseId, baseGoodsModelsId, (short) 1, null);
                whGoodsRecord.setInitialCount(goodsModelNum);
                whGoodsRecord.setThisCount(modelCount);
                whGoodsRecord.setEndCount(goodsModelNum + modelCount);
@@ -138,6 +141,7 @@
                            supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
                });
            }
            lWhGoodsRecordService.insert(whGoodsRecord);
        });
        return 1;