From b6dd47b05107fc36d8ff4f7f29a4446521f95503 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 02 一月 2025 18:44:28 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 388 ++++++++++++++++++------------------------------------ 1 files changed, 130 insertions(+), 258 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 c7957f2..e8adf33 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 @@ -12,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; @@ -38,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; @@ -56,6 +59,9 @@ @Autowired private IServiceReimbursementService serviceReimbursementService; +// @Autowired +// private MergeFilesToPDFUtils mergeFilesToPDFUtils; + @Autowired private IServiceReimbursementSharedService serviceReimbursementSharedService; @@ -72,7 +78,10 @@ private IServiceFundflowService serviceFundflowService; @Autowired - private IServiceFundService serviceFundService; + private DingTalkService dingTalkService; + + @Autowired + private ISysUserService sysUserService; @Autowired private ISysPostService postService; @@ -95,7 +104,7 @@ * 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */ @ApiOperation("鏌ヨ鎶ラ攢鐢宠鍒楄〃") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:list')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:list')") @Log(title = "鏌ヨ鎶ラ攢鐢宠鍒楄〃", businessType = BusinessType.OTHER) @GetMapping("/list") public TableDataInfo list(ServiceReimbursement serviceReimbursement) { @@ -132,8 +141,10 @@ String APPLICATIONENDTIME = spFinancialExpensesIn.getAPPLICATIONENDTIME(); Integer CHECKFLAG = spFinancialExpensesIn.getCHECKFLAG(); Integer APPLYTYPE = spFinancialExpensesIn.getAPPLYTYPE(); + Integer checkstatus = spFinancialExpensesIn.getCheckstatus(); Integer pageNum = spFinancialExpensesIn.getPageNum(); Integer pageSize = spFinancialExpensesIn.getPageSize(); + String donorname = spFinancialExpensesIn.getDonorname(); if (pageNum == null) { pageNum = 1; @@ -155,20 +166,21 @@ APPLICATIONENDTIME = ""; } //startPage(); - List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); + List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE, checkstatus, donorname); //鏍规嵁缁忓姙浜虹瓫閫� if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) { list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 鎸塶ame瀛楁杩囨护 } //鏍规嵁閲戦绛涢�� if (spFinancialExpensesIn.getMoney() != null) { - list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getAmountrequested()) == new BigDecimal(spFinancialExpensesIn.getMoney())).collect(Collectors.toList()); + list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getAmountrequested()).compareTo(new BigDecimal(spFinancialExpensesIn.getMoney())) == 0).collect(Collectors.toList()); + } //鏍规嵁鍒涘缓鏃堕棿鎺掑簭 Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() { @Override public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) { - return o2.getCreateTime().compareTo(o1.getCreateTime()); + return o1.getApplyTime().compareTo(o2.getApplyTime()); } }); return getCustomDataTable(list, pageNum, pageSize); @@ -178,7 +190,7 @@ * 瀵煎嚭鎶ラ攢鐢宠鍒楄〃 */ @ApiOperation("瀵煎嚭鎶ラ攢鐢宠鍒楄〃") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:export')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:export')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(ServiceReimbursement serviceReimbursement) { @@ -191,7 +203,7 @@ * 鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅 */ @ApiOperation("鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:query')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return AjaxResult.success(serviceReimbursementService.getById(id)); @@ -211,243 +223,32 @@ * 鏂板鎶ラ攢鐢宠 */ @ApiOperation("鏂板鎶ラ攢鐢宠") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:add')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:add')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.INSERT) - @PostMapping + @PostMapping("/add") @RepeatSubmit @Options(useGeneratedKeys = true, keyProperty = "id") public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) { - - boolean b = serviceReimbursementService.save(serviceReimbursement); -// if (b) { -// addReiSharedDatd(serviceReimbursement, 1); -// } - Long id = serviceReimbursement.getId(); - return AjaxResult.success(id); + 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(); } -// public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) { -// //remShare = ; -// ServiceReimbursementShared remShare = new ServiceReimbursementShared(); -// if (nType == 1) { -// // remShare = new ServiceReimbursementShared(); -// remShare.setReimid(serviceReimbursement.getId()); -// } else //modify -// { -// List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId()); -// if (!CollectionUtils.isEmpty(remlist)) remShare = remlist.get(0); -// } -// -// remShare.setUserno(serviceReimbursement.getUserno()); -// remShare.setUsername(serviceReimbursement.getUsername()); -// remShare.setTravelers(serviceReimbursement.getTravelers()); -// remShare.setIdcardtype(serviceReimbursement.getIdcardtype()); -// remShare.setIdcardno(serviceReimbursement.getIdcardno()); -// remShare.setPhone(serviceReimbursement.getPhone()); -// remShare.setDepositbank(serviceReimbursement.getDepositbank()); -// remShare.setBankcardno(serviceReimbursement.getBankcardno()); -// remShare.setBranchbankname(serviceReimbursement.getBranchbankname()); -// remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard()); -// remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); -// //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); -// // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested())); -// -// Double nTemp = serviceReimbursement.getAmountrequested(); -// if (nTemp == null) nTemp = 0d; -// remShare.setAmountrequested(BigDecimal.valueOf(nTemp)); -// -// nTemp = serviceReimbursement.getPrepaidamount(); -// if (nTemp == null) nTemp = 0.0; -// remShare.setPrepaidamount(BigDecimal.valueOf(nTemp)); -// -// remShare.setInvoicecount(serviceReimbursement.getInvoicecount()); -// remShare.setAttachcount(serviceReimbursement.getAttachcount()); -// remShare.setManagerno(serviceReimbursement.getManagerno()); -// remShare.setManagername(serviceReimbursement.getManagername()); -// remShare.setDeptmentno(serviceReimbursement.getDeptmentno()); -// remShare.setDeptmentname(serviceReimbursement.getDeptmentname()); -// remShare.setOpochecker(serviceReimbursement.getOpochecker()); -// remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident()); -// remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident()); -// remShare.setOfficedirector(serviceReimbursement.getOfficedirector()); -// remShare.setFinancedirector(serviceReimbursement.getFinancedirector()); -// remShare.setFinancechecher(serviceReimbursement.getFinancechecher()); -// remShare.setInfoid(serviceReimbursement.getInfoid()); -// remShare.setDonorno(serviceReimbursement.getDonorno()); -// -// remShare.setDonorname(serviceReimbursement.getDonorname()); -// remShare.setReason(serviceReimbursement.getReason()); -// remShare.setRecordstatus(serviceReimbursement.getRecordstatus()); -// remShare.setUploadflag(serviceReimbursement.getUploadflag()); -// remShare.setUploadtime(serviceReimbursement.getUploadtime()); -// -// nTemp = serviceReimbursement.getTotalamount(); -// if (nTemp == null) nTemp = 0.0; -// remShare.setTotalamount(BigDecimal.valueOf(nTemp)); -// -// remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney()); -// remShare.setFlowlevel(serviceReimbursement.getFlowlevel()); -// remShare.setCosttype(serviceReimbursement.getCosttype()); -// remShare.setCosttypename(serviceReimbursement.getCosttypename()); -// remShare.setFileurl(serviceReimbursement.getAnnexfiles()); -// remShare.setDonorbank(serviceReimbursement.getDonorbank()); -// remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard()); -// remShare.setDonorremark(serviceReimbursement.getDonorremark()); -// -// nTemp = serviceReimbursement.getDonoramount(); -// if (nTemp == null) nTemp = 0.0; -// remShare.setDonoramount(nTemp); -// remShare.setDonorrelatives(serviceReimbursement.getDonorrelatives()); -// //remShare.setOaid(serviceReimbursement.getOaid()); -// //remShare.setDonorno(serviceReimbursement.getDonorno()); -// -// boolean bRet = false; -// if (nType == 1) { -// bRet = serviceReimbursementServiceShare.save(remShare); -// } else { -// //remShare.setId(serviceReimbursement.); -// bRet = serviceReimbursementServiceShare.updateById(remShare); -// } -// -// //if(!bRet) return -1; -// String strMutfileUrl = remShare.getFileurl(); -// //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶 -// if (strMutfileUrl == null) return 0; -// if (strMutfileUrl.isEmpty()) return 0; -// -// try { -// uploadOAFileAndUpdateDb(remShare); -// } catch (Exception e) { -// logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!"); -// e.printStackTrace(); -// } -// -// //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲�� -// -// return 0; -// } - - -// int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare) { -// //涓婁紶OA鏂囦欢 -// //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3"; -// String strUrl = "http://129.88.242.39:8899/seeyon/rest/token"; -// //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token"; -// //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴� -// -// -// Map<String, Object> map = new HashMap<String, Object>(); -// map.put("userName", "opo"); -// map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5"); -// map.put("loginName", "demo3"); -// -// JSONObject jsonObj = new JSONObject(map); -// -// System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString()); -// String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());// -// //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//寰楀埌杩斿洖鐨則oken? -// -// JSONObject json1 = JSONObject.parseObject(strRes); -// strRes = json1.get("id").toString(); -// -// ///if(strRes.isEmpty() || "" == strRes) return -1;// 涓虹┖浠h〃澶辫触 -// -// //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁 -// -// String filePath = RuoYiConfig.getUploadPath(); -// String strMutfileUrl = remShare.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑 -// -// String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes; -// //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes; -// //strFUrl = String.format(strFUrl, strRes); -// -// /*File test = null; -// File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17"); -// if (file.exists() && file.isDirectory()) { -// // 鑾峰彇鎵�鏈夌洸鐩掓枃浠跺す -// File[] ones = file.listFiles(); -// for (File one : ones) { -// test = one; -// } -// }*/ -// -// String filename = ""; -// String fileid = ""; -// -// String[] urlArray = strMutfileUrl.split(","); -// for (int i = 0; i < urlArray.length; i++) { -// String strOneFileName = urlArray[i]; -// String strTemp = strOneFileName.substring(15); -// String strFile = filePath + strTemp; -// //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName); -// String struploadResult = ""; -// File filetest = new File(strFile); -// try { -// struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// -// -// /*CloseableHttpClient httpClient = HttpClients.createDefault(); -// //鍒涘缓post鏂规硶杩炴帴瀹炰緥锛屽湪post鏂规硶涓紶鍏ュ緟杩炴帴鍦板潃 -// HttpPost httpPost = new HttpPost(strFUrl); -// CloseableHttpResponse response = null; -// -// String struploadResult = ""; -// try { -// //璁剧疆璇锋眰鍙傛暟锛堢被浼糷tml椤甸潰涓璶ame灞炴�э級 -// MultipartEntityBuilder entity = MultipartEntityBuilder.create(); -// //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); -// entity.setCharset(Charset.forName("UTF-8")); -// -// byte[] fileBytes = Files.readAllBytes(Paths.get(strFile)); -// if (fileBytes != null) { -// //鍐呭绫诲瀷锛岀敤浜庡畾涔夌綉缁滄枃浠剁殑绫诲瀷鍜岀綉椤电殑缂栫爜锛屽喅瀹氭枃浠舵帴鏀舵柟灏嗕互浠�涔堝舰寮忋�佷粈涔堢紪鐮佽鍙栬繖涓枃浠� -// ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8")); -// //娣诲姞鏂囦欢 -// entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp); -// } -// -// httpPost.setEntity(entity.build()); -// //鍙戣捣璇锋眰锛屽苟杩斿洖璇锋眰鍝嶅簲 -// response = httpClient.execute(httpPost); -// struploadResult = EntityUtils.toString(response.getEntity(), "utf-8"); -// } -// catch (Exception e) -// { -// e.printStackTrace(); -// }*/ -// -// //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj); -// if (struploadResult == null) return 0; -// if (struploadResult.isEmpty()) return 0; -// -// JSONObject jsonR = JSONObject.parseObject(struploadResult); -// -// JSONArray jsonArr = jsonR.getJSONArray("atts"); -// for (int j = 0; j < jsonArr.size(); j++) { -// JSONObject jsonRet = jsonArr.getJSONObject(j); -// String name1 = jsonRet.get("filename").toString(); -// String id1 = jsonRet.get("fileUrl").toString(); -// filename += name1; -// fileid += id1; -// if (i != urlArray.length - 1) { -// filename += ","; -// fileid += ","; -// } -// } -// -// } -// -//// long nId = remShare.getId(); -//// remShare.setId(nId); -//// remShare.setFilename(filename); -//// remShare.setFileid(fileid); -//// boolean bRet = serviceReimbursementServiceShare.updateById(remShare); -//// if (!bRet) return -1; -// -// return 0; +// /** +// * 宸梾璐逛笂鎶� +// */ +// @ApiOperation("宸梾璐逛笂鎶�") +// @Log(title = "宸梾璐逛笂鎶�", businessType = BusinessType.OTHER) +// @PostMapping("/test") +// public AjaxResult test(@RequestBody CheckFundVO checkFundVO) { +// mergeFilesToPDFUtils.generatePdf(checkFundVO.getFileNames(), checkFundVO.getOutputFile()); +// return AjaxResult.success(200); // } @@ -459,26 +260,44 @@ @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) { + if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) { //灏嗛��鍥為樁娈佃缃垚100 serviceReimbursement.setBackflowlevel(100L); - serviceReimbursement.setFlowlevel(100L); - serviceReimbursement.setRecordstatus(0); + //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲� + serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1)); + serviceReimbursement.setRecordstatus(2); serviceReimbursementService.updateById(serviceReimbursement); //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉� - serviceReimbursementService.addSharedData(checkFundVO.getFundid()); +// serviceReimbursementService.addSharedData(checkFundVO.getFundid()); + return success(); + } 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(); } } if (serviceReimbursement != null) { Integer TotalLevel = 0; - LoginUser loginUser = getLoginUser(); - SysUser user = loginUser.getUser(); List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId()); if (!postids.contains(2)) { @@ -486,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); @@ -509,7 +328,8 @@ serviceFundflow.setApplytype("0"); serviceFundflow.setFlowconclusion(1); serviceFundflow.setFlowcontent("闈炰笓鑱屼汉鍛樼洿鎺ヨ繘鍏ヤ簩绾у鏍�"); - serviceFundflow.setFlowlevel(1); + + serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1); serviceFundflowService.save(serviceFundflow); } @@ -567,12 +387,40 @@ //99 鍙栨秷 RecordStatus = 99; } else { + if (totalLevel == FlowLevel + 1) { RecordStatus = 99; } else { RecordStatus = (FlowLevel + 1) * 2; } } + + if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) { + log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId()); + //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板 +// serviceReimbursementService.addSharedData(serviceReimbursement.getId()); + + serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); + serviceReimbursement.setRecordstatus(99); + serviceReimbursement.setUploadStates(1); + boolean b = serviceReimbursementService.updateById(serviceReimbursement); + log.info("鏄惁淇敼鎴愬姛:{}", b); + + //淇濆瓨瀹℃壒娴佺▼琛� + ServiceFundflow serviceFundflow = new ServiceFundflow(); + SysUser user = loginUser.getUser(); + serviceFundflow.setFundid(serviceReimbursement.getId()); + serviceFundflow.setCheckuserno(user.getUserName()); + serviceFundflow.setCheckusername(user.getNickName()); + serviceFundflow.setFundtype(1); + serviceFundflow.setApplytype("0"); + serviceFundflow.setFlowconclusion(CheckFlag); + serviceFundflow.setFlowcontent("閫氳繃"); + serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); + Boolean aBoolean = serviceFundflowService.save(serviceFundflow); + return AjaxResult.success(); + } + FlowLevel = FlowLevel + 1; serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel)); } else { @@ -590,6 +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); @@ -628,6 +489,11 @@ } } + //053瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 + if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) { + serviceReimbursement.setOfficedirector(user.getNickName()); + serviceReimbursement.setUploadStates(1); + } serviceReimbursementService.updateById(serviceReimbursement); @@ -640,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); @@ -669,7 +539,7 @@ * 淇敼鎶ラ攢鐢宠 */ @ApiOperation("淇敼鎶ラ攢鐢宠") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE) @PostMapping("/reimbursementEdit") @RepeatSubmit @@ -685,7 +555,7 @@ * 淇敼鎶ラ攢鐢宠 */ @ApiOperation("淇敼鎶ラ攢鐢宠") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) @PostMapping("/editMoney") public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) { @@ -700,7 +570,7 @@ * 鍒犻櫎鎶ラ攢鐢宠 */ @ApiOperation("鍒犻櫎鎶ラ攢鐢宠") - //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')") + //// @PreAuthorize("@ss.hasPermi('project:reimbursement:remove')") @Log(title = "鎶ラ攢鐢宠") @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { @@ -762,6 +632,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -896,6 +767,7 @@ String date = formatter.format(dt); String time = date.substring(0, 10); + dataMap.put("ZB", rdInfoByItem.get(0).getDeptmentname() == null ? "" : rdInfoByItem.get(0).getDeptmentname()); dataMap.put("XZBH", rdInfoByItem.get(0).getBh() == null ? "" : rdInfoByItem.get(0).getBh()); dataMap.put("TBYYMMDD", time); dataMap.put("BXDFJ", rdInfoByItem.get(0).getAttachcount() == null ? " " : "" + rdInfoByItem.get(0).getAttachcount()); -- Gitblit v1.9.3