From 412628e222180fafab1c5d53e5a6711d75b682b3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 31 七月 2023 09:08:22 +0800
Subject: [PATCH] 代码修改,给字段判空

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |  121 +++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 39 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 7218186..6fb031b 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,9 +1,5 @@
 package com.ruoyi.web.controller.project;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
@@ -15,7 +11,6 @@
 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;
@@ -32,18 +27,16 @@
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang.ObjectUtils;
 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;
 
 
@@ -453,22 +446,24 @@
     @PostMapping("/travelexpensereport")
     public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
-        //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
-        if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
+        //濡傛灉绛変簬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);
+                //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
+                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();
+                //灏嗛��鍥為樁娈佃缃垚100
+                serviceReimbursement.setBackflowlevel(100L);
+                serviceReimbursement.setFlowlevel(100L);
+                serviceReimbursement.setRecordstatus(0);
+                serviceReimbursementService.updateById(serviceReimbursement);
+                return success();
+            }
         }
         if (serviceReimbursement != null) {
             Integer TotalLevel = 0;
@@ -771,24 +766,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