From 21619ffd680dfc66682ca3b6761eda5b74bdb70a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 02 八月 2023 15:34:26 +0800
Subject: [PATCH] 专家劳务下载bug修复
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 136 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 108 insertions(+), 28 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..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,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;
@@ -32,14 +30,13 @@
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;
@@ -57,10 +54,10 @@
private IServiceReimbursementService serviceReimbursementService;
@Autowired
- private IServiceReimbursementpayeeService reimbursementpayeeService;
+ private IServiceReimbursementSharedService serviceReimbursementSharedService;
@Autowired
- private IServiceReimbursementSharedService serviceReimbursementServiceShare;
+ private IServiceReimbursementpayeeService reimbursementpayeeService;
@Autowired
private IServiceReimbursementdetailService serviceReimbursementdetailService;
@@ -70,6 +67,9 @@
@Autowired
private IServiceFundflowService serviceFundflowService;
+
+ @Autowired
+ private IServiceFundService serviceFundService;
@Autowired
private ISysPostService postService;
@@ -437,6 +437,7 @@
// return 0;
// }
+
/**
* 宸梾璐逛笂鎶�
*/
@@ -445,6 +446,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 +473,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)) {
@@ -489,6 +511,7 @@
@PostMapping("/checkfund")
public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+
if (serviceReimbursement != null) {
Integer totalLevel = 0;
LoginUser loginUser = getLoginUser();
@@ -514,6 +537,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 +556,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());
@@ -734,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