From b7cd70a1dc48f2cd2f5ed36d09f92c8ebcc62c8b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 03 十一月 2023 15:20:45 +0800
Subject: [PATCH] 修改审批流程

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index 0a759dd..e8634d5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -75,6 +75,9 @@
     private IServiceFundService serviceFundService;
 
     @Autowired
+    private IBaseOnlyvalueService baseOnlyvalueService;
+
+    @Autowired
     private ISysPostService postService;
 
     @Autowired
@@ -132,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;
@@ -155,20 +160,21 @@
             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()); // 鎸塶ame瀛楁杩囨护
         }
         //鏍规嵁閲戦绛涢��
         if (spFinancialExpensesIn.getMoney() != null) {
-            list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getAmountrequested()) == new BigDecimal(spFinancialExpensesIn.getMoney())).collect(Collectors.toList());
+            list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getAmountrequested()).compareTo(new BigDecimal(spFinancialExpensesIn.getMoney())) == 0).collect(Collectors.toList());
+
         }
         //鏍规嵁鍒涘缓鏃堕棿鎺掑簭
         Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() {
             @Override
             public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) {
-                return o2.getCreateTime().compareTo(o1.getCreateTime());
+                return o1.getCreateTime().compareTo(o2.getCreateTime());
             }
         });
         return getCustomDataTable(list, pageNum, pageSize);
@@ -217,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) {
@@ -461,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) {
+                //鑱傜閫�鍥炵殑锛屼篃闇�瑕佽蛋鍑虹撼閭i噷
+                serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setRecordstatus(2);
+                serviceReimbursementService.updateById(serviceReimbursement);
                 return success();
             }
         }
@@ -567,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 {
@@ -590,6 +615,8 @@
                         FlowLevel = 0;
                     }
                 }
+
+
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
@@ -629,7 +656,7 @@
 
             }
             //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂
-            if (checkFundVO.getFlowconclusion() == 1 && user.getUserId().equals("001")) {
+            if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) {
                 serviceReimbursement.setOfficedirector(user.getNickName());
             }
 
@@ -900,6 +927,7 @@
         String date = formatter.format(dt);
         String time = date.substring(0, 10);
 
+        dataMap.put("ZB", rdInfoByItem.get(0).getDeptmentname() == null ? "" : rdInfoByItem.get(0).getDeptmentname());
         dataMap.put("XZBH", rdInfoByItem.get(0).getBh() == null ? "" : rdInfoByItem.get(0).getBh());
         dataMap.put("TBYYMMDD", time);
         dataMap.put("BXDFJ", rdInfoByItem.get(0).getAttachcount() == null ? "   " : "" + rdInfoByItem.get(0).getAttachcount());

--
Gitblit v1.9.3