From ae29f1b7da8a405a358f5d71150b60a504af5f3a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 11 八月 2023 18:24:35 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 151 +++++++++++++++++++++++--------------------------- 1 files changed, 70 insertions(+), 81 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 782e319..737e585 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 @@ -11,6 +11,8 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.tax.TaxtUtils; +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.*; @@ -22,8 +24,10 @@ 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.*; @@ -40,6 +44,7 @@ * @author ruoyi * @date 2022-01-24 */ +@Slf4j @Api("璐圭敤鐢宠涓�") @RestController @RequestMapping("/project/fund") @@ -158,15 +163,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)); - } /** * 瀵煎嚭璐圭敤鐢宠涓诲垪琛� @@ -426,20 +427,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)); } + /** * 瀹℃牳璐圭敤 @@ -489,11 +484,14 @@ } } FlowLevel = FlowLevel + 1; + //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾� + serviceFund.setBackflowlevel(FlowLevel); } else { CheckFlag = 2; if (CheckFlag == 2) { //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� FlowLevel = 0; + RecordStatus = -1; } else { RecordStatus = (FlowLevel + 1) * 2 - 1; FlowLevel = (FlowLevel - 1); @@ -505,6 +503,7 @@ serviceFund.setRecordstatus(RecordStatus); serviceFund.setFlowlevel(FlowLevel); + // serviceFund.setBackflowlevel(serviceFund.getFlowlevel()); ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); @@ -535,39 +534,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 { @@ -584,33 +551,35 @@ /** - * 淇敼璐圭敤鐢宠涓� + * 淇敼璐圭敤鐢宠 */ - @ApiOperation("淇敼璐圭敤鐢宠涓�") - //@PreAuthorize("@ss.hasPermi('project:fund:edit')") + @ApiOperation("淇敼璐圭敤鐢宠") @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.UPDATE) - @PutMapping + @PostMapping("/fundEdit") @RepeatSubmit - public AjaxResult edit(@RequestBody ServiceFund serviceFund) { - List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getId()); + 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() == 100 || sf.getBackflowlevel() == 199) { - ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); - serviceFundShared.setId(null); - serviceFundShared.setDel_flag(0); - fundSharedService.save(serviceFundShared); - + if (sf.getBackflowlevel() == 199) { //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100 sf.setBackflowlevel(100); serviceFundService.updateById(sf); + + //寰�鍒嗕韩琛ㄩ噷鏂板 + serviceFundService.addFundSharedInfo(serviceFund.getId()); + return success(); } else { serviceFund.setFlowlevel(sf.getBackflowlevel()); boolean bret = serviceFundService.updateById(serviceFund); -// if (bret) { -// addReiSharedDatd(serviceFund, 2); -// } + log.info("serviceFundService.updateById杩斿弬:{}", bret); + return toAjax(bret); } } @@ -687,11 +656,11 @@ 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.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()); @@ -741,16 +710,34 @@ List<Double> sqljList = new ArrayList<>(); List<Double> ksljList = new ArrayList<>(); List<Double> shljList = new ArrayList<>(); - Map<String, Optional<ServiceFunddetailAssort>> result = fd.stream().collect(Collectors.groupingBy(ServiceFunddetail::getSubjecttypename, Collectors.mapping(obj -> new ServiceFunddetailAssort(obj.getAmount(), obj.getTaxamount(), obj.getTaxedamount()), Collectors.reducing(ServiceFunddetailAssort::add)))); - result.forEach((FWFL, serviceFunddetailAssort) -> { + + //鏍规嵁鈥濈鐩被鍨嬪悕绉扳�滐紝鏉ヨ绠楃◣鍓嶆�诲拰锛岀◣閲戞�诲拰,绋庡悗鎬诲拰 + 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.get().getSQXJ()); - map1.put("KSXJ", serviceFunddetailAssort.get().getKSXJ()); - map1.put("SHXJ", serviceFunddetailAssort.get().getSHXJ()); - sqljList.add(serviceFunddetailAssort.get().getSQXJ()); - ksljList.add(serviceFunddetailAssort.get().getKSXJ()); - shljList.add(serviceFunddetailAssort.get().getSHXJ()); + 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); }); @@ -771,7 +758,7 @@ dataMap.put("list", newsList); for (int i = 0; i < lists.size(); i++) { Map<String, Object> map = lists.get(i); - map.put("XH", i+1); + map.put("XH", i + 1); } dataMap.put("item", lists); @@ -1054,8 +1041,10 @@ } dataMap.put("items", newList); - dataMap.put("JEXS", serviceFund.getAmountrequested()); - dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�"); + 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.getRemark() == null ? "" : serviceFund.getRemark()); dataMap.put("YYMMDD", time); -- Gitblit v1.9.3