From 1b8f305c2764e382f5d72bd0f7b65826ee2b3ebe Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 26 三月 2024 14:17:35 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 106 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 78 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 37f5124..567389a 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,6 @@
package com.ruoyi.web.controller.project;
import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.NotRepeatCommit;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.HttpStatus;
@@ -13,15 +12,17 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
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;
import com.ruoyi.project.domain.vo.CheckFundVO;
+import com.ruoyi.project.domain.vo.DingTalkReqVo;
import com.ruoyi.project.domain.vo.SpFinancialExpensesIn;
import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut;
import com.ruoyi.project.service.*;
+import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.web.controller.enums.PersonType;
import freemarker.template.Configuration;
import freemarker.template.Template;
@@ -39,6 +40,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -57,6 +59,9 @@
@Autowired
private IServiceReimbursementService serviceReimbursementService;
+// @Autowired
+// private MergeFilesToPDFUtils mergeFilesToPDFUtils;
+
@Autowired
private IServiceReimbursementSharedService serviceReimbursementSharedService;
@@ -73,10 +78,10 @@
private IServiceFundflowService serviceFundflowService;
@Autowired
- private IServiceFundService serviceFundService;
+ private DingTalkService dingTalkService;
@Autowired
- private IBaseOnlyvalueService baseOnlyvalueService;
+ private ISysUserService sysUserService;
@Autowired
private ISysPostService postService;
@@ -220,18 +225,31 @@
@ApiOperation("鏂板鎶ラ攢鐢宠")
//@PreAuthorize("@ss.hasPermi('project:reimbursement:add')")
@Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.INSERT)
- @PostMapping
- @RepeatSubmit
+ @PostMapping("/add")
+ @RepeatSubmit
@Options(useGeneratedKeys = true, keyProperty = "id")
public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
if (!Objects.isNull(serviceReimbursement)) {
+ serviceReimbursement.setCreateTime(new Date());
serviceReimbursement.setCheckstatus(serviceReimbursement.getCheckstatus() == null ? 1 : serviceReimbursement.getCheckstatus());
+ serviceReimbursement.setUploadStates(0);
boolean b = serviceReimbursementService.save(serviceReimbursement);
Long id = serviceReimbursement.getId();
return AjaxResult.success(id);
}
return error();
}
+
+// /**
+// * 宸梾璐逛笂鎶�
+// */
+// @ApiOperation("宸梾璐逛笂鎶�")
+// @Log(title = "宸梾璐逛笂鎶�", businessType = BusinessType.OTHER)
+// @PostMapping("/test")
+// public AjaxResult test(@RequestBody CheckFundVO checkFundVO) {
+// mergeFilesToPDFUtils.generatePdf(checkFundVO.getFileNames(), checkFundVO.getOutputFile());
+// return AjaxResult.success(200);
+// }
/**
@@ -242,14 +260,27 @@
@PostMapping("/travelexpensereport")
public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+ serviceReimbursement.setApplyTime(new Date());
+ Long flowLavel = null;
+
+ LoginUser loginUser = getLoginUser();
+ SysUser user = loginUser.getUser();
+
+ //鏌ヨ蹇呭浜�
+ ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
+ serviceFundflowrule.setApplytype("0");
+ serviceFundflowrule.setMustAudite(1);
+ serviceFundflowrule.setDel_flag(0);
+ List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
+ log.info("reimbursement蹇呭浜虹殑绛夌骇涓猴細{}", serviceFundflowrules.get(0).getFlowlevel());
+
//濡傛灉绛変簬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(1L);
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
serviceReimbursement.setRecordstatus(2);
serviceReimbursementService.updateById(serviceReimbursement);
@@ -257,9 +288,9 @@
// serviceReimbursementService.addSharedData(checkFundVO.getFundid());
return success();
- } else if (serviceReimbursement.getBackflowlevel() == 2) {
- //鑱傜閫�鍥炵殑锛屼篃闇�瑕佽蛋鍑虹撼閭i噷
- serviceReimbursement.setFlowlevel(1L);
+ } else if (serviceReimbursement.getBackflowlevel() >= Long.valueOf(serviceFundflowrules.get(0).getFlowlevel())) {
+ //蹇呭浜洪瀵奸��鍥炵殑锛屼篃闇�瑕佽蛋蹇呭浜洪偅閲�
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
serviceReimbursement.setRecordstatus(2);
serviceReimbursementService.updateById(serviceReimbursement);
return success();
@@ -267,8 +298,6 @@
}
if (serviceReimbursement != null) {
Integer TotalLevel = 0;
- LoginUser loginUser = getLoginUser();
- SysUser user = loginUser.getUser();
List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
if (!postids.contains(2)) {
@@ -276,8 +305,8 @@
if (serviceReimbursement.getBackflowlevel() != null) {
serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
} else {
- serviceReimbursement.setBackflowlevel(1L);
- serviceReimbursement.setFlowlevel(1L);
+ serviceReimbursement.setBackflowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
}
} else {
serviceReimbursement.setRecordstatus(0);
@@ -299,7 +328,8 @@
serviceFundflow.setApplytype("0");
serviceFundflow.setFlowconclusion(1);
serviceFundflow.setFlowcontent("闈炰笓鑱屼汉鍛樼洿鎺ヨ繘鍏ヤ簩绾у鏍�");
- serviceFundflow.setFlowlevel(1);
+
+ serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1);
serviceFundflowService.save(serviceFundflow);
}
@@ -366,12 +396,15 @@
}
if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) {
- log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�");
+ log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId());
//璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
- serviceReimbursementService.addSharedData(serviceReimbursement.getId());
- serviceReimbursement.setFlowlevel(100L);
+// serviceReimbursementService.addSharedData(serviceReimbursement.getId());
+
+ serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
serviceReimbursement.setRecordstatus(99);
- serviceReimbursementService.updateById(serviceReimbursement);
+ serviceReimbursement.setUploadStates(1);
+ boolean b = serviceReimbursementService.updateById(serviceReimbursement);
+ log.info("鏄惁淇敼鎴愬姛:{}", b);
//淇濆瓨瀹℃壒娴佺▼琛�
ServiceFundflow serviceFundflow = new ServiceFundflow();
@@ -405,8 +438,19 @@
FlowLevel = 0;
}
}
-
-
+ SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement.getUserno());
+ ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>();
+ ConcurrentHashMap map = new ConcurrentHashMap();
+ map.put("瀹℃壒浜猴細", loginUser.getUser().getUserName());
+ map.put("瀹℃壒鏃堕棿锛�", new Date());
+ map.put("鎰忚锛�", "涓嶉�氳繃");
+ if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) map.put("鎰忚锛�", checkFundVO.getFlowcontent());
+ contentList.add(map);
+ DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
+ dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
+ dingTalkReqVo.setNumber(sysUser.getPhonenumber());
+ dingTalkReqVo.setContents(contentList);
+ dingTalkService.sendNotification(dingTalkReqVo);
}
serviceReimbursement.setRecordstatus(RecordStatus);
@@ -448,6 +492,7 @@
//001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂
if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) {
serviceReimbursement.setOfficedirector(user.getNickName());
+ serviceReimbursement.setUploadStates(1);
}
serviceReimbursementService.updateById(serviceReimbursement);
@@ -461,21 +506,25 @@
serviceSystemmessage.setReceiveusername(serviceReimbursement.getUsername());
serviceSystemmessage.setIsread(0);
serviceSystemmessage.setMessagetype(1);
+ serviceSystemmessage.setUpdateTime(new Date());
+ serviceSystemmessage.setUpdateBy(user.getNickName());
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) + "绾у鏍�");
+ serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇峰凡閫氳繃");
log.info("totalLevel鐨勫�� : {}, OriginalFlowLevel鐨勫��:{}", totalLevel, OriginalFlowLevel);
- if (totalLevel == OriginalFlowLevel + 1) {
- //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
- serviceReimbursementService.addSharedData(checkFundVO.getFundid());
- }
+
+ //杩欎竴鍧楁斁瀹氭椂浠诲姟閲屽仛
+// if (totalLevel == OriginalFlowLevel + 1) {
+// //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
+// serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+// }
} else {
//椹冲洖
serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�");
- serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡琚�" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥烇紝鍘熷洜涓�" + checkFundVO.getFlowcontent() + "");
+ serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇疯椹冲洖锛屽師鍥�:" + checkFundVO.getFlowcontent() + "");
}
ServiceSystemmessage.save(serviceSystemmessage);
@@ -583,6 +632,7 @@
}
Map<String, Object> map = new HashMap<>();
map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");
+ map.put("downloadName", name + ".doc");
return map;
}
--
Gitblit v1.9.3