石广澎
2023-11-29 bdea6f89251e2e11a92d38e41a64edf53b2cb95d
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -88,7 +88,7 @@
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    public int add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception {
    public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception {
        //1.新增调拨单记录
        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer();
        //调拨单id
@@ -99,8 +99,16 @@
        // 单据类型。0仓库调拨;1部门分发;2部门物品回退
        // TODO 枚举字典
        lWhFormTransfer.setBusinessType(businessType);
        CodeGeneratorEnum codeGeneratorEnum = null;
        if (businessType == 0) {
            codeGeneratorEnum = CodeGeneratorEnum.Transfer;
        } else if (businessType == 1) {
            codeGeneratorEnum = CodeGeneratorEnum.Distribute;
        } else if (businessType == 2) {
            codeGeneratorEnum = CodeGeneratorEnum.GOBACK;
        }
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer));
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(codeGeneratorEnum));
        Long warehouseId = param.getInWarehouseId();
        // 调拨类型单据
@@ -124,13 +132,13 @@
            //从当前登录库管人从库中出库,入到所选部门的下
            //查询库管员信息和相关仓库
            Long id = sysInfo.getSysUserId();
            Long id = sysInfo.getId();
            BaseWarehouseManager manager = new BaseWarehouseManager();
            manager.setManagerId(id);
            List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
            if (CollectionUtils.isEmpty(managerList)) {
                log.error("库管员不存在");
                throw new Exception("库管员不存在");
                log.error("该用户不是库管员");
                throw new Exception("该用户不是库管员");
            }
            Optional<BaseWarehouseManager> first = managerList.stream().findFirst();
            if (first.isPresent()) {
@@ -161,7 +169,6 @@
        FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
        if (finSysTenant == null) {
            log.error("调拨机构不存在");
            return 0;
        }
        lWhFormTransfer.setOutAgencyId(finSysTenant.getId());
        lWhFormTransfer.setOutAgencyName(finSysTenant.getName());
@@ -175,7 +182,6 @@
        int flag1 = this.insert(lWhFormTransfer);
        if (flag1 == 0) {
            log.error("新增调拨单失败");
            return 0;
        }
        //2.新增物品型号记录
@@ -233,7 +239,6 @@
                    if (procureInsertNum != procureModelUserList.size()) {
                        log.error("新增物品使用信息失败");
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return 0;
                    }
                }
@@ -246,10 +251,8 @@
        if (flag2 != modelList.size()) {
            log.error("新增物品型号失败");
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return 0;
        }
        return 1;
        return lWhFormTransferId;
    }
@@ -287,7 +290,7 @@
        }
        //状态
        if (param.getStates() != null) {
            sql.append(" and states =:states ");
            sql.append(" and ft.states =:states ");
            paramts.put("states", param.getStates());
        }
        //创建人
@@ -313,6 +316,11 @@
            sql.append(" and IN_TIME <:inTimeEnd ");
            paramts.put("inTimeEnd", param.getEndTime() * 1000000 + 240000);
        }
        //分发部门
        if (param.getInWarehouseId() != null) {
            sql.append("and ft.IN_WAREHOUSE_ID = :inWarehouseId ");
            paramts.put("inWarehouseId", param.getInWarehouseId());
        }
        sql.append(" ORDER BY ft.CREATE_TIME DESC");
        GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormTransfer());
@@ -331,6 +339,7 @@
        LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id));
        if (lWhFormTransfer != null) {
            BeanUtils.copyProperties(lWhFormTransfer, result);
            result.setDepartmentName(lWhFormTransfer.getInWarehouseName());
        }
        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type "
@@ -377,8 +386,6 @@
                        });
                        goodsModelVO.setUseInfo(departGoodsUseInfoList);
                    }
                    // TODO 部门名称
//                result.setDepartmentName();
                }
                goodsModelVOList.add(goodsModelVO);
@@ -447,9 +454,10 @@
        HashMap<String, Object> paramts = new HashMap<>();
        StringBuilder sql = new StringBuilder(
            "SELECT ft.id,ft.BUSINESS_FORM_CODE,bgt.GOODS_NAME,bgt.CLASSIFICATION type,bgm.id goodsModelId,bgm.MODEL_NAME goodsModelName,pm.COUNTS goodsCount,fst.`name` tenantName,"
                + "fstd.NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME FROM l_wh_form_transfer ft "
                + "ft.IN_WAREHOUSE_NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME,ft.OPERATOR_NAME FROM l_wh_form_transfer ft "
                + "inner JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID " + "inner JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID "
                + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
                + "inner JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID "
                + "inner JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where ft.BUSINESS_TYPE =1 ");
        //单号
@@ -472,7 +480,11 @@
            sql.append("AND OUT_AGENCY_ID = :OUT_AGENCY_ID ");
            paramts.put("OUT_AGENCY_ID", transferQry.getOutAgencyId());
        }
        //分发部门
        if (transferQry.getInWarehouseId() != null) {
            sql.append("and ft.IN_WAREHOUSE_ID = :inWarehouseId ");
            paramts.put("inWarehouseId", transferQry.getInWarehouseId());
        }
        //创建人
        if (StringUtils.isNotEmpty(transferQry.getOperatorName())) {
            sql.append("AND ft.OPERATOR_NAME =:OPERATOR_NAME ");