liusheng
2023-11-03 3ac51368b63cb4fc58a186f185332c8e22ab4fa4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -135,8 +135,10 @@
        String APPLICATIONENDTIME = spFinancialExpensesIn.getAPPLICATIONENDTIME();
        Integer CHECKFLAG = spFinancialExpensesIn.getCHECKFLAG();
        Integer APPLYTYPE = spFinancialExpensesIn.getAPPLYTYPE();
        Integer checkstatus = spFinancialExpensesIn.getCheckstatus();
        Integer pageNum = spFinancialExpensesIn.getPageNum();
        Integer pageSize = spFinancialExpensesIn.getPageSize();
        String donorname = spFinancialExpensesIn.getDonorname();
        if (pageNum == null) {
            pageNum = 1;
@@ -158,7 +160,7 @@
            APPLICATIONENDTIME = "";
        }
        //startPage();
        List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE);
        List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE, checkstatus, donorname);
        //根据经办人筛选
        if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) {
            list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 按name字段过滤
@@ -465,17 +467,24 @@
        ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
        //如果等于100,说明已经走到医院财务那边了;财务那边取数据是从分享表取,所以,这里直接往分享表里添加数据就行了;
        if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) {
//            if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
            if (serviceReimbursement.getBackflowlevel() == 199) {
            if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
//            if (serviceReimbursement.getBackflowlevel() == 199) {
                //将退回阶段设置成100
                serviceReimbursement.setBackflowlevel(100L);
                serviceReimbursement.setFlowlevel(100L);
                serviceReimbursement.setRecordstatus(0);
                //退回再提交,需要再到出纳那里
                serviceReimbursement.setFlowlevel(1L);
                serviceReimbursement.setRecordstatus(2);
                serviceReimbursementService.updateById(serviceReimbursement);
                //将修改的上报数据 新增一条
                serviceReimbursementService.addSharedData(checkFundVO.getFundid());
//                serviceReimbursementService.addSharedData(checkFundVO.getFundid());
                return success();
            } else if (serviceReimbursement.getBackflowlevel() == 2) {
                //聂科退回的,也需要走出纳那里
                serviceReimbursement.setFlowlevel(1L);
                serviceReimbursement.setRecordstatus(2);
                serviceReimbursementService.updateById(serviceReimbursement);
                return success();
            }
        }
@@ -571,12 +580,37 @@
                    //99 取消
                    RecordStatus = 99;
                } else {
                    if (totalLevel == FlowLevel + 1) {
                        RecordStatus = 99;
                    } else {
                        RecordStatus = (FlowLevel + 1) * 2;
                    }
                }
                if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) {
                    log.info("出差补贴被 财务退回再提交,出纳再次审批,之后提交到财务");
                    //说明是财务退回再提交的.需要出纳再看一遍,没问题之后,往分享表里新增
                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
                    serviceReimbursement.setFlowlevel(100L);
                    serviceReimbursement.setRecordstatus(99);
                    serviceReimbursementService.updateById(serviceReimbursement);
                    //保存审批流程表
                    ServiceFundflow serviceFundflow = new ServiceFundflow();
                    SysUser user = loginUser.getUser();
                    serviceFundflow.setFundid(serviceReimbursement.getId());
                    serviceFundflow.setCheckuserno(user.getUserName());
                    serviceFundflow.setCheckusername(user.getNickName());
                    serviceFundflow.setFundtype(1);
                    serviceFundflow.setApplytype("0");
                    serviceFundflow.setFlowconclusion(CheckFlag);
                    serviceFundflow.setFlowcontent("通过");
                    serviceFundflow.setFlowlevel(OriginalFlowLevel + 1);
                    Boolean aBoolean = serviceFundflowService.save(serviceFundflow);
                    return AjaxResult.success();
                }
                FlowLevel = FlowLevel + 1;
                serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel));
            } else {
@@ -594,6 +628,8 @@
                        FlowLevel = 0;
                    }
                }
            }
            serviceReimbursement.setRecordstatus(RecordStatus);