From ee99290acc01bf294b44f39194f93762d7a3de2d Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 28 二月 2024 18:50:16 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 311 +++++++++++---------------------------------------- 1 files changed, 69 insertions(+), 242 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 e8634d5..bf99142 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,16 +1,19 @@ 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; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.MergeFilesToPDFUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -20,6 +23,7 @@ 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.web.controller.enums.PersonType; import freemarker.template.Configuration; @@ -56,6 +60,9 @@ @Autowired private IServiceReimbursementService serviceReimbursementService; +// @Autowired +// private MergeFilesToPDFUtils mergeFilesToPDFUtils; + @Autowired private IServiceReimbursementSharedService serviceReimbursementSharedService; @@ -72,7 +79,7 @@ private IServiceFundflowService serviceFundflowService; @Autowired - private IServiceFundService serviceFundService; + private ISysDeptService sysDeptService; @Autowired private IBaseOnlyvalueService baseOnlyvalueService; @@ -219,11 +226,12 @@ @ApiOperation("鏂板鎶ラ攢鐢宠") //@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) { if (!Objects.isNull(serviceReimbursement)) { + serviceReimbursement.setCreateTime(new Date()); serviceReimbursement.setCheckstatus(serviceReimbursement.getCheckstatus() == null ? 1 : serviceReimbursement.getCheckstatus()); boolean b = serviceReimbursementService.save(serviceReimbursement); Long id = serviceReimbursement.getId(); @@ -232,228 +240,15 @@ 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); // } @@ -465,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); @@ -480,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(); @@ -490,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)) { @@ -499,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); @@ -522,7 +328,8 @@ serviceFundflow.setApplytype("0"); serviceFundflow.setFlowconclusion(1); serviceFundflow.setFlowcontent("闈炰笓鑱屼汉鍛樼洿鎺ヨ繘鍏ヤ簩绾у鏍�"); - serviceFundflow.setFlowlevel(1); + + serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1); serviceFundflowService.save(serviceFundflow); } @@ -589,12 +396,28 @@ } 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(0); + 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(); } @@ -658,6 +481,7 @@ //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) { serviceReimbursement.setOfficedirector(user.getNickName()); + serviceReimbursement.setUploadStates(0); } serviceReimbursementService.updateById(serviceReimbursement); @@ -678,10 +502,12 @@ 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()); - } + + //杩欎竴鍧楁斁瀹氭椂浠诲姟閲屽仛 +// if (totalLevel == OriginalFlowLevel + 1) { +// //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛� +// serviceReimbursementService.addSharedData(checkFundVO.getFundid()); +// } } else { //椹冲洖 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�"); @@ -793,6 +619,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