From fa8521a23af37854e7a23d35467147bd00e008b2 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 14 九月 2023 18:57:31 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneySumEO.java | 25 +++++ ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml | 24 ++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java | 6 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 4 ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml | 2 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFunddetailMapper.java | 7 + ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java | 66 ------------ ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 5 + ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyByItemEO.java | 39 +++++++ ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java | 8 + ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java | 7 + ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java | 101 +++++++++++++++++++ 12 files changed, 225 insertions(+), 69 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 982ecc3..6f79bf9 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 @@ -541,6 +541,11 @@ } serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); serviceFundflowService.save(serviceFundflow); + + //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 + if (checkFundVO.getFlowconclusion() == 1 && user.getUserId().equals("001")) { + serviceFund.setOfficedirector(user.getNickName()); + } serviceFundService.updateById(serviceFund); ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java index 8ff1b29..69d353b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java @@ -161,4 +161,10 @@ public AjaxResult getFundDetail(@PathVariable("id") Long id) { return AjaxResult.success(serviceFunddetailService.getFundDetail(id)); } + + @ApiOperation("鏍规嵁鏉′欢绠楃◣") + @PostMapping("/calculateTax") + public AjaxResult calculateTax(@RequestBody List<ServiceFunddetail> serviceFunddetails) { + return AjaxResult.success(serviceFunddetailService.calculateTax(serviceFunddetails)); + } } 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 c7957f2..0a759dd 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 @@ -628,6 +628,10 @@ } } + //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 + if (checkFundVO.getFlowconclusion() == 1 && user.getUserId().equals("001")) { + serviceReimbursement.setOfficedirector(user.getNickName()); + } serviceReimbursementService.updateById(serviceReimbursement); diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java index c663897..2854d23 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java @@ -333,5 +333,13 @@ @ApiModelProperty("闄勪欢鏂囦欢鍦板潃") private String annexfiles; + + /** + * 璁$畻绋庤垂鏃堕棿 + */ + @ApiModelProperty("璁$畻绋庤垂鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date taxTime; + } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyByItemEO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyByItemEO.java new file mode 100644 index 0000000..62a54d7 --- /dev/null +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyByItemEO.java @@ -0,0 +1,39 @@ +package com.ruoyi.project.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +@Data +public class TaxMoneyByItemEO extends BaseEntity { + + /** + * 鍙楃泭浜虹紪鍙� + */ + private String beneficiaryNo; + + /** + * 璐圭敤鍒涘缓鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date taxTime; + + /** + * 鏈湀绗竴澶╃殑鏃堕棿 YYYY-MM-DD hh-mm-ss + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date firstDay; + + /** + * 浜哄憳绫诲埆 + */ + private Long applyType; + + /** + * 璧勯噾鐢宠涓昏〃ID + */ + private Long fundID; + +} diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneySumEO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneySumEO.java new file mode 100644 index 0000000..0855132 --- /dev/null +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneySumEO.java @@ -0,0 +1,25 @@ +package com.ruoyi.project.domain.vo; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class TaxMoneySumEO extends BaseEntity { + + /** + * 绋庡墠鎬婚 + */ + private double amounts; + + /** + * 绋庢�婚 + */ + private double taxAmounts; + + /** + * 绋庡悗鎬婚 + */ + private double taxedAmounts; + + +} diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFunddetailMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFunddetailMapper.java index 5f5e1ab..efd46f0 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFunddetailMapper.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceFunddetailMapper.java @@ -7,6 +7,8 @@ import com.ruoyi.project.domain.FunddetailReqVo; import com.ruoyi.project.domain.ServiceFunddetail; +import com.ruoyi.project.domain.vo.TaxMoneyByItemEO; +import com.ruoyi.project.domain.vo.TaxMoneySumEO; import com.ruoyi.project.domain.vo.TaxMoneyVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -47,6 +49,9 @@ List<ServiceFunddetail> getTaxBeforeByBeneFiciaryNo(TaxMoneyVO taxMoneyV); + boolean updateTaxTime(ServiceFunddetail serviceFunddetail); + + TaxMoneySumEO getTaxSum(TaxMoneyByItemEO taxMoneyByItemEO); - } +} diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java index fba73b6..799ea55 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java @@ -60,4 +60,11 @@ int deleteDetail(Long id); List<ServiceFunddetailVO> getFundDetail(Long id); + + /** + * 鏍规嵁鏉′欢绠楃◣ + * + * @param serviceFunddetails + */ + public Boolean calculateTax(List<ServiceFunddetail> serviceFunddetails); } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java index db211f1..1cb4537 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java @@ -670,6 +670,7 @@ @Transactional public Long addOrUpdateNew(ServiceFundVO serviceFundVO) { Long id = null; + //灏嗘暟鎹繚瀛樺埌fund琛� if (serviceFundVO.getId() == null) { save(serviceFundVO); id = serviceFundVO.getId(); @@ -682,82 +683,21 @@ System.out.println("serviceFunddetails涓虹┖鍠�"); return null; } - // 鐢ㄤ簬璁板綍绋庡墠銆佺◣鍚庣殑鎬诲拰 - double taxBefore = 0.0; - double taxAfter = 0.0; - + // 淇濆瓨璇︽儏鏁版嵁 for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) { serviceFunddetailVO.setFundid(id); //灏囬檮浠惰浆鎴恓son if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) { serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList())); } - if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getTaxedamount() != 0.0 && serviceFunddetailVO.getAmount() != 0.0) { - // 绋庡墠绋庡悗閮戒笉涓虹┖ - ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class); - - - if (serviceFunddetailVO.getId() == null) { - serviceFunddetailService.save(serviceFunddetail); - } else { - serviceFunddetailService.updateById(serviceFunddetail); - } - //璁$畻绋庨噾 - if (serviceFunddetail.getAmount() != null) { - taxBefore = taxBefore + serviceFunddetail.getAmount(); - } - if (serviceFunddetail.getTaxedamount() != null) { - taxAfter = taxAfter + serviceFunddetail.getTaxedamount(); - } - continue; - } else if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getTaxedamount() != 0.0) { - // 绋庡悗姹傜◣鍓�,濡傛灉鏄笓瀹惰垂鐢宠 鎴� 浼︾悊涓撳璐圭敵璇� 鎵嶄細璁$畻绋庡墠绋庡悗 - if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) { - Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetailVO.getTaxedamount()))); - // 绋庨噾 - String taxation = TaxtUtils.getTaxation(BigDecimal.valueOf(taxationBefore)); - serviceFunddetailVO.setAmount(Double.valueOf(taxationBefore)); - serviceFunddetailVO.setTaxamount(Double.parseDouble(taxation)); - } - } else if (serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getAmount() != 0.0) { - // 绋庡墠姹傜◣鍚�,濡傛灉鏄笓瀹惰垂鐢宠 鎴� 浼︾悊涓撳璐圭敵璇� 鎵嶄細璁$畻绋庡墠绋庡悗 - if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) { - double tax = Double.parseDouble(TaxtUtils.getTaxation(BigDecimal.valueOf(serviceFunddetailVO.getAmount()))); - BigDecimal taxAfterMoney = BigDecimal.valueOf(serviceFunddetailVO.getAmount()).subtract(BigDecimal.valueOf(tax)); - serviceFunddetailVO.setTaxamount(tax); - serviceFunddetailVO.setTaxedamount(taxAfterMoney.doubleValue()); - } - } - - //鏍规嵁id鍒ゆ柇鏄柊澧炶繕鏄慨鏀� ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class); + if (serviceFunddetailVO.getId() == null) { serviceFunddetailService.save(serviceFunddetail); } else { serviceFunddetailService.updateById(serviceFunddetail); } -// if (serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) { - //濡傛灉鏄笓瀹惰垂鐢宠 鎴� 浼︾悊涓撳璐圭敵璇� 鎵嶄細璁$畻绋庡墠绋庡悗 - if (serviceFunddetail.getAmount() != null) { - taxBefore = taxBefore + serviceFunddetail.getAmount(); - } - if (serviceFunddetail.getTaxedamount() != null) { - taxAfter = taxAfter + serviceFunddetail.getTaxedamount(); - } } - //灏嗙◣鍓嶃�佺◣鍚庨噾棰濇洿鏂板埌fund琛ㄤ腑 - serviceFundVO.setPretaxcost(taxBefore); - serviceFundVO.setTaxedcost(taxAfter); - //鐢宠閲戦涓哄惈绋庨噾棰� - if (serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) { - //涓◣ 绋庡墠锛堟湁绋庯級 - 绋� = 绋庡悗 - serviceFundVO.setAmountrequested(taxBefore); - } else { - //閲囪喘 绋庡墠锛堟棤绋庯級 + 绋� = 绋庡悗锛堝惈绋庨噾棰濓級 - serviceFundVO.setAmountrequested(taxAfter); - } - - updateById(serviceFundVO); return id; } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java index 698d830..aae29db 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java @@ -1,8 +1,11 @@ package com.ruoyi.project.service.impl; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.ZoneId; import java.time.temporal.TemporalAdjusters; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -11,8 +14,7 @@ import com.ruoyi.common.tax.TaxtUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.*; -import com.ruoyi.project.domain.vo.TaxMoneyVO; -import com.ruoyi.project.domain.vo.TaxedMoneyVO; +import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceFundMapper; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +25,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.mapper.ServiceFunddetailMapper; import com.ruoyi.project.service.IServiceFunddetailService; +import org.springframework.transaction.annotation.Transactional; /** * 璐圭敤鐢宠鏄庣粏Service涓氬姟灞傚鐞� @@ -231,4 +234,98 @@ return serviceFunddetailVOS; } + /** + * 鏍规嵁鏉′欢绠楃◣ + * + * @param serviceFunddetails + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean calculateTax(List<ServiceFunddetail> serviceFunddetails) { + //鐢ㄤ簬涓存椂淇濆瓨宸茬粡绠楀ソ鐨�"璐圭敤璇︽儏鏁版嵁" + List<ServiceFunddetail> temporarySave = new ArrayList<>(); + + for (ServiceFunddetail serviceFunddetail : serviceFunddetails) { + //鑾峰彇褰撴湀鐨勭涓�澶� + Date firstDay = Date.from(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String firstDatStr = dateFormat.format(firstDay); + TaxMoneyByItemEO taxMoneyVO = new TaxMoneyByItemEO(); + + taxMoneyVO.setTaxTime(new Date()); + taxMoneyVO.setFirstDay(firstDay); + taxMoneyVO.setApplyType(Long.valueOf(serviceFunddetail.getApplytype())); + taxMoneyVO.setFundID(serviceFunddetail.getFundid()); + taxMoneyVO.setBeneficiaryNo(serviceFunddetail.getBeneficiaryno()); + //鏌ュ嚭绋庡墠銆佺◣銆佺◣鍚庣殑鎬婚锛堜笉鍖呭惈鏈锛� + TaxMoneySumEO taxSum = serviceFunddetailMapper.getTaxSum(taxMoneyVO); + if (ObjectUtils.isEmpty(taxSum)) { + taxSum = new TaxMoneySumEO(); + } + + //鍒ゆ柇涓存椂闆嗗悎temporarySave涓紝鏈夋病鏈夊凡缁忕畻杩囩殑鏁版嵁 + if (CollectionUtils.isNotEmpty(temporarySave)) { + for (ServiceFunddetail serviceFunddetail1 : temporarySave) { + //濡傛灉鏈鐨勨�濅汉鍛樼被鍨嬧�溿�佲�濆彈鐩婁汉缂栧彿鈥滃湪涓存椂闆嗗悎涓瓨鍦紝鍒欏皢闆嗗悎鏁版嵁涓殑璇ュ彈鐩婁汉鐨勶紝绋庡墠銆佺◣閲戙�佺◣鍚庯紝鍜屾�荤殑鐩稿姞锛屽苟灏嗚�佺殑瑕嗙洊 + if (serviceFunddetail1.getApplytype().equals(serviceFunddetail.getApplytype()) && serviceFunddetail1.getBeneficiaryno().equals(serviceFunddetail.getBeneficiaryno())) { + //灏嗛泦鍚堟暟鎹腑鐨勮鍙楃泭浜虹殑锛岀◣鍓嶃�佺◣閲戙�佺◣鍚庯紝鍜屾�荤殑鐩稿姞 + BigDecimal amounts = BigDecimal.valueOf(taxSum.getAmounts()).add(new BigDecimal(String.valueOf(serviceFunddetail1.getAmount()))); + BigDecimal taxAmounts = BigDecimal.valueOf(taxSum.getTaxAmounts()).add(new BigDecimal(String.valueOf(serviceFunddetail1.getTaxamount()))); + BigDecimal TaxedAmounts = BigDecimal.valueOf(taxSum.getTaxedAmounts()).add(new BigDecimal(String.valueOf(serviceFunddetail1.getTaxedamount()))); + //灏嗚�佺殑瑕嗙洊 + taxSum.setAmounts(amounts.doubleValue()); + taxSum.setTaxAmounts(taxAmounts.doubleValue()); + taxSum.setTaxedAmounts(TaxedAmounts.doubleValue()); + } + continue; + } + } + + if (!serviceFunddetail.getServicesscopename().contains("绋庡悗")) { + // 濡備綍绋庡墠閲戦涓嶄负绌猴紝鐢ㄤ箣鍓嶇殑鈥濇�荤◣鍓嶉噾棰濃�滐紝鍔犱笂褰撳墠鈥濈◣鍓嶉噾棰濃�� + BigDecimal newAmounts = BigDecimal.valueOf(taxSum.getAmounts()).add(BigDecimal.valueOf(serviceFunddetail.getAmount())); + + // 璁$畻鎬荤◣閲戯紙鍖呭惈鏈锛� + String taxation = TaxtUtils.getTaxation(newAmounts); + //璁$畻鏈绋庨噾锛堟�荤◣閲戯紙鍖呭惈鏈锛� - 鎬荤◣閲戯紙涓嶅寘鍚湰娆★級锛� + BigDecimal taxAmountNow = new BigDecimal(taxation).subtract(new BigDecimal(String.valueOf(taxSum.getTaxAmounts()))); + + //璁$畻鏈鐨勭◣鍚庨噾棰�(鏈鐨勭◣鍓嶉噾棰� - 绋庨噾) + BigDecimal texdAfterNow = BigDecimal.valueOf(serviceFunddetail.getAmount()).subtract(taxAmountNow); + + //灏嗗惊鐜殑鏁版嵁閲嶆柊鏀惧埌涓�涓柊瀵硅薄涓� + ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class); + serviceFunddetail3.setTaxamount(taxAmountNow.doubleValue()); + serviceFunddetail3.setTaxedamount(texdAfterNow.doubleValue()); + serviceFunddetail3.setTaxTime(new Date()); + // 灏嗚鏉℃暟鎹洿鏂� + updateById(serviceFunddetail3); + // 鎶婅鏁版嵁锛屾斁鍒颁复鏃剁殑闆嗗悎涓� + temporarySave.add(serviceFunddetail3); + } else if (serviceFunddetail.getServicesscopename().contains("绋庡悗")) { + //绋庡悗涓嶄负绌�, 鐢ㄤ箣鍓嶇殑鈥濇�荤◣鍚庨噾棰濃�滐紝鍔犱笂褰撳墠鈥濈◣鍚庨噾棰濃�� + BigDecimal newTaxedAmounts = BigDecimal.valueOf(taxSum.getTaxedAmounts()).add(BigDecimal.valueOf(serviceFunddetail.getTaxedamount())); + + //閫氳繃鎬荤◣鍚庯紙鍖呭惈鏈锛夌畻鍑烘�荤◣鍓� + String taxationBefore = TaxtUtils.getTaxationBefore(newTaxedAmounts); + //绠楀嚭鏈绋庡墠锛堟�荤◣鍓嶏紙鍖呭惈鏈锛� - 鎬荤◣鍓嶏紙涓嶅寘鍚湰娆★級锛� + BigDecimal amountNow = new BigDecimal(taxationBefore).subtract(BigDecimal.valueOf(taxSum.getAmounts())); + + //绠楀嚭鏈绋庨噾(鏈绋庡墠 - 鏈绋庡悗) + BigDecimal tax = amountNow.subtract(BigDecimal.valueOf(serviceFunddetail.getTaxedamount())); + + //灏嗗惊鐜殑鏁版嵁閲嶆柊鏀惧埌涓�涓柊瀵硅薄涓� + ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class); + serviceFunddetail3.setAmount(amountNow.doubleValue()); + serviceFunddetail3.setTaxamount(tax.doubleValue()); + serviceFunddetail3.setTaxTime(new Date()); + // 灏嗚鏉℃暟鎹洿鏂� + updateById(serviceFunddetail3); + // 鎶婅鏁版嵁锛屾斁鍒颁复鏃剁殑闆嗗悎涓� + temporarySave.add(serviceFunddetail3); + } + } + return true; + } + } diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml index 030503a..bea6317 100644 --- a/ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml +++ b/ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml @@ -113,7 +113,7 @@ from service_fund </sql> - <select id="selectServiceFundList" parameterType="ServiceFund" resultMap="ServiceFundResult"> + <select id="selectServiceFundList" parameterType="com.ruoyi.project.domain.ServiceFund" resultMap="ServiceFundResult"> <include refid="selectServiceFundVo"/> where del_flag = '0' diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml index 73de6cd..1447548 100644 --- a/ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml +++ b/ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml @@ -56,7 +56,8 @@ <result property="itemcode" column="ItemCode"/> <result property="subjecttype" column="subjecttype"/> <result property="subjecttypename" column="subjecttypename"/> - <result property="AnnexFiles" column="AnnexFiles"/> + <result property="annexfiles" column="AnnexFiles"/> + <result property="taxTime" column="tax_time"/> </resultMap> <sql id="selectServiceFunddetailVo"> @@ -111,7 +112,8 @@ SERVICETYPENAME, subjecttype, subjecttypename, - AnnexFiles + AnnexFiles, + tax_time from service_funddetail </sql> @@ -244,4 +246,22 @@ </select> + <update id="updateTaxTime" parameterType="com.ruoyi.project.domain.ServiceFunddetail"> + update com.ruoyi.project.domain. + <set> + tax_time = #{taxTime}, + </set> + where fundID = #{fundid} + </update> + + <select id="getTaxSum" parameterType="com.ruoyi.project.domain.vo.TaxMoneyByItemEO" resultType="com.ruoyi.project.domain.vo.TaxMoneySumEO"> + SELECT sum(Amount) amounts, sum(TaxAmount) taxAmounts, sum(TaxedAmount) taxedAmounts + FROM service_funddetail + where fundID < #{fundID} + and tax_time < #{taxTime} + and tax_time >= #{firstDay} + and ApplyType = #{applyType} + and BeneficiaryNo = #{beneficiaryNo} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.3