From 0d7c66b65d40cdcac44a5a30bc2d6f9d5b3468c7 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 11 八月 2023 19:44:49 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 155 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 106 insertions(+), 49 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 a33f982..22b64aa 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,17 @@
import freemarker.template.TemplateException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang.ObjectUtils;
+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;
@@ -53,6 +47,7 @@
* @author ruoyi
* @date 2022-01-24
*/
+@Slf4j
@Api("鎶ラ攢鐢宠")
@RestController
@RequestMapping("/project/reimbursement")
@@ -453,21 +448,21 @@
@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) {
+ if (serviceReimbursement.getBackflowlevel() == 199) {
+ //灏嗛��鍥為樁娈佃缃垚100
+ serviceReimbursement.setBackflowlevel(100L);
+ serviceReimbursement.setFlowlevel(100L);
+ serviceReimbursement.setRecordstatus(0);
+ serviceReimbursementService.updateById(serviceReimbursement);
- //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
- ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class);
- serviceReimbursementShared.setId(null);
- serviceReimbursementShared.setDelFlag(0L);
- serviceReimbursementShared.setReimid(serviceReimbursement.getId());
- serviceReimbursementSharedService.save(serviceReimbursementShared);
+ //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
+ serviceReimbursementService.addSharedData(checkFundVO.getFundid());
- //灏嗛��鍥為樁娈佃缃垚100
- serviceReimbursement.setBackflowlevel(100L);
- serviceReimbursement.setRecordstatus(0);
- serviceReimbursementService.updateById(serviceReimbursement);
- return success();
+ return success();
+ }
}
if (serviceReimbursement != null) {
Integer TotalLevel = 0;
@@ -476,16 +471,25 @@
List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
if (!postids.contains(2)) {
- serviceReimbursement.setFlowlevel(1L);
- serviceReimbursement.setBackflowlevel(1L);
serviceReimbursement.setRecordstatus(2);
+ if (serviceReimbursement.getBackflowlevel() != null) {
+ serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
+ } else {
+ serviceReimbursement.setBackflowlevel(1L);
+ serviceReimbursement.setFlowlevel(1L);
+ }
} else {
- serviceReimbursement.setFlowlevel(0L);
serviceReimbursement.setRecordstatus(0);
- serviceReimbursement.setBackflowlevel(0L);
+ if (serviceReimbursement.getBackflowlevel() != null) {
+ serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
+ } else {
+ serviceReimbursement.setFlowlevel(0L);
+ serviceReimbursement.setBackflowlevel(0L);
+ }
+
}
- if (!postids.contains(2)) {
+ if (!postids.contains(2) && (serviceReimbursement.getBackflowlevel() == null || serviceReimbursement.getBackflowlevel() == 0)) {
ServiceFundflow serviceFundflow = new ServiceFundflow();
serviceFundflow.setFundid(serviceReimbursement.getId());
serviceFundflow.setCheckuserno(user.getUserName());
@@ -514,8 +518,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();
@@ -524,7 +529,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, "褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺");
}
@@ -558,12 +563,14 @@
}
}
FlowLevel = FlowLevel + 1;
+ serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel));
} else {
CheckFlag = 2;
if (CheckFlag == 2) {
//搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯��
FlowLevel = 0;
+ RecordStatus = -1;
} else {
//涓嬮潰鏄師鏉ョ殑鍐欐硶锛屼竴绾т竴绾х殑寰�涓嬮��锛屽尰闄㈢幇鍦ㄤ笉瑕佽繖鏍锋悶浜嗭紝涓嬮潰杩欐浠g爜鍏堜繚鐣欙紝绛夊尰闄㈠洖蹇冭浆鎰忥紝鍐嶇粰鏀惧紑
RecordStatus = (FlowLevel + 1) * 2 - 1;
@@ -589,8 +596,8 @@
serviceFundflowService.save(serviceFundflow);
List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
-
- if (!postids.contains(2)) {
+ log.info("postService.selectPostListByUserId : {}", postids.size());
+ if (!postids.contains(2) && !postids.contains(6) && (serviceReimbursement.getBackflowlevel() == null || serviceReimbursement.getBackflowlevel() == 0)) {
if (CheckFlag == 2 && OriginalFlowLevel == 1) {
ServiceFundflow serviceFundflowAuto = new ServiceFundflow();
serviceFundflowAuto.setFundid(serviceReimbursement.getId());
@@ -602,9 +609,9 @@
serviceFundflowAuto.setFlowcontent("闈炰笓鑱屼汉鍛樹簩绾у鏍告嫆缁濆悗鐩存帴閫�鍥炲埌淇敼鐘舵��");
serviceFundflowAuto.setFlowlevel(1);
serviceFundflowService.save(serviceFundflowAuto);
-
serviceReimbursement.setRecordstatus(1);
}
+
}
serviceReimbursementService.updateById(serviceReimbursement);
@@ -619,10 +626,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());
@@ -647,7 +656,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);
@@ -770,24 +779,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