futian.liu
2023-12-20 350125984c618f95d09fb08978953ad24f5d3b6c
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -19,7 +19,9 @@
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.type.CategoryType;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.type.TransferBusinessType;
import com.consum.base.core.type.WareHouseType;
import com.consum.base.core.utils.CurrencyUtil;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.MapUtils;
@@ -37,7 +39,7 @@
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
import com.consum.base.service.BaseWarehouseManagerService;
import com.consum.base.service.BaseWarehouseService;
import com.consum.base.service.FinSysTenantServiceImpl;
import com.consum.base.service.FinSysTenantService;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
@@ -69,7 +71,7 @@
    @Autowired
    private CodeGeneratorService codeGeneratorService;
    @Autowired
    private FinSysTenantServiceImpl finSysTenantService;
    private FinSysTenantService finSysTenantService;
    @Autowired
    private LWhGoodsService lWhGoodsService;
    @Autowired
@@ -112,13 +114,12 @@
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(codeGeneratorEnum));
        Long warehouseId = param.getInWarehouseId();
        // 调拨类型单据
        if (businessType == TransferBusinessType.STOCK_TRANSFER.getValue()) {
            // 入库仓库为当前用户的默认仓库
            // 入库仓库为当前用户的默认仓库中的第一个
            String tenantId = sysInfo.getTenantId();
            String tenantName = sysInfo.getTenantName();
            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
            BaseWarehouse warehouse = baseWarehouseService.getWarehouseByAgencyId(Long.valueOf(tenantId), null);
            if (warehouse == null) {
                log.error("仓库不存在");
                throw new Exception("仓库不存在");
@@ -148,13 +149,13 @@
            baseWarehouse.setId(baseWarehouseId);
            BaseWarehouse warehouse = baseWarehouseService.get(baseWarehouse);
            lWhFormTransfer.setInWarehouseType(1);
            lWhFormTransfer.setInWarehouseType(WareHouseType.DEPARTMENT.getValue());
            lWhFormTransfer.setInWarehouseId(param.getDepartmentId());
            lWhFormTransfer.setInWarehouseName(param.getDepartmentName());
            lWhFormTransfer.setInOperatorName(param.getOperatorName());
            lWhFormTransfer.setInTime(param.getCreateTime());
            lWhFormTransfer.setOutWarehouseType(0);
            lWhFormTransfer.setOutWarehouseType(WareHouseType.TENANT.getValue());
            lWhFormTransfer.setOutWarehouseId(warehouse.getId());
            lWhFormTransfer.setOutWarehouseName(warehouse.getWarehouseName());
@@ -170,7 +171,8 @@
        if (finSysTenant == null) {
            log.error("调拨机构不存在");
        }
        lWhFormTransfer.setOutAgencyId(finSysTenant.getId());
        Long outAgencyId = finSysTenant.getId();
        lWhFormTransfer.setOutAgencyId(outAgencyId);
        lWhFormTransfer.setOutAgencyName(finSysTenant.getName());
        lWhFormTransfer.setOperatorId(sysInfo.getId());
        lWhFormTransfer.setOperatorName(sysInfo.getUserName());
@@ -214,7 +216,13 @@
                if (businessType == TransferBusinessType.STOCK_TRANSFER.getValue()) {
                    lWhProcureModel.setBusinessType(2);
                    // 根据物品型号查询物品库存
                    int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
                    // 调拨申请时没有仓库id 查询上级机构的所有仓库
                    List<BaseWarehouse> baseWareHouseList =
                        baseWarehouseService.getBaseWareHouseList(outAgencyId, StatesType.NORMAL.getValue());
                    List<Long> warehouseIdList =
                        baseWareHouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList());
                    int goodsNum = lWhGoodsService.queryGoodsModelNum(WareHouseType.TENANT.getValue(), warehouseIdList,
                        baseGoodsModelsId, 1, null);
                    lWhProcureModel.setWorehouseCount(goodsNum);
                }
                if (businessType == TransferBusinessType.DEPARTMENT_PROCURE.getValue()) {