当前位置: 首页 > wzjs >正文

优购物官方网站女鞋无锡营销型网站建设

优购物官方网站女鞋,无锡营销型网站建设,军刀seo,做淘客网站需要多大的空间Drools实战 1 个人所得税计算器 本小节我们需要通过Drools规则引擎来根据规则计算个人所得税,最终页面效果如下: 1.1 名词解释 税前月收入:即税前工资,指交纳个人所得税之前的总工资 应纳税所得额:指按照税法规定确定纳税人在一定期间所获得的所有应税收入减除在该纳…

Drools实战

1 个人所得税计算器

本小节我们需要通过Drools规则引擎来根据规则计算个人所得税,最终页面效果如下:
在这里插入图片描述

1.1 名词解释

税前月收入:即税前工资,指交纳个人所得税之前的总工资

应纳税所得额:指按照税法规定确定纳税人在一定期间所获得的所有应税收入减除在该纳税期间依法允许减除的各种支出后的余额

税率:是对征税对象的征收比例或征收额度

速算扣除数:指为解决超额累进税率分级计算税额的复杂技术问题,而预先计算出的一个数据,可以简化计算过程

扣税额:是指实际缴纳的税额

税后工资:是指扣完税后实际到手的工资收入

1.2 计算规则

要实现个人所得税计算器,需要了解如下计算规则:

规则编号名称描述
1计算应纳税所得额应纳税所得额为税前工资减去3500
2设置税率,应纳税所得额<=1500税率为0.03,速算扣除数为0
3设置税率,应纳税所得额在1500至4500之间税率为0.1,速算扣除数为105
4设置税率,应纳税所得额在4500志9000之间税率为0.2,速算扣除数为555
5设置税率,应纳税所得额在9000志35000之间税率为0.25,速算扣除数为1005
6设置税率,应纳税所得额在35000至55000之间税率为0.3,速算扣除数为2755
7设置税率,应纳税所得额在55000至80000之间税率为0.35,速算扣除数为5505
8设置税率,应纳税所得额在80000以上税率为0.45,速算扣除数为13505
9计算税后工资扣税额=应纳税所得额*税率-速算扣除数 税后工资=税前工资-扣税额

1.3 实现步骤

本实战案例我们基于Spring Boot整合Drools的方式来实现。

第一步:创建maven工程calculation并配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starters</artifactId><version>2.0.6.RELEASE</version></parent><groupId>cn.itcast</groupId><artifactId>calculation</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><!--drools规则引擎--><dependency><groupId>org.drools</groupId><artifactId>drools-core</artifactId><version>7.6.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-compiler</artifactId><version>7.6.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-templates</artifactId><version>7.6.0.Final</version></dependency><dependency><groupId>org.kie</groupId><artifactId>kie-api</artifactId><version>7.6.0.Final</version></dependency><dependency><groupId>org.kie</groupId><artifactId>kie-spring</artifactId><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></exclusion><exclusion><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></exclusion><exclusion><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></exclusion><exclusion><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></exclusion></exclusions><version>7.6.0.Final</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.*</include></includes><filtering>false</filtering></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

第二步:创建/resources/application.yml文件

server:port: 8080
spring:application:name: calculation

第三步:编写配置类DroolsConfig

package com.itheima.drools.config;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.builder.KieBuilder;
import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.KieRepository;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.io.ResourceFactory;
import org.kie.spring.KModuleBeanFactoryPostProcessor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.core.io.Resource;
import java.io.IOException;
/*** 规则引擎配置类*/
@Configuration
public class DroolsConfig {//指定规则文件存放的目录private static final String RULES_PATH = "rules/";private final KieServices kieServices = KieServices.Factory.get();@Bean@ConditionalOnMissingBeanpublic KieFileSystem kieFileSystem() throws IOException {System.setProperty("drools.dateformat","yyyy-MM-dd");KieFileSystem kieFileSystem = kieServices.newKieFileSystem();ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();Resource[] files = resourcePatternResolver.getResources("classpath*:" + RULES_PATH + "*.*");String path = null;for (Resource file : files) {path = RULES_PATH + file.getFilename();kieFileSystem.write(ResourceFactory.newClassPathResource(path, "UTF-8"));}return kieFileSystem;}@Bean@ConditionalOnMissingBeanpublic KieContainer kieContainer() throws IOException {KieRepository kieRepository = kieServices.getRepository();kieRepository.addKieModule(kieRepository::getDefaultReleaseId);KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem());kieBuilder.buildAll();return kieServices.newKieContainer(kieRepository.getDefaultReleaseId());}@Bean@ConditionalOnMissingBeanpublic KieBase kieBase() throws IOException {return kieContainer().getKieBase();}@Bean@ConditionalOnMissingBeanpublic KModuleBeanFactoryPostProcessor kiePostProcessor() {return new KModuleBeanFactoryPostProcessor();}
}

第四步:编写实体类Calculation

package com.itheima.drools.entity;public class Calculation {private double wage;//税前工资private double wagemore;//应纳税所得额private double cess;//税率private double preminus;//速算扣除数private double wageminus;//扣税额private double actualwage;//税后工资public double getWage() {return wage;}public void setWage(double wage) {this.wage = wage;}public double getActualwage() {return actualwage;}public void setActualwage(double actualwage) {this.actualwage = actualwage;}public double getWagemore() {return wagemore;}public void setWagemore(double wagemore) {this.wagemore = wagemore;}public double getCess() {return cess;}public void setCess(double cess) {this.cess = cess;}public double getPreminus() {return preminus;}public void setPreminus(double preminus) {this.preminus = preminus;}public double getWageminus() {return wageminus;}public void setWageminus(double wageminus) {this.wageminus = wageminus;}@Overridepublic String toString() {return "Calculation{" +"wage=" +
http://www.dtcms.com/wzjs/209921.html

相关文章:

  • 帝国cms做漫画网站教程百度推广靠谱吗
  • 可以做微商的网站网络seo啥意思
  • 怎样联系自己建设网站怎么推广公司网站
  • 网站ip地址 转向域名seo内部优化具体做什么
  • 济南市建设局官网域名seo查询
  • 沈阳人流哪个医院好安全seo 0xu
  • 全球新冠疫情重庆seo优化效果好
  • 网站建设方案200字seo整站优化多少钱
  • 我的世界做图片的网站最近发生的热点新闻事件
  • 网站建设煊煊网搜索关键词网站
  • 手机网站建设维护电脑清理优化大师
  • 有没有专门做二手的网站企业网站优化价格
  • 5种可以给网站带来流量的方式什么公司适合做seo优化
  • 网站导航设计模板源码扬州整站seo
  • 东莞专业网站推广公司搜索引擎调词平台哪个好
  • 肥乡企业做网站推广热搜榜排名今日第一
  • 推荐网站建设服务商品牌宣传方式
  • 网购平台有哪些优化软件有哪些
  • 网页布局网站广告营销策略有哪些
  • 2023营业执照年检入口官网重庆网站优化
  • 制作公司网站有哪些好处百度一下官网首页
  • 贵阳网站建设有限公司上海企业优化
  • 奥派电子商务网站建设论文百度软件中心下载安装
  • 网站建设和网络优化seo建站收费地震
  • 定制型网站如何去推广
  • 站长工具权重seo竞价培训
  • 做网站博彩代理违法吗百度推广代理怎么加盟
  • mac怎么做网站设计杭州seo靠谱
  • 荣泰建设集团网站网站百度权重查询
  • 软件开发工具的基本功能湖南seo推广软件