From 2c456094bdf1cc7e1bab5e0dbee00bb1f2743488 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 17 七月 2023 13:50:12 +0800 Subject: [PATCH] 1、审批顺序:审批时,从一级到五级逐级审批,回退时,由审批人员指定回退级别,如从五级审批退回到经办人(需要重新修改材料的人员处),每一级可以看到回退的信息;修改完成后,直接从经办人处到达五级审批或退回的审批人。被退回的信息修改完成后,直接从经办人到达五级审批或退回的审批人处,那么其他层级的审批人虽然不需要审批,但要能够看到重新修改后的信息。 说明: (1)差旅费报销主表:service_reimbursement 标识字段:FlowLevel(当前审核级别 处于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等; 4:四级审核等; 5:五级审核等);RecordStatus(记录状态 详见字典sys_travelexpensestatus) (2)费用报销主表:service_fund 标识字段:FlowLevel(当前审核级别 处于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等; 4:四级审核等; 5:五级审核等);RecordStatus(记录状态 详见字典sys_travelexpensestatus) (3)审批流程设置表:service_fundflowrule (4)审批流程记录表:service_fundflow --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 39 +++++++++++++++++++++++++++++++-------- 1 files changed, 31 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java index ac64e1f..4ff99cf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java @@ -450,7 +450,7 @@ @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { - logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}",checkFundVO); + logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}", checkFundVO); ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid()); if (serviceFund != null) { Integer TotalLevel = 0; @@ -459,7 +459,7 @@ serviceFundflowrule.setFundtype(2); serviceFundflowrule.setApplytype(serviceFund.getApplytype()); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); - logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}",serviceFundflowrule); + logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}", serviceFundflowrule); List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); @@ -493,10 +493,15 @@ FlowLevel = FlowLevel + 1; } else { CheckFlag = 2; - RecordStatus = (FlowLevel + 1) * 2 - 1; - FlowLevel = (FlowLevel - 1); - if (FlowLevel < 0) { + if (CheckFlag == 2) { + //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� FlowLevel = 0; + } else { + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; + } } } @@ -550,7 +555,7 @@ columnMap.put("fundID", checkFundVO.getFundid()); //鑾峰彇璇︽儏鏁版嵁 List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap); - logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}",serviceFunddetails); + logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}", serviceFunddetails); List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class); for (int i = 0; i < serviceFunddetails.size(); i++) { serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); @@ -589,11 +594,29 @@ @PutMapping @RepeatSubmit public AjaxResult edit(@RequestBody ServiceFund serviceFund) { - boolean bret = serviceFundService.updateById(serviceFund); + List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getId()); + for (ServiceFund sf : infoByInfoIdList) { + //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜� + if (sf.getBackflowlevel() == 100 || sf.getBackflowlevel() == 199) { + ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); + serviceFundShared.setId(null); + serviceFundShared.setDel_flag(0); + fundSharedService.save(serviceFundShared); + + //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100 + sf.setBackflowlevel(100); + serviceFundService.updateById(sf); + return success(); + } else { + boolean bret = serviceFundService.updateById(serviceFund); // if (bret) { // addReiSharedDatd(serviceFund, 2); // } - return toAjax(bret); + return toAjax(bret); + } + } + + return toAjax(false); } /** -- Gitblit v1.9.3