liusheng
2023-11-03 b7cd70a1dc48f2cd2f5ed36d09f92c8ebcc62c8b
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字段过滤
@@ -221,13 +223,13 @@
    @RepeatSubmit
    @Options(useGeneratedKeys = true, keyProperty = "id")
    public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
        boolean b = serviceReimbursementService.save(serviceReimbursement);
//        if (b) {
//            addReiSharedDatd(serviceReimbursement, 1);
//        }
        Long id = serviceReimbursement.getId();
        return AjaxResult.success(id);
        if (!Objects.isNull(serviceReimbursement)) {
            serviceReimbursement.setCheckstatus(serviceReimbursement.getCheckstatus() == null ? 1 : serviceReimbursement.getCheckstatus());
            boolean b = serviceReimbursementService.save(serviceReimbursement);
            Long id = serviceReimbursement.getId();
            return AjaxResult.success(id);
        }
        return error();
    }
//    public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) {
@@ -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,24 @@
                    //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);
                    return AjaxResult.success();
                }
                FlowLevel = FlowLevel + 1;
                serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel));
            } else {
@@ -594,6 +615,8 @@
                        FlowLevel = 0;
                    }
                }
            }
            serviceReimbursement.setRecordstatus(RecordStatus);
@@ -635,8 +658,6 @@
            //001审批通过之后,就需要把“办公室主任”的名字填上
            if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) {
                serviceReimbursement.setOfficedirector(user.getNickName());
                String bh = baseOnlyvalueService.getOnlyCode("fund");
                serviceReimbursement.setBh(bh);
            }
            serviceReimbursementService.updateById(serviceReimbursement);