From b113be4dfacb8ce58789b12e8beca6cd9ba8fb3c Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 07 九月 2023 16:58:42 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 100 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 70 insertions(+), 30 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 c210bc5..90cf6dd 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 @@ -27,9 +27,11 @@ import freemarker.template.TemplateException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +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.*; @@ -46,6 +48,7 @@ * @author ruoyi * @date 2022-01-24 */ +@Slf4j @Api("鎶ラ攢鐢宠") @RestController @RequestMapping("/project/reimbursement") @@ -98,6 +101,7 @@ public TableDataInfo list(ServiceReimbursement serviceReimbursement) { SysUser user = SecurityUtils.getLoginUser().getUser(); serviceReimbursement.setCreateBy(user.getUserName()); + serviceReimbursement.setUsername(user.getNickName()); startPage(); List<ServiceReimbursement> list = serviceReimbursementService.queryList(serviceReimbursement); return getDataTable(list); @@ -152,6 +156,10 @@ } //startPage(); List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); + if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) { + list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 鎸塶ame瀛楁杩囨护 + } + Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() { @Override public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) { @@ -446,22 +454,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.setFlowlevel(100L); - serviceReimbursement.setRecordstatus(0); - serviceReimbursementService.updateById(serviceReimbursement); - return success(); + return success(); + } } if (serviceReimbursement != null) { Integer TotalLevel = 0; @@ -470,16 +477,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()); @@ -508,8 +524,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(); @@ -518,7 +535,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, "褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺"); } @@ -552,12 +569,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; @@ -578,13 +597,17 @@ serviceFundflow.setFundtype(1); serviceFundflow.setApplytype("0"); serviceFundflow.setFlowconclusion(CheckFlag); - serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); + if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { + serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); + } else { + serviceFundflow.setFlowcontent(checkFundVO.getFlowconclusion() == 1 ? "閫氳繃" : "涓嶉�氳繃"); + } serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); 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()); @@ -596,9 +619,9 @@ serviceFundflowAuto.setFlowcontent("闈炰笓鑱屼汉鍛樹簩绾у鏍告嫆缁濆悗鐩存帴閫�鍥炲埌淇敼鐘舵��"); serviceFundflowAuto.setFlowlevel(1); serviceFundflowService.save(serviceFundflowAuto); - serviceReimbursement.setRecordstatus(1); } + } serviceReimbursementService.updateById(serviceReimbursement); @@ -613,10 +636,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()); @@ -641,7 +666,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); @@ -671,8 +696,8 @@ */ @ApiOperation("鍒犻櫎鎶ラ攢鐢宠") //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')") - @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @Log(title = "鎶ラ攢鐢宠") + @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(serviceReimbursementService.removeByIds(Arrays.asList(ids))); } @@ -741,9 +766,15 @@ ServiceReimbursementEo serviceReimbursementEo = new ServiceReimbursementEo(); serviceReimbursementEo.setId(id); List<ServiceReimbursementEo> rdInfoByItem = serviceReimbursementService.getRDInfoByItem(serviceReimbursementEo); + log.info("rdInfoByItem鏄惁涓虹┖ :{}", CollectionUtils.isEmpty(rdInfoByItem) ? null : rdInfoByItem.size()); + for (int i = 0; i < rdInfoByItem.size(); i++) { + ServiceReimbursementEo serviceReimbursementEo1 = rdInfoByItem.get(i); + String codeByInfo = PersonType.getCodeByInfo(serviceReimbursementEo1.getPersontype()); + serviceReimbursementEo1.setPersontype(codeByInfo); + } //鑾峰彇鎶ラ攢鏀粯淇℃伅 List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo); - + log.info("reimbursementpayeeInfo鏄惁涓虹┖ :{}", CollectionUtils.isEmpty(reimbursementpayeeInfo) ? null : reimbursementpayeeInfo.size()); Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype)); List<Map<String, BigDecimal>> list = new ArrayList<>(); StringBuffer FYXM1 = new StringBuffer(); @@ -760,7 +791,7 @@ BigDecimal keyOneMoney = new BigDecimal(0.00); BigDecimal keyTwoMoney = new BigDecimal(0.00); for (ServiceReimbursementEo serviceReimbursementEo1 : values) { - otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount()); + otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getCityfee()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount()); } map.put(key, otherMoney); list.add(map); @@ -859,6 +890,7 @@ String date = formatter.format(dt); String time = date.substring(0, 10); + 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()); dataMap.put("JXZXM", rdInfoByItem.get(0).getDonorname() == null ? "" : rdInfoByItem.get(0).getDonorname()); @@ -895,6 +927,14 @@ } dataMap.put("BXBZ", remark); + dataMap.put("ZXFZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOpochecker()) ? "" : rdInfoByItem.get(0).getOpochecker()); +// + dataMap.put("CWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getFinvicepresident()) ? "" : rdInfoByItem.get(0).getFinvicepresident()); + dataMap.put("YWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getBusvicepresident()) ? "" : rdInfoByItem.get(0).getBusvicepresident()); + dataMap.put("BGSZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOfficedirector()) ? "" : rdInfoByItem.get(0).getOfficedirector()); + dataMap.put("CWBZR", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancedirector()) ? "" : rdInfoByItem.get(0).getFinancedirector()); + dataMap.put("CWSH", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancechecher()) ? "" : rdInfoByItem.get(0).getFinancechecher()); + dataMap.put("YYMMDD", time); -- Gitblit v1.9.3