ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseAnnextypeController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -81,7 +82,7 @@ @PreAuthorize("@ss.hasPermi('system:annextype:add')") @Log(title = "æç®éä»¶", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit @RepeatSubmit public AjaxResult add(@RequestBody BaseAnnextype baseAnnextype) { log.info("æ°å¢æç®éä»¶{}ï¼", baseAnnextype); ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; 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; ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; 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.core.controller.BaseController; ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -4,6 +4,7 @@ import java.text.SimpleDateFormat; import java.util.*; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.enums.OrganEnum; import com.ruoyi.common.utils.StringUtils; ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
@@ -3,6 +3,7 @@ import java.util.Arrays; import java.util.List; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.project.domain.vo.EthicalReviewVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -87,7 +88,7 @@ //@PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:add')") @Log(title = "伦ç审æ¥ä¸å®¶æè§", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult add(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) { return toAjax(serviceEthicalreviewopinionsService.save(serviceEthicalreviewopinions)); ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExpertexpenseController.java
@@ -2,6 +2,8 @@ import java.util.Arrays; import java.util.List; import com.ruoyi.common.annotation.NotRepeatCommit; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; @@ -79,7 +81,7 @@ @ApiOperation("æ°å¢è´¹ç¨ç³è¯·ä¸»") @Log(title = "è´¹ç¨ç³è¯·ä¸»", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult add(@RequestBody ServiceExpertexpense serviceExpertexpense) { return toAjax(serviceExpertexpenseService.save(serviceExpertexpense)); ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -4,6 +4,7 @@ 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; @@ -481,6 +482,7 @@ * å®¡æ ¸è´¹ç¨ */ @ApiOperation("å®¡æ ¸è´¹ç¨") @RepeatSubmit // @Log(title = "å®¡æ ¸è´¹ç¨", businessType = BusinessType.OTHER) @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { @@ -2099,6 +2101,7 @@ /** * è´¹ç¨ç±»åè®¡æ° */ // @NotRepeatCommit(key = "param:arg[1]", value = 30000) @ApiOperation("è´¹ç¨ç±»å计æ°") @GetMapping(value = "/countItem/{infoid}/{itemid}") public AjaxResult countItem(@PathVariable Long infoid, @PathVariable Long itemid) { @@ -2123,10 +2126,10 @@ /** * åè®¡ä¸ªç¨ */ @NotRepeatCommit(key = "param:arg[1]", value = 30000) @ApiOperation("å计个ç¨") @Log(title = "å计个ç¨", businessType = BusinessType.INSERT) @PostMapping("/totaltax") @RepeatSubmit public AjaxResult totaltax(@RequestBody TotalTaxVO totalTaxVO) { Map<String, List<ServiceFunddetailExcel>> totaltax = serviceFundService.totaltax(totalTaxVO); if (ObjectUtils.isEmpty(totaltax)) { @@ -2139,7 +2142,13 @@ key2 = key; } ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class); return AjaxResult.success(util.exportExcel(totaltax.get(key2), key2)); AjaxResult ajaxResult = util.exportExcel(totaltax.get(key2), key2); String msg = (String) ajaxResult.get("msg"); Map dataMap = new HashMap(); dataMap.put("downloadUrl", "/profile/download/" + msg); return AjaxResult.success(dataMap); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -13,6 +14,7 @@ import com.ruoyi.project.service.IServiceFunddetailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -25,6 +27,7 @@ * @author ruoyi * @date 2022-01-25 */ @Slf4j @Api("è´¹ç¨ç³è¯·æç»") @RestController @RequestMapping("/project/funddetail") @@ -76,7 +79,7 @@ //@PreAuthorize("@ss.hasPermi('project:funddetail:add')") @Log(title = "è´¹ç¨ç³è¯·æç»", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult add(@RequestBody ServiceFunddetail serviceFunddetail) { return toAjax(serviceFunddetailService.save(serviceFunddetail)); } @@ -88,8 +91,9 @@ //@PreAuthorize("@ss.hasPermi('project:funddetail:edit')") @Log(title = "è´¹ç¨ç³è¯·æç»", businessType = BusinessType.UPDATE) @PostMapping("/edit") @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult edit(@RequestBody ServiceFunddetail serviceFunddetail) { log.info("ä¿®æ¹çæ°æ®ä¿¡æ¯ï¼{}", serviceFunddetail); return toAjax(serviceFunddetailService.updateById(serviceFunddetail)); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceMedicalevaluationController.java
@@ -3,6 +3,7 @@ import java.util.Arrays; import java.util.List; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.project.domain.vo.MedicalEvaluationVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -90,7 +91,7 @@ //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:add')") @Log(title = "å»å¦è¯ä¼°", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult add(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation) { return toAjax(serviceMedicalevaluationService.save(serviceMedicalevaluation)); } @@ -102,7 +103,7 @@ //@PreAuthorize("@ss.hasPermi('project:medicalevaluation:edit')") @Log(title = "å»å¦è¯ä¼°", businessType = BusinessType.UPDATE) @PostMapping("/edit") @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult edit(@RequestBody ServiceMedicalevaluation serviceMedicalevaluation) { List<ServiceMedicalevaluation> list = serviceMedicalevaluationService.queryList(serviceMedicalevaluation); if (CollectionUtils.isEmpty(list)) { ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceOrganallocationController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -75,7 +76,7 @@ //@PreAuthorize("@ss.hasPermi('project:organallocation:add')") @Log(title = "å¨å®åé ", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @NotRepeatCommit(key = "param:arg[1]", value = 30000) public AjaxResult add(@RequestBody ServiceOrganallocation serviceOrganallocation) { return toAjax(serviceOrganallocationService.save(serviceOrganallocation)); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; 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; @@ -220,7 +221,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursement:add')") @Log(title = "æ¥éç³è¯·", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit @RepeatSubmit @Options(useGeneratedKeys = true, keyProperty = "id") public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) { if (!Objects.isNull(serviceReimbursement)) { ruoyi-common/src/main/java/com/ruoyi/common/annotation/NotRepeatCommit.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * å½åæ°æ®ï¼æ¯å¦éå¤æäº¤ */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface NotRepeatCommit { String key() default "not_repeat_commit:"; long value() default 10000; } ruoyi-common/src/main/java/com/ruoyi/common/config/IsAspectAspect.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.ruoyi.common.config; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.filter.RepeatedlyRequestWrapper; import com.ruoyi.common.utils.http.HttpHelper; import org.apache.logging.log4j.util.Strings; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import java.util.concurrent.TimeUnit; @Aspect @Component public class IsAspectAspect { @Autowired private RedisTemplate redisTemplate; @Around("@annotation(notRepeat)") public Object before(ProceedingJoinPoint point, NotRepeatCommit notRepeat) { String nowParams = ""; String key = getKey(notRepeat.key(), point.getArgs()); if (Strings.isNotBlank(key)) { // ä¸åå¨ å°±æ·»å ç¼å 设置 æ¶é´ if (!redisTemplate.opsForValue().setIfAbsent(key, "1", notRepeat.value(), TimeUnit.MILLISECONDS)) { throw new RuntimeException("请å¿éå¤æäº¤"); } } try { return point.proceed(); } catch (Throwable throwable) { throw new RuntimeException("æå¡å¨å¼å¸¸"); } } /** * key çæçç¥ * * @param key keyè¡¨è¾¾å¼ * @param args åæ° * @return çæçkey */ private String getKey(String key, Object[] args) { for (int i = 0; i < args.length; i++) { key = key.replace("arg[" + i + "]", args[i].toString()); } return key; } } ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java
@@ -5,6 +5,7 @@ import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; import java.text.DecimalFormat; @@ -16,6 +17,7 @@ * * @author ls */ @Slf4j public class TaxtUtils { /** * åé符 @@ -67,35 +69,39 @@ public static String getTaxationBefore(BigDecimal money) { //å½X<=800æ¶ï¼ä¸ªç¨T=0 BigDecimal taxMoney = new BigDecimal(0.0); if (money.doubleValue() <= 800) { taxMoney = money; } //第ä¸ä¸ªåæ°æ¯é¤æ°ï¼ç¬¬äºä¸ªåæ°ä»£è¡¨ä¿çå ä½å°æ°ï¼ç¬¬ä¸ä¸ªä»£è¡¨çæ¯ä½¿ç¨çæ¨¡å¼ if (money.doubleValue() > 800 && money.doubleValue() <= 3360) { taxMoney = money.subtract(new BigDecimal(160)).divide(new BigDecimal(0.8),2,BigDecimal.ROUND_UP); taxMoney = money.subtract(new BigDecimal(160)).divide(new BigDecimal(0.8), 2, BigDecimal.ROUND_UP); } if (money.doubleValue() > 3360 && money.doubleValue() <= 21000) { taxMoney = money.divide(new BigDecimal(0.84),2,BigDecimal.ROUND_DOWN); taxMoney = money.divide(new BigDecimal(0.84), 2, BigDecimal.ROUND_DOWN); } if (money.doubleValue() > 21000 && money.doubleValue() <= 40000) { money = money.subtract(new BigDecimal(2000)); taxMoney = money.divide(new BigDecimal(0.76),2,BigDecimal.ROUND_DOWN); taxMoney = money.divide(new BigDecimal(0.76), 2, BigDecimal.ROUND_DOWN); } if (money.doubleValue() > 40000) { money = money.subtract(new BigDecimal(7000)); taxMoney = money.divide(new BigDecimal(0.68),2,BigDecimal.ROUND_DOWN); taxMoney = money.divide(new BigDecimal(0.68), 2, BigDecimal.ROUND_DOWN); } DecimalFormat decimalFormat = new DecimalFormat("#.00"); String format = decimalFormat.format(taxMoney); log.info("ç¨åéé¢ä¸ºï¼{}", format); return format; } public static void main(String[] args) { String taxation = getTaxation(new BigDecimal(21000)); String taxationBefore = getTaxationBefore(new BigDecimal(52000)); String taxation = getTaxation(new BigDecimal(400)); String taxationBefore = getTaxationBefore(new BigDecimal(400)); System.out.println(taxation + " " + taxationBefore); ruoyi-common/src/main/java/com/ruoyi/common/utils/ChineseUtils.java
@@ -9,7 +9,18 @@ * @return */ public static boolean isChinese(String str) { String regex = "[\\u4e00-\\u9fa5]+"; return str.matches(regex); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (isChineseCharacter(c)) { return true; } } return false; } private static boolean isChineseCharacter(char c) { // æ±åçUnicodeç¼ç èå´æ¯0x4E00å°0x9FA5 return c >= 0x4E00 && c <= 0x9FA5; } } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java
@@ -347,5 +347,13 @@ @ApiModelProperty("æ¯å¦ç®ç¨ï¼0æªç®ç¨ï¼1å·²ç®ç¨") private Integer istax; /** * 计ç®ç¨è´¹æ¶é´ */ @ApiModelProperty("计ç®ç¨è´¹æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date fundtaxtime; } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.ChineseUtils; @@ -138,8 +139,17 @@ } @Override @Transactional @Transactional(rollbackFor = Exception.class) public Boolean addFundSharedInfo(Long id) { log.info("fund表çidï¼{}", id); //夿ä¸ä¸ï¼share表æ¯å¦å·²ç»åå¨äº Map<String, Object> map = new HashMap<>(); map.put("serfunid", id); List<ServiceFundShared> serviceFundSharedList = serviceFundSharedMapper.selectByMap(map); if (!CollectionUtils.isEmpty(serviceFundSharedList)) { return true; } ServiceFund serviceFund = serviceFundMapper.selectById(id); ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); serviceFundShared.setSerfunid(serviceFundShared.getId()); @@ -669,7 +679,6 @@ @Override public int countItem(Long infoid, Long itemid) { List<ServiceFund> serviceFunds = serviceFundMapper.getInfoByInfoId(infoid); int count = 0; for (ServiceFund s : serviceFunds) { long fundid = s.getId(); ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.tax.PerformanceTaxtUtils; import com.ruoyi.common.tax.TaxtUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; @@ -16,6 +17,7 @@ import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceFundMapper; import lombok.extern.flogger.Flogger; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,6 +37,7 @@ * @author ruoyi * @date 2022-01-25 */ @Slf4j @Service public class ServiceFunddetailServiceImpl extends ServiceImpl<ServiceFunddetailMapper, ServiceFunddetail> implements IServiceFunddetailService { protected final Logger logger = LoggerFactory.getLogger(this.getClass()); @@ -260,6 +263,15 @@ @Override @Transactional(rollbackFor = Exception.class) public Boolean calculateTax(List<ServiceFunddetail> serviceFunddetails) { if (CollectionUtils.isEmpty(serviceFunddetails)) { throw new BaseException("ç®ç¨æ¡ä»¶ä¸ºç©ºï¼è¯·æ£æ¥åï¼åè¿è¡è®¡ç®"); } //è¿ä¸ªæ¯ä¸ºäºè·åfund_tax_time Long fundid = serviceFunddetails.get(0).getFundid(); log.info("ç®ç¨çfundidçå¼ä¸ºï¼{}", fundid); ServiceFund serviceFund1 = serviceFundMapper.selectById(fundid); log.info("fund表çfundtextimeå¼ä¸ºï¼{}", serviceFund1.getFundtaxtime()); //ç¨äºä¸´æ¶ä¿åå·²ç»ç®å¥½ç"è´¹ç¨è¯¦æ æ°æ®" List<ServiceFunddetail> temporarySave = new ArrayList<>(); @@ -283,15 +295,16 @@ //è·å彿ç第ä¸å¤© 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); // SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // String firstDatStr = dateFormat.format(firstDay); TaxMoneyByItemEO taxMoneyVO = new TaxMoneyByItemEO(); taxMoneyVO.setTaxTime(new Date()); if (serviceFund1.getFundtaxtime() != null) { taxMoneyVO.setTaxTime(serviceFund1.getFundtaxtime()); } else { taxMoneyVO.setTaxTime(new Date()); } taxMoneyVO.setFirstDay(firstDay); // taxMoneyVO.setApplyType(Long.valueOf(serviceFunddetail.getApplytype())); taxMoneyVO.setFundID(serviceFunddetail.getFundid()); // taxMoneyVO.setBeneficiaryNo(serviceFunddetail.getBeneficiaryno()); taxMoneyVO.setIDCard(serviceFunddetail.getIdcardno()); //æ¥åºç¨åãç¨ãç¨åçæ»é¢ï¼ä¸å 嫿¬æ¬¡ï¼ TaxMoneySumEO taxSum = serviceFunddetailMapper.getTaxSum(taxMoneyVO); @@ -338,7 +351,11 @@ ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class); serviceFunddetail3.setTaxamount(taxAmountNow.doubleValue()); serviceFunddetail3.setTaxedamount(texdAfterNow.doubleValue()); serviceFunddetail3.setTaxTime(new Date()); if (ObjectUtils.isEmpty(serviceFund1.getFundtaxtime())) { serviceFunddetail3.setTaxTime(new Date()); } else { serviceFunddetail3.setTaxTime(serviceFund1.getFundtaxtime()); } logger.info("æå°ç¨åserviceFunddetail3æ°æ® :{}", serviceFunddetail3); // å°è¯¥æ¡æ°æ®æ´æ° @@ -365,7 +382,11 @@ ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class); serviceFunddetail3.setAmount(amountNow.doubleValue()); serviceFunddetail3.setTaxamount(tax.doubleValue()); serviceFunddetail3.setTaxTime(new Date()); if (ObjectUtils.isEmpty(serviceFund1.getFundtaxtime())) { serviceFunddetail3.setTaxTime(new Date()); } else { serviceFunddetail3.setTaxTime(serviceFund1.getFundtaxtime()); } logger.info("æå°serviceFunddetail3:{}", serviceFunddetail3); // å°è¯¥æ¡æ°æ®æ´æ° updateById(serviceFunddetail3); @@ -377,6 +398,9 @@ ServiceFund serviceFund = new ServiceFund(); serviceFund.setPretaxcost(pretaxcost.doubleValue()); serviceFund.setId(serviceFunddetails.get(0).getFundid()); if (ObjectUtils.isEmpty(serviceFund1.getFundtaxtime())) { serviceFund.setFundtaxtime(new Date()); } // 1 å·²ç®ç¨ serviceFund.setIstax(1); serviceFundMapper.updateById(serviceFund); ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
@@ -7,13 +7,16 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.project.domain.vo.MedicalEvaluationVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.ArrayList; import java.util.Map; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.mapper.ServiceMedicalevaluationMapper; import com.ruoyi.project.domain.ServiceMedicalevaluation; @@ -21,13 +24,13 @@ /** * å»å¦è¯ä¼°Serviceä¸å¡å±å¤ç * * * @author ruoyi * @date 2021-11-19 */ @Slf4j @Service public class ServiceMedicalevaluationServiceImpl extends ServiceImpl<ServiceMedicalevaluationMapper, ServiceMedicalevaluation> implements IServiceMedicalevaluationService { public class ServiceMedicalevaluationServiceImpl extends ServiceImpl<ServiceMedicalevaluationMapper, ServiceMedicalevaluation> implements IServiceMedicalevaluationService { @Autowired ServiceMedicalevaluationMapper serviceMedicalevaluationMapper; @@ -35,21 +38,21 @@ /** * æ¥è¯¢å»å¦è¯ä¼°å表 * * * @param serviceMedicalevaluation å»å¦è¯ä¼° * @return å»å¦è¯ä¼° */ @Override public List<ServiceMedicalevaluation> queryList(ServiceMedicalevaluation serviceMedicalevaluation) { LambdaQueryWrapper<ServiceMedicalevaluation> wrappers = Wrappers.lambdaQuery(); if (StringUtils.isNotNull(serviceMedicalevaluation.getId())){ wrappers.eq(ServiceMedicalevaluation::getId ,serviceMedicalevaluation.getId()); if (StringUtils.isNotNull(serviceMedicalevaluation.getId())) { wrappers.eq(ServiceMedicalevaluation::getId, serviceMedicalevaluation.getId()); } if (StringUtils.isNotNull(serviceMedicalevaluation.getInfoid())){ wrappers.eq(ServiceMedicalevaluation::getInfoid ,serviceMedicalevaluation.getInfoid()); if (StringUtils.isNotNull(serviceMedicalevaluation.getInfoid())) { wrappers.eq(ServiceMedicalevaluation::getInfoid, serviceMedicalevaluation.getInfoid()); } if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())){ wrappers.eq(ServiceMedicalevaluation::getDonorno ,serviceMedicalevaluation.getDonorno()); if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())) { wrappers.eq(ServiceMedicalevaluation::getDonorno, serviceMedicalevaluation.getDonorno()); } return this.list(wrappers); } @@ -58,17 +61,18 @@ public List<MedicalEvaluationVO> selectVOList(MedicalEvaluationVO medicalEvaluationVO) { SysUser user = SecurityUtils.getLoginUser().getUser(); List <SysRole> l = user.getRoles(); log.info("ç¨æ·çè§è²æ¯ï¼{}", user); List<SysRole> l = user.getRoles(); Boolean b = false; for(SysRole r : l){ if(r.getRoleId().longValue() == 3){ for (SysRole r : l) { if (r.getRoleId().longValue() == 3) { b = true; } } if(b){ if (b) { medicalEvaluationVO.setBasecreateby(user.getUserName()); } log.info("selectVOListçå ¥åæ¯ï¼{}", medicalEvaluationVO); return serviceMedicalevaluationMapper.selectVOList(medicalEvaluationVO); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -153,6 +153,16 @@ @Transactional public Boolean addSharedData(Long id) { log.info("addSharedDataæ¹æ³çå ¥åid :{}", id); //å 夿ä¸ä¸share表æ¯å¦å·²ç»æå ¥ ServiceReimbursementShared reimbursementShared1 = new ServiceReimbursementShared(); reimbursementShared1.setReimid(id); reimbursementShared1.setDelFlag(0L); List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1); if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) { return true; } //å¦ææ²¡ææå ¥ï¼åèµ°ä¸é¢çæµç¨ ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id); Map<String, Object> columnMap = new HashMap<>(); columnMap.put("rbid", id); @@ -214,8 +224,8 @@ } @Override public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE, Integer CHECKSTATUS,String donorname) { return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE, CHECKSTATUS,donorname); public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE, Integer CHECKSTATUS, String donorname) { return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE, CHECKSTATUS, donorname); } @Override ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -1,65 +1,106 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.project.mapper.ServiceDonationwitnessMapper"> <resultMap type="com.ruoyi.project.domain.ServiceDonationwitness" id="ServiceDonationwitnessResult"> <result property="id" column="ID" /> <result property="infoid" column="InfoID" /> <result property="donorno" column="DonorNo" /> <result property="gainhospitalno" column="GainHospitalNo" /> <result property="gainhospitalname" column="GainHospitalName" /> <result property="deathtime" column="DeathTime" /> <result property="deathreason" column="DeathReason" /> <result property="deathjudgedocto" column="DeathJudgeDoctO" /> <result property="deathjudgedoctt" column="DeathJudgeDoctT" /> <result property="deathjudgeannex" column="DeathJudgeAnnex" /> <result property="operationbegtime" column="OperationBegTime" /> <result property="operationendtime" column="OperationEndTime" /> <result property="operationdoctor" column="OperationDoctor" /> <result property="isspendremember" column="IsSpendRemember" /> <result property="isrestoreremains" column="IsRestoreRemains" /> <result property="rememberannex" column="RememberAnnex" /> <result property="responsibleuserid" column="ResponsibleUserID" /> <result property="responsibleusername" column="ResponsibleUserName" /> <result property="coordinateduserido" column="CoordinatedUserIDO" /> <result property="coordinatedusernameo" column="CoordinatedUserNameO" /> <result property="coordinateduseridt" column="CoordinatedUserIDT" /> <result property="coordinatedusernamet" column="CoordinatedUserNameT" /> <result property="abdominalaortacannulatime" column="AbdominalAortaCannulaTime" /> <result property="abdominalaortaperfusiontime" column="AbdominalAortaPerfusionTime" /> <result property="portalveincannulatime" column="PortalVeinCannulaTime" /> <result property="portalveinperfusiontime" column="PortalVeinPerfusionTime" /> <result property="pulmonaryarterycannulatime" column="PulmonaryArteryCannulaTime" /> <result property="pulmonaryarteryperfusiontime" column="PulmonaryArteryPerfusionTime" /> <result property="aortacannulatime" column="AortaCannulaTime" /> <result property="aortaperfusiontime" column="AortaPerfusionTime" /> <result property="del_flag" column="del_flag" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="organdonation" column="OrganDonation" /> <result property="organdonationOther" column="OrganDonation_Other" /> <result property="donationcategory" column="DonationCategory" /> <result property="id" column="ID"/> <result property="infoid" column="InfoID"/> <result property="donorno" column="DonorNo"/> <result property="gainhospitalno" column="GainHospitalNo"/> <result property="gainhospitalname" column="GainHospitalName"/> <result property="deathtime" column="DeathTime"/> <result property="deathreason" column="DeathReason"/> <result property="deathjudgedocto" column="DeathJudgeDoctO"/> <result property="deathjudgedoctt" column="DeathJudgeDoctT"/> <result property="deathjudgeannex" column="DeathJudgeAnnex"/> <result property="operationbegtime" column="OperationBegTime"/> <result property="operationendtime" column="OperationEndTime"/> <result property="operationdoctor" column="OperationDoctor"/> <result property="isspendremember" column="IsSpendRemember"/> <result property="isrestoreremains" column="IsRestoreRemains"/> <result property="rememberannex" column="RememberAnnex"/> <result property="responsibleuserid" column="ResponsibleUserID"/> <result property="responsibleusername" column="ResponsibleUserName"/> <result property="coordinateduserido" column="CoordinatedUserIDO"/> <result property="coordinatedusernameo" column="CoordinatedUserNameO"/> <result property="coordinateduseridt" column="CoordinatedUserIDT"/> <result property="coordinatedusernamet" column="CoordinatedUserNameT"/> <result property="abdominalaortacannulatime" column="AbdominalAortaCannulaTime"/> <result property="abdominalaortaperfusiontime" column="AbdominalAortaPerfusionTime"/> <result property="portalveincannulatime" column="PortalVeinCannulaTime"/> <result property="portalveinperfusiontime" column="PortalVeinPerfusionTime"/> <result property="pulmonaryarterycannulatime" column="PulmonaryArteryCannulaTime"/> <result property="pulmonaryarteryperfusiontime" column="PulmonaryArteryPerfusionTime"/> <result property="aortacannulatime" column="AortaCannulaTime"/> <result property="aortaperfusiontime" column="AortaPerfusionTime"/> <result property="del_flag" column="del_flag"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <result property="organdonation" column="OrganDonation"/> <result property="organdonationOther" column="OrganDonation_Other"/> <result property="donationcategory" column="DonationCategory"/> </resultMap> <sql id="selectServiceDonationwitnessVo"> select ID, InfoID, DonorNo, GainHospitalNo, GainHospitalName, DeathTime, DeathReason, DeathJudgeDoctO, DeathJudgeDoctT, DeathJudgeAnnex, OperationBegTime, OperationEndTime, OperationDoctor, IsSpendRemember, IsRestoreRemains, RememberAnnex, ResponsibleUserID, ResponsibleUserName, CoordinatedUserIDO, CoordinatedUserNameO, CoordinatedUserIDT, CoordinatedUserNameT, AbdominalAortaCannulaTime, AbdominalAortaPerfusionTime, PortalVeinCannulaTime, PortalVeinPerfusionTime, PulmonaryArteryCannulaTime, PulmonaryArteryPerfusionTime, AortaCannulaTime, AortaPerfusionTime, del_flag, create_by, create_time, update_by, update_time, OrganDonation, OrganDonation_Other, DonationCategory from service_donationwitness select ID, InfoID, DonorNo, GainHospitalNo, GainHospitalName, DeathTime, DeathReason, DeathJudgeDoctO, DeathJudgeDoctT, DeathJudgeAnnex, OperationBegTime, OperationEndTime, OperationDoctor, IsSpendRemember, IsRestoreRemains, RememberAnnex, ResponsibleUserID, ResponsibleUserName, CoordinatedUserIDO, CoordinatedUserNameO, CoordinatedUserIDT, CoordinatedUserNameT, AbdominalAortaCannulaTime, AbdominalAortaPerfusionTime, PortalVeinCannulaTime, PortalVeinPerfusionTime, PulmonaryArteryCannulaTime, PulmonaryArteryPerfusionTime, AortaCannulaTime, AortaPerfusionTime, del_flag, create_by, create_time, update_by, update_time, OrganDonation, OrganDonation_Other, DonationCategory from service_donationwitness </sql> <select id="selectServiceDonationwitnessList" parameterType="com.ruoyi.project.domain.ServiceDonationwitness" resultMap="ServiceDonationwitnessResult"> <select id="selectServiceDonationwitnessList" parameterType="com.ruoyi.project.domain.ServiceDonationwitness" resultMap="ServiceDonationwitnessResult"> <include refid="selectServiceDonationwitnessVo"/> <where> <if test="donorno != null and donorno != ''"> and DonorNo = #{donorno}</if> <if test="gainhospitalname != null and gainhospitalname != ''"> and GainHospitalName like concat('%', #{gainhospitalname}, '%')</if> <if test="operationdoctor != null and operationdoctor != ''"> and OperationDoctor = #{operationdoctor}</if> <if test="donorno != null and donorno != ''">and DonorNo = #{donorno}</if> <if test="gainhospitalname != null and gainhospitalname != ''">and GainHospitalName like concat('%', #{gainhospitalname}, '%') </if> <if test="operationdoctor != null and operationdoctor != ''">and OperationDoctor = #{operationdoctor}</if> </where> </select> <select id="selectVOList" resultType="com.ruoyi.project.domain.vo.DonationWitnessVO"> SELECT SELECT `service_donatebaseinfo`.`ID` AS `ID`, `service_donatebaseinfo`.`DonorNo` AS `DonorNo`, `service_donatebaseinfo`.`DonationCategory` AS `DonationCategory`, @@ -116,25 +157,34 @@ `service_donationwitness`.`create_time` AS `createtime`, `service_donationwitness`.`update_by` AS `updateby`, `service_donationwitness`.`update_time` AS `updatetime` FROM FROM `service_donatebaseinfo` LEFT JOIN `service_donationwitness` ON `service_donatebaseinfo`.`ID` = `service_donationwitness`.`InfoID` LEFT JOIN `base_organization` ON `base_organization`.`OrganizationID` = `service_donatebaseinfo`.`TreatmentHospitalNo` `service_donatebaseinfo` LEFT JOIN `service_donationwitness` ON `service_donatebaseinfo`.`ID` = `service_donationwitness`.`InfoID` LEFT JOIN `base_organization` ON `base_organization`.`OrganizationID` = `service_donatebaseinfo`.`TreatmentHospitalNo` <where> <if test="donorno != null and donorno != ''"> and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if> <if test="name != null and name != ''"> and `service_donatebaseinfo`.`Name` like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''"> and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if> <if test="treatmenthospitalno != null and treatmenthospitalno != ''"> and `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno}</if> <if test="recordstate != null and recordstate != ''"> and `service_donatebaseinfo`.`RecordState` = #{recordstate}</if> <if test="basecreateby != null and basecreateby != ''"> and `service_donatebaseinfo`.`create_by` = #{basecreateby}</if> <if test="starttime != null "> and `service_donationwitness`.OperationBegTime >= #{starttime} </if> <if test="endtime != null "> and `service_donationwitness`.OperationBegTime <= #{endtime}</if> <if test="reporterno != null and reporterno != ''"> and `service_donatebaseinfo`.ReporterNo = #{reporterno}</if> <if test="city != null and city != ''"> and `base_organization`.`City` = #{city}</if> <if test="donorno != null and donorno != ''">and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if> <if test="name != null and name != ''">and `service_donatebaseinfo`.`Name` like concat('%', #{name}, '%') </if> <if test="idcardno != null and idcardno != ''">and `service_donatebaseinfo`.`IDCardNo` = #{idcardno}</if> <if test="treatmenthospitalno != null and treatmenthospitalno != ''">and `service_donatebaseinfo`.`TreatmentHospitalNo` = #{treatmenthospitalno} </if> <if test="recordstate != null and recordstate != ''">and `service_donatebaseinfo`.`RecordState` = #{recordstate} </if> <if test="basecreateby != null and basecreateby != ''">and `service_donatebaseinfo`.`create_by` = #{basecreateby} </if> <if test="starttime != null ">and `service_donationwitness`.OperationBegTime >= #{starttime}</if> <if test="endtime != null ">and `service_donationwitness`.OperationBegTime <= #{endtime}</if> <if test="reporterno != null and reporterno != ''">and `service_donatebaseinfo`.ReporterNo = #{reporterno} </if> <if test="city != null and city != ''">and `base_organization`.`City` = #{city}</if> </where> order by `service_donationwitness`.`create_time` desc @@ -145,20 +195,20 @@ inner join service_donatebaseinfo b on w.InfoID = b.id inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID where w.DonationCategory = "DBD" <if test="starttime != null "> and w.OperationBegTime >= #{starttime} </if> <if test="endtime != null "> and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''"> and o.City = #{city} </if> <if test="reporterno != null and reporterno != ''"> and b.ReporterNo = #{reporterno}</if> <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if> <if test="endtime != null ">and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''">and o.City = #{city}</if> <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if> </select> <select id="getDCDDonaterNumberThisYear" resultType="java.lang.Integer"> select count(*) from service_donationwitness w inner join service_donatebaseinfo b on w.InfoID = b.id inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID where w.DonationCategory = "DCD" <if test="starttime != null "> and w.OperationBegTime >= #{starttime} </if> <if test="endtime != null "> and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''"> and o.City = #{city} </if> <if test="reporterno != null and reporterno != ''"> and b.ReporterNo = #{reporterno}</if> <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if> <if test="endtime != null ">and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''">and o.City = #{city}</if> <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if> </select> <select id="getDBCDDonaterNumberThisYear" resultType="java.lang.Integer"> @@ -166,22 +216,26 @@ inner join service_donatebaseinfo b on w.InfoID = b.id inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID where w.DonationCategory = "DBCD" <if test="starttime != null "> and w.OperationBegTime >= #{starttime} </if> <if test="endtime != null "> and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''"> and o.City = #{city} </if> <if test="reporterno != null and reporterno != ''"> and b.ReporterNo = #{reporterno}</if> <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if> <if test="endtime != null ">and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''">and o.City = #{city}</if> <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if> </select> <select id="getDonationCategoryByInfoId" resultType="java.lang.String"> select DonationCategory from service_donationwitness where InfoID = #{infoId} and del_flag = 0 select DonationCategory from service_donationwitness where InfoID = #{infoId} and del_flag = 0 </select> <select id="countNumber" resultType="java.lang.Integer"> select count(*) from service_donationwitness where OperationBegTime >= #{starttime} and OperationBegTime <= #{endtime} select count(*) from service_donationwitness where OperationBegTime >= #{starttime} and OperationBegTime <= #{endtime} </select> <select id="selectByInfoId" resultType="com.ruoyi.project.domain.ServiceDonationwitness"> <include refid="selectServiceDonationwitnessVo"/> where InfoID = #{infoid} where InfoID = #{infoid} and del_flag!=1 </select> <select id="getAllDonatePeople" resultType="com.ruoyi.project.domain.ServiceDonationwitness"> <include refid="selectServiceDonationwitnessVo"/> @@ -191,10 +245,10 @@ inner join service_donatebaseinfo b on w.InfoID = b.id inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID <where> <if test="starttime != null "> and w.OperationBegTime >= #{starttime} </if> <if test="endtime != null "> and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''"> and o.City = #{city} </if> <if test="reporterno != null and reporterno != ''"> and b.ReporterNo = #{reporterno}</if> <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if> <if test="endtime != null ">and w.OperationBegTime <= #{endtime}</if> <if test="city != null and city != ''">and o.City = #{city}</if> <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if> </where> </select> <select id="getWitnessList" resultType="com.ruoyi.project.domain.ServiceDonationwitness"> ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml
@@ -58,6 +58,7 @@ <result property="checkstatus" column="checkstatus"/> <result property="performancetype" column="performancetype"/> <result property="istax" column="istax"/> <result property="fundtaxtime" column="fundtaxtime"/> </resultMap> @@ -115,7 +116,8 @@ bh, checkstatus, performancetype, istax istax, fundtaxtime from service_fund </sql> ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml
@@ -263,13 +263,18 @@ <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 IDCardNo = #{IDCard} and ApplyType in (1, 2) SELECT sum(a.Amount) amounts, sum(a.TaxAmount) taxAmounts, sum(a.TaxedAmount) taxedAmounts FROM service_funddetail a,service_fund b where a.FundID = b.id and a.tax_time < #{taxTime} and a.tax_time >= #{firstDay} and a.IDCardNo = #{IDCard} and a.del_flag != 1 and b.id != #{fundID} and b.fundtaxtime < #{taxTime} and b.fundtaxtime >= #{firstDay} and b.del_flag != 1 and b.ApplyType in (1, 2) </select> <select id="totlaTax" resultType="com.ruoyi.project.domain.ServiceFunddetail">