From be2309ff7ce036142e3c3ef22cd790d8ad954117 Mon Sep 17 00:00:00 2001 From: kane Date: Wed, 7 Jun 2023 14:57:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E5=88=87=E6=8D=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/InvoiceDeliveryController.java | 4 +- .../platform/TaxSwitchingController.java | 34 ++++++++++++ .../platform/dto/TaxSwitchingDTO.java | 37 +++++++++++++ .../platform/service/TaxSwitchingService.java | 20 +++++++ .../service/impl/TaxSwitchingServiceImpl.java | 53 +++++++++++++++++++ .../jianshui/platform/vo/TaxSwitchingVO.java | 37 +++++++++++++ 6 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxSwitchingController.java create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/dto/TaxSwitchingDTO.java create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/service/TaxSwitchingService.java create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/service/impl/TaxSwitchingServiceImpl.java create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/vo/TaxSwitchingVO.java diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceDeliveryController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceDeliveryController.java index c5fe3c9..2c99cdd 100644 --- a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceDeliveryController.java +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceDeliveryController.java @@ -21,14 +21,14 @@ import java.util.List; **/ @Api(tags={"发票交付"},value = "发票交付") @RestController -@RequestMapping("/platForm") +@RequestMapping("/platForm/invoiceDelivery") public class InvoiceDeliveryController { @Autowired private InvoiceDeliveryService invoiceDeliveryService; @ApiOperation("发票交付") - @PostMapping("/invoiceDelivery") + @PostMapping("/delivery") public Object invoiceDelivery(@RequestBody List dtos){ HXResponse response = invoiceDeliveryService.invoiceDelivery(dtos); return response; diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxSwitchingController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxSwitchingController.java new file mode 100644 index 0000000..1ed0f54 --- /dev/null +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/TaxSwitchingController.java @@ -0,0 +1,34 @@ +package com.jianshui.web.controller.platform; + +import com.jianshui.common.core.domain.AjaxResult; +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; + + +/** + * @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 TaxSwitchingDTO dto){ + return taxSwitchingService.taxswitching(dto); + } +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/dto/TaxSwitchingDTO.java b/jianshui-platform/src/main/java/com/jianshui/platform/dto/TaxSwitchingDTO.java new file mode 100644 index 0000000..def9b83 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/dto/TaxSwitchingDTO.java @@ -0,0 +1,37 @@ +package com.jianshui.platform.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: kane + * @Description: 含税不含税转换传输类 + * @CreateTime: 2023-06-07 13:46 + * @Version: 1.0 + **/ +@ApiModel("含税不含税转换") +@Data +public class TaxSwitchingDTO { + @ApiModelProperty("货物或应税劳务、服务名称") + private String taxName; + @ApiModelProperty("规格型号") + private String specification; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("数量") + private BigDecimal number; + @ApiModelProperty("单价") + private BigDecimal unitPrice; + @ApiModelProperty("金额") + private BigDecimal money; + @ApiModelProperty("税率") + private BigDecimal taxRate; + @ApiModelProperty("税额") + private BigDecimal taxMoney; + @ApiModelProperty("状态0-含税,1-不含税") + private String status; + +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/TaxSwitchingService.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/TaxSwitchingService.java new file mode 100644 index 0000000..988a964 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/TaxSwitchingService.java @@ -0,0 +1,20 @@ +package com.jianshui.platform.service; + +import com.jianshui.common.core.domain.AjaxResult; +import com.jianshui.platform.dto.TaxSwitchingDTO; + +/** + * @Author: kane + * @Description: 含税不含税切换业务层 + * @CreateTime: 2023-06-07 13:40 + * @Version: 1.0 + **/ +public interface TaxSwitchingService { + + /** + * 功能描述: 含税不含税切换计算 + * @param dto + * @return : com.jianshui.common.core.domain.AjaxResult + */ + AjaxResult taxswitching(TaxSwitchingDTO dto); +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/TaxSwitchingServiceImpl.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/TaxSwitchingServiceImpl.java new file mode 100644 index 0000000..087fa10 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/TaxSwitchingServiceImpl.java @@ -0,0 +1,53 @@ +package com.jianshui.platform.service.impl; + +import com.jianshui.common.core.domain.AjaxResult; +import com.jianshui.common.utils.bean.BeanUtils; +import com.jianshui.platform.dto.TaxSwitchingDTO; +import com.jianshui.platform.service.TaxSwitchingService; +import com.jianshui.platform.vo.TaxSwitchingVO; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; + +/** + * @Author: kane + * @Description: 含税不含税业务层 + * @CreateTime: 2023-06-07 13:40 + * @Version: 1.0 + **/ +@Service +public class TaxSwitchingServiceImpl implements TaxSwitchingService { + /** + * 功能描述: 含税不含税切换计算 + * @param dto + * @return : com.jianshui.common.core.domain.AjaxResult + */ + @Override + public AjaxResult taxswitching(TaxSwitchingDTO dto) { + //判空 + if (dto == null){ + return AjaxResult.error("未传入发票相关信息,请检查!"); + } + //实体类转换 + TaxSwitchingVO taxSwitchingVO = new TaxSwitchingVO(); + BeanUtils.copyProperties(dto,taxSwitchingVO); + //判断是否为含税 + if ("0".equals(dto.getStatus())){ + //含税改为非含税返回 + taxSwitchingVO.setStatus("1"); + //单个商品税额 + BigDecimal taxMoney = dto.getTaxMoney().divide(dto.getNumber()); + taxSwitchingVO.setUnitPrice(dto.getUnitPrice().subtract(taxMoney)); + taxSwitchingVO.setMoney(dto.getMoney().subtract(dto.getTaxMoney())); + return AjaxResult.success(taxSwitchingVO); + }else { + //非含税改为含税返回 + taxSwitchingVO.setStatus("0"); + //单个商品税额 + BigDecimal taxMoney = dto.getTaxMoney().divide(dto.getNumber()); + taxSwitchingVO.setUnitPrice(dto.getUnitPrice().add(taxMoney)); + taxSwitchingVO.setMoney(dto.getMoney().add(dto.getTaxMoney())); + return AjaxResult.success(taxSwitchingVO); + } + } +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/vo/TaxSwitchingVO.java b/jianshui-platform/src/main/java/com/jianshui/platform/vo/TaxSwitchingVO.java new file mode 100644 index 0000000..13935cd --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/vo/TaxSwitchingVO.java @@ -0,0 +1,37 @@ +package com.jianshui.platform.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: kane + * @Description: 含税不含税转换 + * @CreateTime: 2023-06-07 13:46 + * @Version: 1.0 + **/ +@ApiModel("含税不含税转换") +@Data +public class TaxSwitchingVO { + @ApiModelProperty("货物或应税劳务、服务名称") + private String taxName; + @ApiModelProperty("规格型号") + private String specification; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("数量") + private BigDecimal number; + @ApiModelProperty("单价") + private BigDecimal unitPrice; + @ApiModelProperty("金额") + private BigDecimal money; + @ApiModelProperty("税率") + private BigDecimal taxRate; + @ApiModelProperty("税额") + private BigDecimal taxMoney; + @ApiModelProperty("状态") + private String status; + +}