From 22655ad10d386f0fc3c38389f519d3d188b46f19 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 13 十月 2023 16:29:54 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 389 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 292 insertions(+), 97 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 ac64e1f..286ac62 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,7 +1,5 @@ package com.ruoyi.web.controller.project; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.config.RuoYiConfig; @@ -13,26 +11,32 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.HttpClientKit; +import com.ruoyi.common.tax.TaxtUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceFunddetailMapper; import com.ruoyi.project.service.*; +import com.ruoyi.system.service.ISysPostService; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; 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.*; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert; @@ -42,6 +46,7 @@ * @author ruoyi * @date 2022-01-24 */ +@Slf4j @Api("璐圭敤鐢宠涓�") @RestController @RequestMapping("/project/fund") @@ -71,7 +76,13 @@ private IServiceSystemmessageService ServiceSystemmessage; @Autowired - private IServiceFundSharedService fundServiceShare; + private IBaseOnlyvalueService baseOnlyvalueService; + + @Autowired + private IServiceExternalpersonService externalpersonService; + + @Autowired + private ISysPostService postService; public ServiceFundController() { @@ -88,6 +99,8 @@ public TableDataInfo list(ServiceFund serviceFund) { startPage(); //List<ServiceFund> list = serviceFundService.queryList(serviceFund); + SysUser user = SecurityUtils.getLoginUser().getUser(); + serviceFund.setUsername(user.getNickName()); List<ServiceFund> list = serviceFundService.selectServiceFundList(serviceFund); return getDataTable(list); } @@ -115,6 +128,7 @@ Integer APPLYTYPE = spFinancialExpensesIn.getAPPLYTYPE(); Integer pageNum = spFinancialExpensesIn.getPageNum(); Integer pageSize = spFinancialExpensesIn.getPageSize(); + Integer checkstatus = spFinancialExpensesIn.getCheckstatus(); if (pageNum == null) { pageNum = 1; @@ -137,11 +151,22 @@ } //startPage(); - List<SpFinancialExpensesFundOut> list = serviceFundService.getListBypower(loginUser.getUsername(), 2, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); + List<SpFinancialExpensesFundOut> list = serviceFundService.getListBypower(loginUser.getUsername(), 2, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE,checkstatus); + //閫氳繃鎹愮尞鑰呰繃婊� + if (StringUtils.isNotEmpty(spFinancialExpensesIn.getDonorname())) { + list = list.stream().filter(obj -> obj.getDonorname().contains(spFinancialExpensesIn.getDonorname())).collect(Collectors.toList()); + } + + //閫氳繃閲戦杩囨护 + if (spFinancialExpensesIn.getMoney() != null) { + list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getPretaxcost()).compareTo(new BigDecimal(spFinancialExpensesIn.getMoney())) == 0).collect(Collectors.toList()); + + } + Collections.sort(list, new Comparator<SpFinancialExpensesFundOut>() { @Override public int compare(SpFinancialExpensesFundOut o1, SpFinancialExpensesFundOut o2) { - return o2.getCreateTime().compareTo(o1.getCreateTime()); + return o1.getCreateTime().compareTo(o2.getCreateTime()); } }); return getCustomDataTable(list, pageNum, pageSize); @@ -160,15 +185,11 @@ return AjaxResult.success(serviceFundService.getFundId(infoid)); } - @GetMapping("/addFundSharedInfo/{id}") - public AjaxResult addFundSharedInfo(@PathVariable("id") Long id) { - return AjaxResult.success(serviceFundService.addFundSharedInfo(id)); - } +// @GetMapping("/addFundSharedInfo/{id}") +// public AjaxResult addFundSharedInfo(@PathVariable("id") Long id) { +// return AjaxResult.success(serviceFundService.addFundSharedInfo(id)); +// } - @GetMapping("/getFundDetail/{id}") - public AjaxResult getFundDetail(@PathVariable("id") Long id) { - return AjaxResult.success(serviceFundService.getFundDetail(id)); - } /** * 瀵煎嚭璐圭敤鐢宠涓诲垪琛� @@ -428,20 +449,14 @@ */ @ApiOperation("鏂板璐圭敤姹囨��") @Log(title = "鏂板璐圭敤姹囨��", businessType = BusinessType.INSERT) - @PostMapping("/addnew") + @PostMapping("/addOrUpdateNew") @RepeatSubmit @Options(useGeneratedKeys = true, keyProperty = "id") - public AjaxResult addnew(@RequestBody ServiceFundVO serviceFundVO) { - boolean b = serviceFundService.save(serviceFundVO); - Long id = serviceFundVO.getId(); -// if (b) { -// addReiSharedDatd(serviceFundVO, 1); -// } - List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails(); - serviceFunddetails.forEach(item -> item.setFundid(id)); - serviceFunddetailService.saveBatch(serviceFunddetails); - return AjaxResult.success(id); + public AjaxResult addOrUpdateNew(@RequestBody ServiceFundVO serviceFundVO) { + + return AjaxResult.success(serviceFundService.addOrUpdateNew(serviceFundVO)); } + /** * 瀹℃牳璐圭敤 @@ -450,7 +465,7 @@ @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { - logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}",checkFundVO); + logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}", checkFundVO); ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid()); if (serviceFund != null) { Integer TotalLevel = 0; @@ -459,7 +474,7 @@ serviceFundflowrule.setFundtype(2); serviceFundflowrule.setApplytype(serviceFund.getApplytype()); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); - logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}",serviceFundflowrule); + logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}", serviceFundflowrule); List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); @@ -477,7 +492,7 @@ Integer CheckFlag = 0; Integer RecordStatus = serviceFund.getRecordstatus(); - Integer FlowLevel = serviceFund.getFlowlevel(); + Integer FlowLevel = serviceFund.getFlowlevel().intValue(); Integer OriginalFlowLevel = FlowLevel; if (checkFundVO.getFlowconclusion() == 1) { CheckFlag = 1; @@ -491,17 +506,26 @@ } } FlowLevel = FlowLevel + 1; + //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾� + serviceFund.setBackflowlevel(FlowLevel); } else { CheckFlag = 2; - RecordStatus = (FlowLevel + 1) * 2 - 1; - FlowLevel = (FlowLevel - 1); - if (FlowLevel < 0) { + if (CheckFlag == 2) { + //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� FlowLevel = 0; + RecordStatus = -1; + } else { + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; + } } } serviceFund.setRecordstatus(RecordStatus); - serviceFund.setFlowlevel(FlowLevel); + serviceFund.setFlowlevel(FlowLevel.longValue()); + // serviceFund.setBackflowlevel(serviceFund.getFlowlevel()); ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); @@ -511,9 +535,18 @@ serviceFundflow.setFundtype(2); serviceFundflow.setApplytype(serviceFund.getApplytype()); serviceFundflow.setFlowconclusion(CheckFlag); - serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); + if (org.apache.commons.lang.StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { + serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); + } else { + serviceFundflow.setFlowcontent(checkFundVO.getFlowconclusion() == 1 ? "閫氳繃" : "涓嶉�氳繃"); + } serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); serviceFundflowService.save(serviceFundflow); + + //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 + if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) { + serviceFund.setOfficedirector(user.getNickName()); + } serviceFundService.updateById(serviceFund); ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); @@ -532,39 +565,7 @@ 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) { - ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); - serviceFundShared.setId(null); - serviceFundShared.setSerfunid(serviceFund.getId()); - serviceFundShared.setAmountrequested(new BigDecimal(serviceFund.getAmountrequested())); - serviceFundShared.setPrepaidamount(new BigDecimal(serviceFund.getPrepaidamount())); - serviceFundShared.setTotalcost(new BigDecimal(serviceFund.getTotalcost())); - serviceFundShared.setProcurementcost(new BigDecimal(serviceFund.getProcurementcost())); - serviceFundShared.setExpertcost(new BigDecimal(serviceFund.getExpertcost())); - serviceFundShared.setEthicscost(new BigDecimal(serviceFund.getEthicscost())); - serviceFundShared.setMedicalcost(new BigDecimal(serviceFund.getMedicalcost())); - serviceFundShared.setFamilycost(new BigDecimal(serviceFund.getFamilycost())); - serviceFundShared.setAftercarecost(new BigDecimal(serviceFund.getAftercarecost())); - fundSharedService.save(serviceFundShared); - - Map<String, Object> columnMap = new HashMap<>(); - columnMap.put("fundID", checkFundVO.getFundid()); - //鑾峰彇璇︽儏鏁版嵁 - List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap); - logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}",serviceFunddetails); - List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class); - for (int i = 0; i < serviceFunddetails.size(); i++) { - serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); - serviceFunddetailShareds.get(i).setFdid(serviceFunddetails.get(i).getId()); - serviceFunddetailShareds.get(i).setAmount(new BigDecimal(serviceFunddetails.get(i).getAmount())); - serviceFunddetailShareds.get(i).setPrepaidamount(new BigDecimal(serviceFunddetails.get(i).getPrepaidamount())); - serviceFunddetailShareds.get(i).setTaxamount(new BigDecimal(serviceFunddetails.get(i).getTaxamount())); - serviceFunddetailShareds.get(i).setTaxedamount(new BigDecimal(serviceFunddetails.get(i).getTaxedamount())); - serviceFunddetailShareds.get(i).setQuantity(new BigDecimal(serviceFunddetails.get(i).getQuantity())); - serviceFunddetailShareds.get(i).setPrice(new BigDecimal(serviceFunddetails.get(i).getPrice())); - serviceFunddetailShareds.get(i).setId(null); - } - funddetailSharedService.saveBatch(serviceFunddetailShareds); - + serviceFundService.addFundSharedInfo(checkFundVO.getFundid()); } } else { @@ -581,19 +582,63 @@ /** - * 淇敼璐圭敤鐢宠涓� + * 璐圭敤涓婃姤 */ - @ApiOperation("淇敼璐圭敤鐢宠涓�") - //@PreAuthorize("@ss.hasPermi('project:fund:edit')") - @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.UPDATE) - @PutMapping + @ApiOperation("璐圭敤涓婃姤") + @Log(title = "璐圭敤涓婃姤", businessType = BusinessType.UPDATE) + @PostMapping("/fundEdit") @RepeatSubmit - public AjaxResult edit(@RequestBody ServiceFund serviceFund) { - boolean bret = serviceFundService.updateById(serviceFund); -// if (bret) { -// addReiSharedDatd(serviceFund, 2); -// } - return toAjax(bret); + public AjaxResult fundEdit(@RequestBody ServiceFund serviceFund) { + log.info("淇敼璐圭敤鐢宠鍏ュ弬:{}", serviceFund); + List<ServiceFund> infoByInfoIdList = serviceFundService.queryInfoById(serviceFund); + log.info("淇敼璐圭敤鐢宠锛岄�氳繃鍏ュ弬鏌ヨ serviceFundService.queryInfoById鏁版嵁涓虹┖,鍏ュ弬:{}", infoByInfoIdList.size()); + if (CollectionUtils.isEmpty(infoByInfoIdList)) { + return toAjax(false); + } + for (ServiceFund sf : infoByInfoIdList) { + //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜� + if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 199) { + //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100 + sf.setBackflowlevel(100); + serviceFundService.updateById(sf); + + //寰�鍒嗕韩琛ㄩ噷鏂板 + serviceFundService.addFundSharedInfo(serviceFund.getId()); + + return success(); + } 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); + } + } else { + serviceFund.setRecordstatus(0); + if (serviceFund.getBackflowlevel() != null) { + serviceFund.setFlowlevel(serviceFund.getBackflowlevel().longValue()); + } else { + serviceFund.setFlowlevel(0L); + serviceFund.setBackflowlevel(0); + } + + } + // serviceFund.setFlowlevel(sf.getBackflowlevel()); + boolean bret = serviceFundService.updateById(serviceFund); + log.info("serviceFundService.updateById杩斿弬:{}", bret); + + return toAjax(bret); + } + } + + return toAjax(false); } /** @@ -602,7 +647,7 @@ @ApiOperation("鍒犻櫎璐圭敤鐢宠涓�") //@PreAuthorize("@ss.hasPermi('project:fund:remove')") @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(serviceFundService.removeByIds(Arrays.asList(ids))); } @@ -623,7 +668,7 @@ Template t = null; try { //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉� - t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl"); + t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl"); } catch (IOException e) { e.printStackTrace(); } @@ -660,15 +705,18 @@ String date = formatter.format(dt); String time = date.substring(0, 10); + dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh()); + dataMap.put("ZB", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname()); dataMap.put("TBYYMMDD", time); dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount()); dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname()); dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername()); - dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��"); +// dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��"); + dataMap.put("FYXM1", "浜轰綋鍣ㄥ畼鎹愮尞涓撳鍔冲姟璐�:" + serviceFund.getPretaxcost() + "鍏� (鍏朵腑绋庡悗璐圭敤鐢变腑蹇冩壙鎷呯◣璐�)銆�"); dataMap.put("FYXM2", ""); dataMap.put("FYXM3", ""); - dataMap.put("JEXS", serviceFund.getAmountrequested()); - dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�"); + dataMap.put("JEXS", serviceFund.getPretaxcost()); + dataMap.put("JEDS", convert(serviceFund.getPretaxcost()) + "鏁�"); dataMap.put("BXBZ", serviceFund.getRemark() == null ? "" : serviceFund.getRemark()); @@ -689,6 +737,7 @@ for (ServiceFunddetail f : fd) { Map<String, Object> map = new HashMap<String, Object>(); + map.put("XH", f.getItemcode() == null ? "" : f.getItemcode()); String itemName = f.getItemname() == null ? "" : f.getItemname(); @@ -711,11 +760,72 @@ newsList.add(map); } + // 涓撳鍔冲姟璐圭粺璁¤〃 + List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>(); + + List<Double> sqljList = new ArrayList<>(); + List<Double> ksljList = new ArrayList<>(); + List<Double> shljList = new ArrayList<>(); + + //鏍规嵁鈥濈鐩被鍨嬪悕绉扳�滐紝鏉ヨ绠楃◣鍓嶆�诲拰锛岀◣閲戞�诲拰,绋庡悗鎬诲拰 + Map<String, ServiceFunddetailAssort> funddetailMap = new HashMap<>(); + for (ServiceFunddetail serviceFunddetail : fd) { + boolean b = funddetailMap.containsKey(serviceFunddetail.getSubjecttypename()); + if (b == true) { + ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename()); + serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount()); + serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount()); + serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount()); + } else { + funddetailMap.put(serviceFunddetail.getSubjecttypename(), new ServiceFunddetailAssort()); + ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename()); + serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount()); + serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount()); + serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount()); + } + } + + funddetailMap.forEach((FWFL, serviceFunddetailAssort) -> { + Map<String, Object> map1 = new HashMap<String, Object>(); + map1.put("FWFL", FWFL); + map1.put("SQXJ", serviceFunddetailAssort.getSQXJ()); + map1.put("KSXJ", serviceFunddetailAssort.getKSXJ()); + map1.put("SHXJ", serviceFunddetailAssort.getSHXJ()); + sqljList.add(serviceFunddetailAssort.getSQXJ()); + ksljList.add(serviceFunddetailAssort.getKSXJ()); + shljList.add(serviceFunddetailAssort.getSHXJ()); + lists.add(map1); + }); + + double sqxj = 0; + double kslj = 0; + double shlj = 0; + for (Double sqx : sqljList) { + sqxj += sqx; + } + for (Double ksl : ksljList) { + kslj += ksl; + } + for (Double shl : shljList) { + shlj += shl; + } + + //鏁版嵁灏佽 dataMap.put("list", newsList); + for (int i = 0; i < lists.size(); i++) { + Map<String, Object> map = lists.get(i); + map.put("XH", i + 1); + } + + dataMap.put("item", lists); dataMap.put("SQHJ", sq); dataMap.put("KSHJ", ks); dataMap.put("SHHJ", sh); + + dataMap.put("SQLJ", sqxj); + dataMap.put("KSLJ", kslj); + dataMap.put("SHLJ", shlj); } @@ -910,7 +1020,7 @@ @GetMapping(value = "/downloadYX/{id}") public Map downloadInfoYX(@PathVariable("id") Long id) throws IOException { Map dataMap = new HashMap(); - getDataYX(dataMap, id); + String dataYX = getDataYX(dataMap, id); String filePath = getClass().getResource("/template/").getPath(); System.out.println(filePath); //璁剧疆妯℃湰瑁呯疆鏂规硶鍜岃矾寰�,FreeMarker鏀寔澶氱妯℃澘瑁呰浇鏂规硶銆傚彲浠ラ噸servlet锛宑lasspath锛屾暟鎹簱鏁欑▼瑁呰浇锛� @@ -919,13 +1029,22 @@ Template t = null; try { //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉� - t = configuration.getTemplate("鍖诲鎴愭湰璐圭敤鐢宠鍗�.ftl"); + //涓撳鍔冲姟璐圭敵璇� 1 浼︾悊璇勪及鍔冲姟璐圭敵璇� 2 鍖诲鎴愭湰璐圭敤鐢宠 3 鍔炲叕璐圭敤鎶ラ攢鐢宠 4 + if (dataYX.equals("3")) { + t = configuration.getTemplate("鍖诲鎴愭湰璐圭敤鐢宠鍗�.ftl"); + } else if (dataYX.equals("4")) { + t = configuration.getTemplate("鍔炲叕璐圭敤鐢宠鍗�.ftl"); + } } catch (IOException e) { e.printStackTrace(); } String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis()); - String name = "鍖诲鎴愭湰璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime; - + String name = null; + if (dataYX.equals("3")) { + name = "鍖诲鎴愭湰璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime; + } else if (dataYX.equals("4")) { + name = "鍔炲叕璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime; + } //杈撳嚭鏂囨。璺緞鍙婂悕绉� File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); Writer out = null; @@ -946,10 +1065,14 @@ return map; } - private void getDataYX(Map dataMap, Long id) { + private String getDataYX(Map dataMap, Long id) { ServiceFund serviceFund = serviceFundService.getById(id); if (serviceFund == null) { throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT); + } + ServiceExternalperson infoByUserNo = null; + if (StringUtils.isNotBlank(serviceFund.getUserno())) { + infoByUserNo = externalpersonService.getInfoByUserNo(serviceFund.getUserno()); } List<ServiceFunddetail> fd = serviceFunddetailService.getAllDetailsByFDIDHZ(id); @@ -965,31 +1088,74 @@ List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>(); int seqno = 0; + dataMap.put("ZB", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname()); + dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh()); dataMap.put("TBYYMMDD", time); dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount()); dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname()); dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername()); + dataMap.put("YWZ", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname()); + dataMap.put("ZHUZANG", serviceFund.getManagername() == null ? "" : serviceFund.getManagername()); + String bz = ""; + int i = 0; for (ServiceFunddetail f : fd) { seqno++; 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/>"; + } + String fyxm = ""; fyxm += f.getItemname() == null ? "" : f.getItemname(); fyxm += f.getAmount() + "鍏�"; - fyxm += "("; - fyxm += f.getUnitname() == null ? "" : f.getUnitname() + ";"; - fyxm += f.getDepositbank() == null ? "" : f.getDepositbank() + ": "; - fyxm += f.getBankcardno() == null ? "" : f.getBankcardno(); - fyxm += ")"; map.put("FYXM", fyxm); newList.add(map); } + //鍚堝苟鍗曞厓鏍� + checkList(newList); dataMap.put("items", newList); - dataMap.put("JEXS", serviceFund.getAmountrequested()); - dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�"); - dataMap.put("BXBZ", serviceFund.getRemark() == null ? "" : serviceFund.getRemark()); + dataMap.put("JEXS", serviceFund.getPretaxcost()); + dataMap.put("JEDS", convert(serviceFund.getPretaxcost()) + "鏁�"); +// dataMap.put("JEXS", serviceFund.getAmountrequested()); +// dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�"); + //澶囨敞閲屾斁鐨勬槸缁忓姙浜虹殑閾惰鍗′俊鎭� + + dataMap.put("BXBZ", serviceFund.getApplytype().equals("3") || serviceFund.getApplytype().equals("4") ? bz : infoByUserNo == null ? "" : infoByUserNo.getBranchbankname() + " " + infoByUserNo.getBankcardno()); + dataMap.put("YZ", serviceFund.getPresident() == null ? "" : serviceFund.getPresident()); + dataMap.put("CWFYZ", serviceFund.getFinvicepresident() == null ? "" : serviceFund.getFinvicepresident()); + dataMap.put("YWFYZ", serviceFund.getBusvicepresident() == null ? "" : serviceFund.getBusvicepresident()); + dataMap.put("BGSZR", serviceFund.getOfficedirector() == null ? "" : serviceFund.getOfficedirector()); + dataMap.put("CWBZR", serviceFund.getFinancedirector() == null ? "" : serviceFund.getFinancedirector()); + dataMap.put("CWSH", serviceFund.getFinancechecher() == null ? "" : serviceFund.getFinancechecher()); dataMap.put("YYMMDD", time); dataMap.put("XM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname()); @@ -1006,7 +1172,7 @@ count++; map.put("XH", count); map.put("FWNR", f.getItemname() == null ? "" : f.getItemname()); - map.put("DW", f.getUnitname() == null ? "" : f.getUnitname()); + map.put("DW", f.getBeneficiaryname() == null ? "" : f.getBeneficiaryname()); map.put("SL", f.getQuantity() == 0.00 ? "" : f.getQuantity()); map.put("JG", f.getPrice() == 0.00 ? "" : f.getPrice()); @@ -1019,6 +1185,21 @@ dataMap.put("list", newsList); dataMap.put("BYHJ", hj); + dataMap.put("BGSZR2", serviceFund.getOfficedirector() == null ? "" : serviceFund.getOfficedirector()); + dataMap.put("CWBZR2", serviceFund.getFinancedirector() == null ? "" : serviceFund.getFinancedirector()); + dataMap.put("CWSH2", serviceFund.getFinancechecher() == null ? "" : serviceFund.getFinancechecher()); + + return serviceFund.getApplytype(); + } + + public List<Map<String, Object>> checkList(List<Map<String, Object>> list) { + String start = "<w:vMerge w:val='restart'/>"; + String end = "<w:vMerge/>"; + list.get(0).put("start", start); + for (int i = 1; i < list.size(); i++) { + list.get(i).put("end", end); + } + return list; } @@ -1643,6 +1824,7 @@ String date = formatter.format(dt); String time = date.substring(0, 10); + dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh()); dataMap.put("YYMMDD", time); dataMap.put("XM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname()); dataMap.put("GZRY", serviceFund.getUsername() == null ? "" : serviceFund.getUsername()); @@ -1729,6 +1911,8 @@ String date = formatter.format(dt); String time = date.substring(0, 10); + dataMap.put("ZB", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname()); + dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh()); dataMap.put("TBYYMMDD", time); dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount()); dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname()); @@ -1785,7 +1969,6 @@ dataMap.put("SQZE", String.format("%.2f", sh).toString() + ""); - } @@ -1822,4 +2005,16 @@ } + /** + * 缁╂晥璁$畻 + */ + @ApiOperation("缁╂晥璁$畻") + @Log(title = "缁╂晥璁$畻", businessType = BusinessType.INSERT) + @PostMapping("/performance") + @RepeatSubmit + public AjaxResult performance(@RequestBody ServiceFundVO serviceFundVO) { + + return AjaxResult.success(serviceFundService.performance(serviceFundVO)); + } + } -- Gitblit v1.9.3