金额税额计算接口

beta-enc
kane 2 years ago
parent 413c777a55
commit 031afeaec3
  1. 18
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxCalculateController.java
  2. 38
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxSwitchingController.java
  3. 2
      jianshui-platform/src/main/java/com/jianshui/platform/dto/TaxCalculateDTO.java
  4. 9
      jianshui-platform/src/main/java/com/jianshui/platform/service/impl/TaxCalculateServiceImpl.java

@ -2,7 +2,9 @@ package com.jianshui.web.controller.platform;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.platform.dto.TaxCalculateDTO;
import com.jianshui.platform.dto.TaxSwitchingDTO;
import com.jianshui.platform.service.TaxCalculateService;
import com.jianshui.platform.service.TaxSwitchingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -11,13 +13,15 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author: kane
* @Description: 税额税额计算控制类
* @CreateTime: 2023-06-07 17:41
* @Version: 1.0
**/
@Api(tags = "额税额计算",value = "额税额计算")
@Api(tags = "额税额计算",value = "额税额计算")
@RestController
@RequestMapping("/platForm/taxCalculate")
public class TaxCalculateController {
@ -25,9 +29,19 @@ public class TaxCalculateController {
@Autowired
private TaxCalculateService taxCalculateService;
@ApiOperation("税额税额计算")
@Autowired
private TaxSwitchingService taxSwitchingService;
@ApiOperation("金额税额计算")
@PostMapping("/calculate")
public AjaxResult taxCalculate(@RequestBody TaxCalculateDTO taxCalculateDTO){
return taxCalculateService.taxCalculate(taxCalculateDTO);
}
@ApiOperation("含税不含税切换")
@PostMapping("/taxSwitching")
public AjaxResult taxSwitching(@RequestBody List<TaxSwitchingDTO> dtos){
return taxSwitchingService.taxswitching(dtos);
}
}

@ -1,38 +0,0 @@
package com.jianshui.web.controller.platform;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.platform.dto.TaxCalculateDTO;
import com.jianshui.platform.dto.TaxSwitchingDTO;
import com.jianshui.platform.service.TaxSwitchingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author: kane
* @Description: 含税不含税切换控制类
* @CreateTime: 2023-06-07 12:01
* @Version: 1.0
**/
@Api(tags = "含税不含税切换",value = "含税不含税切换")
@RestController
@RequestMapping("/platForm/taxSwitching")
public class TaxSwitchingController {
@Autowired
private TaxSwitchingService taxSwitchingService;
@ApiOperation("含税不含税切换")
@PostMapping("/switching")
public AjaxResult taxSwitching(@RequestBody List<TaxSwitchingDTO> dtos){
return taxSwitchingService.taxswitching(dtos);
}
}

@ -3,8 +3,6 @@ package com.jianshui.platform.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ -6,9 +6,7 @@ import com.jianshui.platform.dto.TaxCalculateDTO;
import com.jianshui.platform.service.TaxCalculateService;
import com.jianshui.platform.vo.TaxCalculateVO;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* @Author: kane
@ -29,18 +27,17 @@ public class TaxCalculateServiceImpl implements TaxCalculateService {
ValidateUtils.validate(taxCalculateDTO);
//含税金额
BigDecimal money = taxCalculateDTO.getNumber().multiply(taxCalculateDTO.getUnitPrice());
BigDecimal moneyResult = money.setScale(2);
BigDecimal moneyResult = money.setScale(2,BigDecimal.ROUND_HALF_UP);
//税率计算
BigDecimal taxRate = taxCalculateDTO.getTaxRate().divide(new BigDecimal("100"));
BigDecimal taxRateResult = taxRate.add(new BigDecimal("1"));
//税额
BigDecimal taxMoney = money.multiply(taxRate).divide(taxRateResult,BigDecimal.ROUND_HALF_UP);
BigDecimal taxMoneyResult = taxMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal taxMoney = money.multiply(taxRate).divide(taxRateResult,2,BigDecimal.ROUND_HALF_UP);
//封装实体类
TaxCalculateVO taxCalculateVO = new TaxCalculateVO();
taxCalculateVO.setId(taxCalculateDTO.getId());
taxCalculateVO.setMoney(moneyResult);
taxCalculateVO.setTaxMoney(taxMoneyResult);
taxCalculateVO.setTaxMoney(taxMoney);
return AjaxResult.success(taxCalculateVO);
}
}

Loading…
Cancel
Save