From 90c52bfb0f6f1092917277c6aeb0b00e428d0c47 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 29 二月 2024 10:17:47 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 234 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 181 insertions(+), 53 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java index b14a7c4..fdaeeeb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java @@ -1,18 +1,22 @@ package com.ruoyi.web.controller.project; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.exception.base.BaseException; import com.ruoyi.common.tax.TaxtUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; @@ -22,6 +26,7 @@ import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceFunddetailMapper; import com.ruoyi.project.service.*; +import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysPostService; import freemarker.template.Configuration; import freemarker.template.Template; @@ -42,6 +47,7 @@ import java.io.*; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -96,6 +102,9 @@ @Autowired private TransactionDefinition transactionDefinition; + + @Autowired + private ISysDeptService sysDeptService; public ServiceFundController() { configuration = new Configuration(); @@ -237,7 +246,7 @@ @ApiOperation("鏂板璐圭敤鐢宠涓�") //@PreAuthorize("@ss.hasPermi('project:fund:add')") @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.INSERT) - @PostMapping + @PostMapping("/add") @RepeatSubmit @Options(useGeneratedKeys = true, keyProperty = "id") public AjaxResult add(@RequestBody ServiceFund serviceFund) { @@ -478,6 +487,7 @@ * 瀹℃牳璐圭敤 */ @ApiOperation("瀹℃牳璐圭敤") + @RepeatSubmit // @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { @@ -491,7 +501,6 @@ serviceFundflowrule.setApplytype(serviceFund.getApplytype()); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); log.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}", serviceFundflowrule); - List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { @@ -522,6 +531,29 @@ } } FlowLevel = FlowLevel + 1; + + if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) { + log.info("璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�"); + //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板 +// serviceFundService.addFundSharedInfo(serviceFund.getId()); + serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); + serviceFund.setRecordstatus(99); + serviceFund.setUploadStates(1); + serviceFundService.updateById(serviceFund); + + //淇濆瓨瀹℃壒娴佺▼琛� + ServiceFundflow serviceFundflow = new ServiceFundflow(); + SysUser user = loginUser.getUser(); + serviceFundflow.setFundid(serviceFund.getId()); + serviceFundflow.setCheckuserno(user.getUserName()); + serviceFundflow.setCheckusername(user.getNickName()); + serviceFundflow.setFundtype(2); + serviceFundflow.setApplytype(serviceFund.getApplytype()); + serviceFundflow.setFlowconclusion(CheckFlag); + serviceFundflow.setFlowcontent("閫氳繃"); + Boolean aBoolean = serviceFundflowService.saveData(serviceFundflow); + return AjaxResult.success(); + } //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾� serviceFund.setBackflowlevel(FlowLevel); } else { @@ -566,12 +598,13 @@ //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) { serviceFund.setOfficedirector(user.getNickName()); + serviceFund.setUploadStates(2); } System.out.println("serviceFund鐨勫�兼槸--------:" + serviceFund); log.info("寮�濮嬫洿鏂扮殑鐨勫�兼槸--------"); - ServiceFund updateServiceFund = new ServiceFund(); - updateServiceFund.setRecordstatus(serviceFund.getRecordstatus()); - updateServiceFund.setFlowlevel(serviceFund.getFlowlevel()); +// ServiceFund updateServiceFund = new ServiceFund(); +// updateServiceFund.setRecordstatus(serviceFund.getRecordstatus()); +// updateServiceFund.setFlowlevel(serviceFund.getFlowlevel()); Boolean aBoolean1 = serviceFundService.updateById(serviceFund); log.info("integer鏇存柊鐨勭殑鍊兼槸-------- :{}", aBoolean1); @@ -590,9 +623,9 @@ //閫氳繃 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃"); serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceFund.getDonorname() + "銆戠殑璐圭敤鐢宠宸查�氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�"); - if (TotalLevel == OriginalFlowLevel + 1) { - serviceFundService.addFundSharedInfo(checkFundVO.getFundid()); - } +// if (TotalLevel == OriginalFlowLevel + 1) { +// serviceFundService.addFundSharedInfo(checkFundVO.getFundid()); +// } } else { //椹冲洖 @@ -614,37 +647,65 @@ @Log(title = "璐圭敤涓婃姤", businessType = BusinessType.UPDATE) @PostMapping("/fundEdit") @RepeatSubmit - public AjaxResult fundEdit(@RequestBody ServiceFund serviceFund) { + public AjaxResult fundEdit(@RequestBody ServiceFundVO serviceFundVO) { + ServiceFund serviceFund = DtoConversionUtils.sourceToTarget(serviceFundVO, ServiceFund.class); log.info("淇敼璐圭敤鐢宠鍏ュ弬:{}", serviceFund); List<ServiceFund> infoByInfoIdList = serviceFundService.queryInfoById(serviceFund); log.info("淇敼璐圭敤鐢宠锛岄�氳繃鍏ュ弬鏌ヨ serviceFundService.queryInfoById鏁版嵁涓虹┖,鍏ュ弬:{}", infoByInfoIdList.size()); if (CollectionUtils.isEmpty(infoByInfoIdList)) { - return toAjax(false); + Long id = serviceFundService.addOrUpdateNew(serviceFundVO); + serviceFund.setId(id); } + + Long flowLavel = null; + + LoginUser loginUser = getLoginUser(); + + //鏌ヨ蹇呭浜� + ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); + serviceFundflowrule.setApplytype(serviceFund.getApplytype()); + serviceFundflowrule.setMustAudite(1); + List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); + log.info("fund蹇呭浜虹殑绛夌骇涓猴細{}", serviceFundflowrules.get(0).getFlowlevel()); + for (ServiceFund sf : infoByInfoIdList) { + sf.setApplyTime(new Date()); //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜� if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 199) { //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100 sf.setBackflowlevel(100); + + //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲� + sf.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1)); + sf.setRecordstatus(0); serviceFundService.updateById(sf); - //寰�鍒嗕韩琛ㄩ噷鏂板 - serviceFundService.addFundSharedInfo(serviceFund.getId()); +// //寰�鍒嗕韩琛ㄩ噷鏂板 +// serviceFundService.addFundSharedInfo(serviceFund.getId()); return success(); + } else if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 100) { + //璐㈠姟閫�鍥炵殑鏁版嵁鍐嶆彁浜わ紝鍒板嚭绾抽偅閲屾病鏈夎繃锛屽啀閫�鍥烇紝瀵艰嚧backflowlevel鏄�100, + //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲� + sf.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1)); + sf.setRecordstatus(2); + serviceFundService.updateById(sf); + } else if (sf.getBackflowlevel() != null && sf.getBackflowlevel() >= serviceFundflowrules.get(0).getFlowlevel()) { + //鑱傜閫�鍥炵殑锛屼篃闇�瑕佸厛鍒板嚭绾抽偅閲� + sf.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1)); + sf.setRecordstatus(2); + serviceFundService.updateById(sf); } else { Integer TotalLevel = 0; - LoginUser loginUser = getLoginUser(); - SysUser user = loginUser.getUser(); List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId()); if (!postids.contains(2)) { serviceFund.setRecordstatus(2); if (serviceFund.getBackflowlevel() != null) { serviceFund.setFlowlevel(serviceFund.getBackflowlevel().longValue()); } else { - serviceFund.setBackflowlevel(1); - serviceFund.setFlowlevel(1L); + serviceFund.setBackflowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1); + serviceFund.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1)); } } else { serviceFund.setRecordstatus(0); @@ -666,6 +727,7 @@ return toAjax(false); } + /** * 鍒犻櫎璐圭敤鐢宠涓� @@ -718,6 +780,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -993,11 +1056,13 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } private void getDataSS(Map dataMap, Long id) { ServiceFund serviceFund = serviceFundService.getById(id); + log.info("閫氳繃id鏌ヨ鏁版嵁鐨勭粨鏋滐細{}", serviceFund); if (serviceFund == null) { throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT); } @@ -1093,11 +1158,13 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } private String getDataYX(Map dataMap, Long id) { ServiceFund serviceFund = serviceFundService.getById(id); + log.info("閫氳繃id鑾峰彇鍖诲銆佸姙鍏�佺哗鏁堟垚鏈殑fund淇℃伅涓猴細{}", serviceFund); if (serviceFund == null) { throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT); } @@ -1123,7 +1190,8 @@ throw new ServiceException("涓嬭浇澶辫触锛屾病鏈夊搴斾俊鎭�", HttpStatus.NO_CONTENT); } - Date dt = serviceFund.getCreateTime(); +// Date dt = serviceFund.getCreateTime(); + Date dt = serviceFund.getApplyTime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String time = date.substring(0, 10); @@ -1140,51 +1208,75 @@ dataMap.put("YWZ", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname()); dataMap.put("ZHUZANG", serviceFund.getManagername() == null ? "" : serviceFund.getManagername()); + + if (StringUtils.isEmpty(serviceFund.getRemark())) { + dataMap.put("FYMC", LocalDate.now().getYear() + "骞�" + LocalDate.now().getMonthValue() + "鏈堜汉浣撳櫒瀹樿幏鍙栨湇鍔$鐞嗕腑蹇冨伐浣滀汉鍛樼哗鏁�"); + } else { + dataMap.put("FYMC", serviceFund.getRemark().substring(0, serviceFund.getRemark().length() - 2) + "浜轰綋鍣ㄥ畼鑾峰彇鏈嶅姟绠$悊涓績宸ヤ綔浜哄憳缁╂晥"); + } String bz = ""; int i = 0; - for (ServiceFunddetail f : fd) { - seqno++; + if (!serviceFund.getApplytype().equals("5")) { + for (ServiceFunddetail f : fd) { + seqno++; + Map<String, Object> map = new HashMap<String, Object>(); + map.put("seqno", seqno); + + //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰 + if (serviceFund.getApplytype().equals("3")) { + i = i + 1; + bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�"; + bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�"; + bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; + bz += f.getBankcardno() == null ? "" : f.getBankcardno(); + bz += "<w:br/>"; + } + if (serviceFund.getApplytype().equals("4")) { + i = i + 1; + bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�"; + bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�"; + bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; + bz += f.getBankcardno() == null ? "" : f.getBankcardno(); + bz += "<w:br/>"; + } + + + String fyxm = ""; + fyxm += f.getItemname() == null ? "" : f.getItemname(); + fyxm += f.getAmount() + "鍏�"; + if (f.getItemname() == null && f.getAmount() == 0.0) { + fyxm = ""; + } + map.put("FYXM", fyxm); + newList.add(map); + } + } else { Map<String, Object> map = new HashMap<String, Object>(); - map.put("seqno", seqno); -// String fyxm = ""; -// fyxm += f.getItemname() == null ? "" : f.getItemname(); -// fyxm += f.getAmount() + "鍏�"; -// //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰 -// if (serviceFund.getApplytype().equals("3")) { -// fyxm += "("; -// fyxm += f.getUnitname() == null ? "" : f.getUnitname() + ";"; -// fyxm += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; -// fyxm += f.getBankcardno() == null ? "" : f.getBankcardno(); -// fyxm += ")"; -// } - - //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰 - if (serviceFund.getApplytype().equals("3")) { - i = i + 1; - bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�"; - bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�"; - bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; - bz += f.getBankcardno() == null ? "" : f.getBankcardno(); - bz += "<w:br/>"; - } - if (serviceFund.getApplytype().equals("4")) { - i = i + 1; - bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�"; - bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�"; - bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; - bz += f.getBankcardno() == null ? "" : f.getBankcardno(); - bz += "<w:br/>"; - } - + map.put("seqno", 1); String fyxm = ""; - fyxm += f.getItemname() == null ? "" : f.getItemname(); - fyxm += f.getAmount() + "鍏�"; - if (f.getItemname() == null && f.getAmount() == 0.0) { + if (StringUtils.isEmpty(serviceFund.getRemark())) { + fyxm += LocalDate.now().getYear() + "骞�" + LocalDate.now().getMonthValue() + "鏈堜汉浣撳櫒瀹樿幏鍙栨湇鍔$鐞嗕腑蹇冨伐浣滀汉鍛樼哗鏁�,鍏辫"; + } else { + fyxm += serviceFund.getRemark().substring(0, serviceFund.getRemark().length() - 2) + "浜轰綋鍣ㄥ畼鑾峰彇鏈嶅姟绠$悊涓績宸ヤ綔浜哄憳缁╂晥,鍏辫"; + } + fyxm += serviceFund.getPretaxcost() + "鍏�"; + if (serviceFund.getPretaxcost() == null && serviceFund.getPretaxcost() == 0.0) { fyxm = ""; } map.put("FYXM", fyxm); newList.add(map); + Map<String, Object> objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("seqno", 2); + objectObjectHashMap.put("FYXM", ""); + newList.add(objectObjectHashMap); + + Map<String, Object> objectObjectHashMap2 = new HashMap<>(); + objectObjectHashMap2.put("seqno", 3); + objectObjectHashMap2.put("FYXM", ""); + newList.add(objectObjectHashMap2); } + + //鍚堝苟鍗曞厓鏍� checkList(newList); dataMap.put("items", newList); @@ -1289,6 +1381,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -1357,6 +1450,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -1856,6 +1950,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -1944,6 +2039,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } @@ -2042,6 +2138,7 @@ /** * 璐圭敤绫诲瀷璁℃暟 */ +// @NotRepeatCommit(key = "param:arg[1]", value = 30000) @ApiOperation("璐圭敤绫诲瀷璁℃暟") @GetMapping(value = "/countItem/{infoid}/{itemid}") public AjaxResult countItem(@PathVariable Long infoid, @PathVariable Long itemid) { @@ -2063,4 +2160,35 @@ return AjaxResult.success(serviceFundService.performance(serviceFundVO)); } + /** + * 鍚堣涓◣ + */ + @NotRepeatCommit(key = "param:arg[1]", value = 30000) + @ApiOperation("鍚堣涓◣") + @Log(title = "鍚堣涓◣", businessType = BusinessType.INSERT) + @PostMapping("/totaltax") + public AjaxResult totaltax(@RequestBody TotalTaxVO totalTaxVO) { + Map<String, List<ServiceFunddetailExcel>> totaltax = serviceFundService.totaltax(totalTaxVO); + if (ObjectUtils.isEmpty(totaltax)) { + throw new BaseException("鍚堣涓◣澶辫触"); + } + + Set<String> strings = totaltax.keySet(); + String key2 = null; + for (String key : strings) { + key2 = key; + } + ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class); + AjaxResult ajaxResult = util.exportExcel(totaltax.get(key2), key2); + String msg = (String) ajaxResult.get("msg"); + + Map dataMap = new HashMap(); + dataMap.put("downloadUrl", "/profile/download/" + msg); + dataMap.put("downloadName", msg); + + return AjaxResult.success(dataMap); + + + } + } -- Gitblit v1.9.3