From fd851241cc8ed0d3c4937610a723403efb749361 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 08 八月 2023 17:31:02 +0800
Subject: [PATCH] 修改请求方式

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |  149 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 117 insertions(+), 32 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 af24cf9..92614f1 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
@@ -1,7 +1,5 @@
 package com.ruoyi.web.controller.project;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
@@ -13,8 +11,8 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.HttpClientKit;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
@@ -29,17 +27,17 @@
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.ibatis.annotations.Options;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.*;
 import java.math.BigDecimal;
-import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 
@@ -49,6 +47,7 @@
  * @author ruoyi
  * @date 2022-01-24
  */
+@Slf4j
 @Api("鎶ラ攢鐢宠")
 @RestController
 @RequestMapping("/project/reimbursement")
@@ -57,10 +56,10 @@
     private IServiceReimbursementService serviceReimbursementService;
 
     @Autowired
-    private IServiceReimbursementpayeeService reimbursementpayeeService;
+    private IServiceReimbursementSharedService serviceReimbursementSharedService;
 
     @Autowired
-    private IServiceReimbursementSharedService serviceReimbursementServiceShare;
+    private IServiceReimbursementpayeeService reimbursementpayeeService;
 
     @Autowired
     private IServiceReimbursementdetailService serviceReimbursementdetailService;
@@ -70,6 +69,9 @@
 
     @Autowired
     private IServiceFundflowService serviceFundflowService;
+
+    @Autowired
+    private IServiceFundService serviceFundService;
 
     @Autowired
     private ISysPostService postService;
@@ -437,6 +439,7 @@
 //        return 0;
 //    }
 
+
     /**
      * 宸梾璐逛笂鎶�
      */
@@ -445,6 +448,25 @@
     @PostMapping("/travelexpensereport")
     public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+        //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�;
+        if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) {
+            if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
+
+                //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
+                ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class);
+                serviceReimbursementShared.setId(null);
+                serviceReimbursementShared.setDelFlag(0L);
+                serviceReimbursementShared.setReimid(serviceReimbursement.getId());
+                serviceReimbursementSharedService.save(serviceReimbursementShared);
+
+                //灏嗛��鍥為樁娈佃缃垚100
+                serviceReimbursement.setBackflowlevel(100L);
+                serviceReimbursement.setFlowlevel(100L);
+                serviceReimbursement.setRecordstatus(0);
+                serviceReimbursementService.updateById(serviceReimbursement);
+                return success();
+            }
+        }
         if (serviceReimbursement != null) {
             Integer TotalLevel = 0;
             LoginUser loginUser = getLoginUser();
@@ -453,10 +475,12 @@
 
             if (!postids.contains(2)) {
                 serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setBackflowlevel(1L);
                 serviceReimbursement.setRecordstatus(2);
             } else {
                 serviceReimbursement.setFlowlevel(0L);
                 serviceReimbursement.setRecordstatus(0);
+                serviceReimbursement.setBackflowlevel(0L);
             }
 
             if (!postids.contains(2)) {
@@ -488,7 +512,9 @@
     @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER)
     @PostMapping("/checkfund")
     public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
+        log.info("瀹℃牳璐圭敤鐨勫叆鍙� : {}", checkFundVO);
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+        log.info("瀹℃牳璐圭敤鐨剆erviceReimbursementService.getById杩斿弬 : {}", serviceReimbursement);
         if (serviceReimbursement != null) {
             Integer totalLevel = 0;
             LoginUser loginUser = getLoginUser();
@@ -497,7 +523,7 @@
             serviceFundflowrule.setApplytype("0");
             serviceFundflowrule.setCheckuserno(loginUser.getUsername());
             List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
-
+            log.info("瀹℃牳璐圭敤鐨剆erviceFundflowruleService.queryList杩斿弬 : {}", serviceFundflowrules.size());
             if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) {
                 return AjaxResult.error(HttpStatus.ERROR, "褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺");
             }
@@ -514,6 +540,9 @@
             Integer CheckFlag = 0;
             Integer RecordStatus = serviceReimbursement.getRecordstatus();
             Integer FlowLevel = Integer.valueOf(serviceReimbursement.getFlowlevel().toString());
+            if (Objects.isNull(serviceReimbursement.getBackflowlevel()) && !Objects.isNull(serviceReimbursement.getFlowlevel())) {
+                serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel.toString()));
+            }
             Integer OriginalFlowLevel = FlowLevel;
             if (checkFundVO.getFlowconclusion() == 1) {
                 CheckFlag = 1;
@@ -530,16 +559,22 @@
                 FlowLevel = FlowLevel + 1;
             } else {
                 CheckFlag = 2;
-                RecordStatus = (FlowLevel + 1) * 2 - 1;
-                FlowLevel = (FlowLevel - 1);
-                if (FlowLevel < 0) {
+
+                if (CheckFlag == 2) {
+                    //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯��
                     FlowLevel = 0;
+                } else {
+                    //涓嬮潰鏄師鏉ョ殑鍐欐硶锛屼竴绾т竴绾х殑寰�涓嬮��锛屽尰闄㈢幇鍦ㄤ笉瑕佽繖鏍锋悶浜嗭紝涓嬮潰杩欐浠g爜鍏堜繚鐣欙紝绛夊尰闄㈠洖蹇冭浆鎰忥紝鍐嶇粰鏀惧紑
+                    RecordStatus = (FlowLevel + 1) * 2 - 1;
+                    FlowLevel = (FlowLevel - 1);
+                    if (FlowLevel < 0) {
+                        FlowLevel = 0;
+                    }
                 }
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
             serviceReimbursement.setFlowlevel(Long.valueOf(FlowLevel.toString()));
-
             ServiceFundflow serviceFundflow = new ServiceFundflow();
             SysUser user = loginUser.getUser();
             serviceFundflow.setFundid(serviceReimbursement.getId());
@@ -553,7 +588,7 @@
             serviceFundflowService.save(serviceFundflow);
 
             List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
-
+            log.info("postService.selectPostListByUserId : {}", postids.size());
             if (!postids.contains(2)) {
                 if (CheckFlag == 2 && OriginalFlowLevel == 1) {
                     ServiceFundflow serviceFundflowAuto = new ServiceFundflow();
@@ -566,9 +601,9 @@
                     serviceFundflowAuto.setFlowcontent("闈炰笓鑱屼汉鍛樹簩绾у鏍告嫆缁濆悗鐩存帴閫�鍥炲埌淇敼鐘舵��");
                     serviceFundflowAuto.setFlowlevel(1);
                     serviceFundflowService.save(serviceFundflowAuto);
-
                     serviceReimbursement.setRecordstatus(1);
                 }
+
             }
 
             serviceReimbursementService.updateById(serviceReimbursement);
@@ -583,10 +618,12 @@
             serviceSystemmessage.setIsread(0);
             serviceSystemmessage.setMessagetype(1);
             serviceSystemmessage.setRelevantno(serviceReimbursement.getId());
+            log.info("CheckFlag鐨勫�� : {}", CheckFlag);
             if (CheckFlag == 1) {
                 //閫氳繃
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
                 serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
+                log.info("totalLevel鐨勫�� : {},  OriginalFlowLevel鐨勫��:{}", totalLevel,OriginalFlowLevel);
                 if (totalLevel == OriginalFlowLevel + 1) {
                     //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
                     serviceReimbursementService.addSharedData(checkFundVO.getFundid());
@@ -611,7 +648,7 @@
     @ApiOperation("淇敼鎶ラ攢鐢宠")
     //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
     @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE)
-    @PutMapping
+    @PostMapping("/reimbursementEdit")
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) {
         boolean b = serviceReimbursementService.updateById(serviceReimbursement);
@@ -734,24 +771,72 @@
             }
             map.put(key, otherMoney);
             list.add(map);
-            // 涓嶄负涓撳鎴栧灞�
-            if (!key.equals("3") && !key.equals("4")) {
-                //灏嗕笂涓�娆$殑娓呯┖
-                FYXM1.delete(0, FYXM1.length());
-                //鍐嶆柊澧�
-                otherMoneyall = otherMoneyall.add(otherMoney);
-                FYXM1.append("OPO宸ヤ綔浜哄憳" + ":" + otherMoneyall + " ");
-            } else {
-                if (flag == 0) {
-                    key1 = key;
-                    flag = 1;
-                }
-                if (key1 == key) {
-                    FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
-                    allMoney = allMoney.add(otherMoney);
+            // 涓嶄负涓撳鎴栧灞烇紝key鏈夊彲鑳芥槸鏁板瓧锛屾湁鍙兘鏄眽瀛�
+            Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+            boolean matches = pattern.matcher(key).matches();
+            if (matches) {
+                if (!key.equals("3") && !key.equals("4")) {
+                    //灏嗕笂涓�娆$殑娓呯┖
+                    FYXM1.delete(0, FYXM1.length());
+                    //鍐嶆柊澧�
+                    otherMoneyall = otherMoneyall.add(otherMoney);
+                    FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
                 } else {
-                    FYXM3.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
-                    allMoney = allMoney.add(otherMoney);
+                    if (flag == 0) {
+                        key1 = key;
+                        flag = 1;
+                    }
+                    if (key1 == key) {
+                        if (key.equals("3")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    } else {
+                        if (key.equals("3")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    }
+                }
+            } else {
+                if (!key.equals("涓撳") && !key.equals("瀹跺睘")) {
+                    //灏嗕笂涓�娆$殑娓呯┖
+                    FYXM1.delete(0, FYXM1.length());
+                    //鍐嶆柊澧�
+                    otherMoneyall = otherMoneyall.add(otherMoney);
+                    FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
+                } else {
+                    if (flag == 0) {
+                        key1 = key;
+                        flag = 1;
+                    }
+                    if (key1 == key) {
+                        if (key.equals("涓撳")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    } else {
+                        if (key.equals("涓撳")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    }
                 }
             }
         }

--
Gitblit v1.9.3