This commit is contained in:
钱涛 2023-07-20 09:58:27 +08:00
parent 4a74e5ea40
commit ca2911e2c5
145 changed files with 9048 additions and 407 deletions

View File

@ -0,0 +1,2 @@
hrsa_tax_declare_api_profile

View File

@ -0,0 +1,34 @@
create table hrsa_tax_declare_api_profile
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar(10),
api_profile int
);
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key);
/
create table hrsa_tax_payment_request
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar(10),
tax_agent_id number not null,
tax_declare_record_id number,
tax_year_month date not null,
request_id varchar(50) not null,
request_type int not null
);
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key);
/

View File

@ -0,0 +1,38 @@
create table hrsa_tax_declare_api_config
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
host varchar2(255),
app_key varchar2(255),
app_secret varchar2(255)
);
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key);
/
alter table hrsa_tax_declare_api_config modify host not null;
/
alter table hrsa_tax_declare_api_config modify app_key not null;
/
alter table hrsa_tax_declare_api_config modify app_secret not null;
/
alter table hrsa_tax_declare_api_config add enable_use int;
/
alter table hrsa_tax_declare_api_config add totality number;
/
alter table hrsa_tax_declare_api_config add remain number;
/
alter table hrsa_tax_declare_api_config add last_update_time date;
/

View File

@ -0,0 +1,31 @@
create table hrsa_tax_agent_tax_return
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_code varchar2(50) not null,
tax_registration_number varchar2(50) not null,
department_code varchar2(50),
department_name varchar2(50),
nation varchar2(50),
province varchar2(50),
city varchar2(50),
area_code varchar2(50) not null,
password_type int not null,
real_account varchar2(50) ,
pwd varchar2(50) not null,
check_status int not null,
fail_reason varchar2(255)
);
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key);
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id);
/

View File

@ -0,0 +1,34 @@
create table hrsa_tax_declare_api_profile
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
api_profile int
);
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key);
/
create table hrsa_tax_payment_request
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_declare_record_id number,
tax_year_month date not null,
request_id varchar2(50) not null,
request_type int not null
);
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key);
/

View File

@ -0,0 +1,38 @@
create table hrsa_tax_declare_api_config
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
host varchar2(255),
app_key varchar2(255),
app_secret varchar2(255)
);
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key);
/
alter table hrsa_tax_declare_api_config modify host not null;
/
alter table hrsa_tax_declare_api_config modify app_key not null;
/
alter table hrsa_tax_declare_api_config modify app_secret not null;
/
alter table hrsa_tax_declare_api_config add enable_use int;
/
alter table hrsa_tax_declare_api_config add totality number;
/
alter table hrsa_tax_declare_api_config add remain number;
/
alter table hrsa_tax_declare_api_config add last_update_time date;
/

View File

@ -0,0 +1,31 @@
create table hrsa_tax_agent_tax_return
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_code varchar2(50) not null,
tax_registration_number varchar2(50) not null,
department_code varchar2(50),
department_name varchar2(50),
nation varchar2(50),
province varchar2(50),
city varchar2(50),
area_code varchar2(50) not null,
password_type int not null,
real_account varchar2(50) ,
pwd varchar2(50) not null,
check_status int not null,
fail_reason varchar2(255)
);
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key);
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id);
/

View File

@ -0,0 +1,34 @@
create table hrsa_tax_declare_api_profile
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
api_profile int
);
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key);
/
create table hrsa_tax_payment_request
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_declare_record_id number,
tax_year_month date not null,
request_id varchar2(50) not null,
request_type int not null
);
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key);
/

View File

@ -0,0 +1,38 @@
create table hrsa_tax_declare_api_config
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
host varchar2(255),
app_key varchar2(255),
app_secret varchar2(255)
);
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key);
/
alter table hrsa_tax_declare_api_config modify host not null;
/
alter table hrsa_tax_declare_api_config modify app_key not null;
/
alter table hrsa_tax_declare_api_config modify app_secret not null;
/
alter table hrsa_tax_declare_api_config add enable_use int;
/
alter table hrsa_tax_declare_api_config add totality number;
/
alter table hrsa_tax_declare_api_config add remain number;
/
alter table hrsa_tax_declare_api_config add last_update_time date;
/

View File

@ -0,0 +1,31 @@
create table hrsa_tax_agent_tax_return
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_code varchar2(50) not null,
tax_registration_number varchar2(50) not null,
department_code varchar2(50),
department_name varchar2(50),
nation varchar2(50),
province varchar2(50),
city varchar2(50),
area_code varchar2(50) not null,
password_type int not null,
real_account varchar2(50) ,
pwd varchar2(50) not null,
check_status int not null,
fail_reason varchar2(255)
);
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key);
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id);
/

View File

@ -0,0 +1,8 @@
alter table hrsa_tax_agent add tax_cycle_type int
;
alter table hrsa_tax_agent modify column tax_cycle_type int default 3
;
update hrsa_tax_agent set tax_cycle_type = 3 where tax_cycle_type is null
;

View File

@ -0,0 +1,33 @@
create table hrsa_tax_declare_api_profile
(
id bigint primary key comment 'ID' ,
create_time datetime comment '创建时间' ,
update_time datetime comment '修改时间' ,
creator bigint comment '创建人id' ,
delete_type int default 0 comment '是否删除' ,
tenant_key varchar(10) comment '租户KEY' ,
api_profile int comment '接口环境'
)
;
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key)
;
create table hrsa_tax_payment_request
(
id bigint primary key comment 'ID' ,
create_time datetime comment '创建时间' ,
update_time datetime comment '修改时间' ,
creator bigint comment '创建人id' ,
delete_type int default 0 comment '是否删除' ,
tenant_key varchar(10) comment '租户KEY' ,
tax_agent_id bigint not null comment '个税扣缴义务人ID' ,
tax_declare_record_id bigint comment '个税申报记录' ,
tax_year_month date not null comment '税款所属期' ,
request_id varchar(50) not null comment '请求id' ,
request_type int not null comment '请求类型'
)
;
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key)
;

View File

@ -0,0 +1,37 @@
create table hrsa_tax_declare_api_config
(
id bigint primary key comment 'ID' ,
create_time datetime comment '创建时间' ,
update_time datetime comment '修改时间' ,
creator bigint comment '创建人id' ,
delete_type int default 0 comment '是否删除' ,
tenant_key varchar(10) comment '租户KEY' ,
host varchar(255) comment '接口host' ,
app_key varchar(255) comment 'appKey' ,
app_secret varchar(255) comment 'appSecret'
)
;
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key)
;
alter table hrsa_tax_declare_api_config modify host varchar(255) not null
;
alter table hrsa_tax_declare_api_config modify app_key varchar(255) not null
;
alter table hrsa_tax_declare_api_config modify app_secret varchar(255) not null
;
alter table hrsa_tax_declare_api_config add enable_use int
;
alter table hrsa_tax_declare_api_config add totality bigint
;
alter table hrsa_tax_declare_api_config add remain bigint
;
alter table hrsa_tax_declare_api_config add last_update_time datetime
;

View File

@ -0,0 +1,30 @@
create table hrsa_tax_agent_tax_return
(
id bigint primary key comment 'ID' ,
create_time datetime comment '创建时间' ,
update_time datetime comment '修改时间' ,
creator bigint comment '创建人id' ,
delete_type int default 0 comment '是否删除' ,
tenant_key varchar(10) comment '租户KEY' ,
tax_agent_id bigint not null comment '个税扣缴义务人ID' ,
tax_code varchar(50) not null comment '税号' ,
tax_registration_number varchar(50) not null comment '登记序号' ,
department_code varchar(50) comment '部门编号' ,
department_name varchar(50) comment '部门名称' ,
nation varchar(50) comment '国家' ,
province varchar(50) comment '省份' ,
city varchar(50) comment '市级' ,
area_code varchar(50) not null comment '行政编码' ,
password_type int(2) not null comment '密码校验类型' ,
real_account varchar(50) comment '实名账号' ,
pwd varchar(50) not null comment '密码' ,
check_status int(2) not null comment '报税验证状态' ,
fail_reason varchar(255) comment '最近一次验证失败原因'
)
;
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key)
;
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id)
;

View File

@ -0,0 +1,33 @@
create table hrsa_tax_declare_api_profile
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
api_profile int
)
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key)
/
create table hrsa_tax_payment_request
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_declare_record_id number,
tax_year_month date not null,
request_id varchar2(50) not null,
request_type int not null
)
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key)
/

View File

@ -0,0 +1,37 @@
create table hrsa_tax_declare_api_config
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
host varchar2(255),
app_key varchar2(255),
app_secret varchar2(255)
)
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key)
/
alter table hrsa_tax_declare_api_config modify host not null
/
alter table hrsa_tax_declare_api_config modify app_key not null
/
alter table hrsa_tax_declare_api_config modify app_secret not null
/
alter table hrsa_tax_declare_api_config add enable_use int
/
alter table hrsa_tax_declare_api_config add totality number
/
alter table hrsa_tax_declare_api_config add remain number
/
alter table hrsa_tax_declare_api_config add last_update_time date
/

View File

@ -0,0 +1,30 @@
create table hrsa_tax_agent_tax_return
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_code varchar2(50) not null,
tax_registration_number varchar2(50) not null,
department_code varchar2(50),
department_name varchar2(50),
nation varchar2(50),
province varchar2(50),
city varchar2(50),
area_code varchar2(50) not null,
password_type int not null,
real_account varchar2(50) ,
pwd varchar2(50) not null,
check_status int not null,
fail_reason varchar2(255)
)
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key)
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id)
/

View File

@ -0,0 +1,33 @@
create table hrsa_tax_declare_api_profile
(
id bigint primary key ,
create_time timestamp,
update_time timestamp,
creator bigint,
delete_type int default 0,
tenant_key varchar(10),
api_profile int
);
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key);
/
create table hrsa_tax_payment_request
(
id bigint primary key ,
create_time timestamp,
update_time timestamp,
creator bigint,
delete_type int default 0,
tenant_key varchar(10),
tax_agent_id bigint not null,
tax_declare_record_id bigint,
tax_year_month date not null,
request_id varchar(50) not null,
request_type int not null
);
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key);
/

View File

@ -0,0 +1,37 @@
create table hrsa_tax_declare_api_config
(
id bigint primary key ,
create_time timestamp,
update_time timestamp,
creator bigint,
delete_type int default 0,
tenant_key varchar(10),
host varchar(255),
app_key varchar(255),
app_secret varchar(255)
);
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key);
/
alter table hrsa_tax_declare_api_config alter column host set not null ;
/
alter table hrsa_tax_declare_api_config alter column app_key set not null ;
/
alter table hrsa_tax_declare_api_config alter column app_secret set not null ;
/
alter table hrsa_tax_declare_api_config add enable_use int;
/
alter table hrsa_tax_declare_api_config add totality bigint;
/
alter table hrsa_tax_declare_api_config add remain bigint;
/
alter table hrsa_tax_declare_api_config add last_update_time timestamp;
/

View File

@ -0,0 +1,30 @@
create table hrsa_tax_agent_tax_return
(
id bigint primary key ,
create_time timestamp,
update_time timestamp,
creator bigint,
delete_type int default 0,
tenant_key varchar(10),
tax_agent_id bigint not null,
tax_code varchar(50) not null,
tax_registration_number varchar(50) not null,
department_code varchar(50),
department_name varchar(50),
nation varchar(50),
province varchar(50),
city varchar(50),
area_code varchar(50) not null,
password_type int not null,
real_account varchar(50),
pwd varchar(50) not null,
check_status int not null,
fail_reason varchar(255)
);
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key);
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id);
/

View File

@ -0,0 +1,33 @@
create table hrsa_tax_declare_api_profile
(
id bigint primary key ,
create_time datetime,
update_time datetime,
creator bigint,
delete_type int default 0,
tenant_key nvarchar(10),
api_profile int
)
GO
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key)
GO
create table hrsa_tax_payment_request
(
id bigint primary key ,
create_time datetime,
update_time datetime,
creator bigint,
delete_type int default 0,
tenant_key nvarchar(10),
tax_agent_id bigint not null,
tax_declare_record_id bigint,
tax_year_month datetime not null,
request_id nvarchar(50) not null,
request_type int not null
)
GO
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key)
GO

View File

@ -0,0 +1,37 @@
create table hrsa_tax_declare_api_config
(
id bigint primary key ,
create_time datetime,
update_time datetime,
creator bigint,
delete_type int default 0,
tenant_key nvarchar(10),
host nvarchar(255),
app_key nvarchar(255),
app_secret nvarchar(255)
)
GO
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key)
GO
alter table hrsa_tax_declare_api_config alter column host nvarchar(255) not null
GO
alter table hrsa_tax_declare_api_config alter column app_key nvarchar(255) not null
GO
alter table hrsa_tax_declare_api_config alter column app_secret nvarchar(255) not null
GO
alter table hrsa_tax_declare_api_config add enable_use int
GO
alter table hrsa_tax_declare_api_config add totality bigint
GO
alter table hrsa_tax_declare_api_config add remain bigint
GO
alter table hrsa_tax_declare_api_config add last_update_time datetime
GO

View File

@ -0,0 +1,30 @@
create table hrsa_tax_agent_tax_return
(
id bigint primary key ,
create_time datetime,
update_time datetime,
creator bigint,
delete_type int default 0,
tenant_key nvarchar(10),
tax_agent_id bigint not null,
tax_code nvarchar(50) not null,
tax_registration_number nvarchar(50) not null,
department_code nvarchar(50),
department_name nvarchar(50),
nation nvarchar(50),
province nvarchar(50),
city nvarchar(50),
area_code nvarchar(50) not null,
password_type int not null,
real_account nvarchar(50) ,
pwd nvarchar(50) not null,
check_status int not null,
fail_reason nvarchar(255)
)
GO
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key)
GO
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id)
GO

View File

@ -0,0 +1,34 @@
create table hrsa_tax_declare_api_profile
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
api_profile int
);
/
create index id_tenant_key_22b215db on hrsa_tax_declare_api_profile(tenant_key);
/
create table hrsa_tax_payment_request
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_declare_record_id number,
tax_year_month date not null,
request_id varchar2(50) not null,
request_type int not null
);
/
create index id_tenant_key_bcb610c7 on hrsa_tax_payment_request(tenant_key);
/

View File

@ -0,0 +1,38 @@
create table hrsa_tax_declare_api_config
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
host varchar2(255),
app_key varchar2(255),
app_secret varchar2(255)
);
/
create unique index idx_tenant_key_api_a6f21b46 on hrsa_tax_declare_api_config(tenant_key);
/
alter table hrsa_tax_declare_api_config modify host not null;
/
alter table hrsa_tax_declare_api_config modify app_key not null;
/
alter table hrsa_tax_declare_api_config modify app_secret not null;
/
alter table hrsa_tax_declare_api_config add enable_use int;
/
alter table hrsa_tax_declare_api_config add totality number;
/
alter table hrsa_tax_declare_api_config add remain number;
/
alter table hrsa_tax_declare_api_config add last_update_time date;
/

View File

@ -0,0 +1,31 @@
create table hrsa_tax_agent_tax_return
(
id number primary key ,
create_time date,
update_time date,
creator number,
delete_type int default 0,
tenant_key varchar2(10),
tax_agent_id number not null,
tax_code varchar2(50) not null,
tax_registration_number varchar2(50) not null,
department_code varchar2(50),
department_name varchar2(50),
nation varchar2(50),
province varchar2(50),
city varchar2(50),
area_code varchar2(50) not null,
password_type int not null,
real_account varchar2(50) ,
pwd varchar2(50) not null,
check_status int not null,
fail_reason varchar2(255)
);
/
create index id_tenant_key_tax_return on hrsa_tax_agent_tax_return(tenant_key);
/
create unique index id_tax_agent_id_tax_return on hrsa_tax_agent_tax_return(tax_agent_id);
/

View File

@ -0,0 +1,7 @@
package com.api.salary.web;
import javax.ws.rs.Path;
@Path("/bs/hrmsalary/taxAgent/taxReturn")
public class TaxAgentTaxReturnController extends com.engine.salary.web.TaxAgentTaxReturnController{
}

View File

@ -0,0 +1,26 @@
package com.engine.salary.common;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 人员选项
*
* @author chengliming
* @date: 2022-09-06 16:57:23
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("人员选项")
public class OptionDTO {
@ApiModelProperty("人员ID")
private String id;
@ApiModelProperty("人员姓名")
private String content;
}

View File

@ -0,0 +1,18 @@
package com.engine.salary.common.taxdeclare;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 异步接口中的requestId
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/10/25 4:50 PM
* @version:v1.0
*/
@Data
public class AsyncRequestIdDTO {
@ApiModelProperty("异步接口中的requestId")
private String requestId;
}

View File

@ -0,0 +1,140 @@
package com.engine.salary.entity.datacollection.response;
import com.engine.salary.entity.taxpayment.response.BaseResponse;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 人员专项附加扣除信息查询结果
*
* @author chengliming
* @date 2022-10-27 10:00 AM
**/
@Data
public class QuerySpecialAmountFeedbackResponse extends BaseResponse {
/**
* 返回数据
*/
private Body body;
/**
* 人员专项附加扣除信息查询反馈结果body
*/
@Data
public static class Body {
/**
* 结果列表
*/
private List<Feedback> ryxxlb;
}
/**
* 人员专项附加扣除信息查询反馈结果
**/
@Data
public static class Feedback {
/**
* 员工姓名
*/
private String xm;
/**
* 证件类型
*/
private String zzlx;
/**
* 证件号码
*/
private String zzhm;
/**
* 代报状态
*/
private String sbzt;
/**
* 失败原因
*/
private String sbyy;
/**
* 累计子女教育支出
*/
private BigDecimal ljznjyzc;
/**
* 累计租房租金支出
*/
private BigDecimal ljzfzjzc;
/**
* 累计住房贷款利息支出
*/
private BigDecimal ljzfdklxzc;
/**
* 累计赡养老人支出
*/
private BigDecimal ljsylrzc;
/**
* 累计继续教育支出
*/
private BigDecimal ljjxjyzc;
/**
* 累计非学历继续教育支出
*/
private BigDecimal ljfxljxjyzc;
/**
* 累计学历继续教育支出
*/
private BigDecimal ljxljxjyzc;
/**
* 累计3岁以下婴幼儿照护支出
*/
private BigDecimal ljyyezhzc;
/**
* 子女教育支出
*/
private BigDecimal znjyzc;
/**
* 赡养老人支出
*/
private BigDecimal sylrzc;
/**
* 住房贷款利息支出
*/
private BigDecimal zfdklxzc;
/**
* 住房租金支出
*/
private BigDecimal zfzjzc;
/**
* 继续教育支出
*/
private BigDecimal jxjyzc;
/**
* 非学历继续教育支出
*/
private BigDecimal fxljxjyzc;
/**
* 3岁以下婴幼儿照护支出
*/
private BigDecimal yyezhzc;
}
}

View File

@ -0,0 +1,34 @@
package com.engine.salary.entity.datacollection.response;
import com.engine.salary.entity.taxpayment.response.BaseResponse;
import lombok.Data;
/**
* 人员专项附加扣除信息查询结果
*
* @author chengliming
* @date 2022-10-27 10:00 AM
**/
@Data
public class QuerySpecialAmountResponse extends BaseResponse {
/**
* 返回数据
*/
private QuerySpecialAmountBody body;
/**
* 人员专项附加扣除信息查询结果body
**/
@Data
public static class QuerySpecialAmountBody {
/**
* 请求查询ID
*/
private String requestId;
/**
* 个税扣缴义务人id
*/
private Long taxAgentId;
}
}

View File

@ -0,0 +1,100 @@
package com.engine.salary.entity.taxagent.bo;
import com.engine.salary.entity.taxagent.dto.TaxAgentTaxReturnMainFormDTO;
import com.engine.salary.entity.taxagent.param.TaxAgentTaxReturnSaveParam;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.entity.taxagent.po.TaxAgentTaxReturnPO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationApiConfigPO;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnPasswordTypeEnum;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import com.engine.salary.util.Sm4Utils;
import dm.jdbc.util.IdGenerator;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* 报税信息BO
*
* @author chengliming
* @date: 2022-09-02 11:06:41
*/
public class TaxAgentTaxReturnBO {
public static TaxAgentTaxReturnMainFormDTO convertPo2FormDto(TaxAgentTaxReturnPO taxReturnPO) {
return new TaxAgentTaxReturnMainFormDTO()
.setId(taxReturnPO.getId())
.setPasswordType(TaxAgentTaxReturnPasswordTypeEnum.parseByValue(taxReturnPO.getPasswordType()))
.setCity(taxReturnPO.getCity())
.setProvince(taxReturnPO.getProvince())
.setNation(taxReturnPO.getNation())
.setAreaCode(taxReturnPO.getAreaCode())
.setTaxCode(taxReturnPO.getTaxCode())
.setAccount(taxReturnPO.getRealAccount())
.setNetPassword(TaxAgentTaxReturnPasswordTypeEnum.TAX_NET_PASSWORD.getValue().equals(taxReturnPO.getPasswordType()) ? taxReturnPO.getPwd() : null)
.setRealNamePassword(TaxAgentTaxReturnPasswordTypeEnum.REAL_NAME_PASSWORD.getValue().equals(taxReturnPO.getPasswordType()) ? taxReturnPO.getPwd() : null)
.setTaxRegistrationNumber(taxReturnPO.getTaxRegistrationNumber())
.setDepartmentCode(taxReturnPO.getDepartmentCode())
.setCheckStatus(TaxAgentTaxReturnStatusEnum.parseByValue(taxReturnPO.getCheckStatus()))
.setFailReason(taxReturnPO.getFailReason());
}
public static TaxAgentTaxReturnPO convertParam2Po4Insert(TaxDeclarationApiConfigPO apiConfig, TaxAgentTaxReturnSaveParam saveParam) throws Exception {
return TaxAgentTaxReturnPO.builder()
.taxAgentId(saveParam.getTaxAgentId())
.taxCode(saveParam.getTaxCode())
.nation(saveParam.getNation())
.city(saveParam.getCity())
.province(saveParam.getProvince())
.areaCode(saveParam.getAreaCode())
.realAccount(saveParam.getAccount())
.passwordType(TaxAgentTaxReturnPasswordTypeEnum.valueOf(saveParam.getPasswordType()).getValue())
.pwd(Sm4Utils.encryptEcb(apiConfig.getAppSecret(), saveParam.getPassword()))
.failReason("")
.id(IdGenerator.generate())
.checkStatus(TaxAgentTaxReturnStatusEnum.NOT_COMMIT.getValue())
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
.createTime(LocalDateTime.now())
.updateTime(LocalDateTime.now())
.build();
}
public static void convertParam2Po4Update(TaxDeclarationApiConfigPO apiConfig, TaxAgentTaxReturnPO po, TaxAgentTaxReturnSaveParam saveParam) throws Exception {
po.setTaxCode(saveParam.getTaxCode())
.setNation(saveParam.getNation())
.setCity(saveParam.getCity())
.setProvince(saveParam.getProvince())
.setAreaCode(saveParam.getAreaCode())
.setRealAccount(saveParam.getAccount())
.setPwd(Sm4Utils.encryptEcb(apiConfig.getAppSecret(), saveParam.getPassword()))
.setPasswordType(TaxAgentTaxReturnPasswordTypeEnum.valueOf(saveParam.getPasswordType()).getValue())
.setTaxAgentId(saveParam.getTaxAgentId())
.setUpdateTime(LocalDateTime.now());
}
public static Map<String, Object> convert2RequestMap(TaxAgentPO taxAgent, TaxAgentTaxReturnPO taxAgentTaxReturn) {
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("bizNo", UUID.randomUUID().toString().replace("-", ""));
requestMap.put("qymc", taxAgent.getName());
requestMap.put("mmlx", taxAgentTaxReturn.getPasswordType());
requestMap.put("smzh", taxAgentTaxReturn.getRealAccount());
requestMap.put("smmm", taxAgentTaxReturn.getPwd());
requestMap.put("jmsmmm", "1");
requestMap.put("sbmm", taxAgentTaxReturn.getPwd());
requestMap.put("jmsbmm", "1");
requestMap.put("djxhid", taxAgentTaxReturn.getTaxRegistrationNumber());
requestMap.put("nsrsbh", taxAgentTaxReturn.getTaxCode());
requestMap.put("areaid", taxAgentTaxReturn.getAreaCode());
requestMap.put("bmbh", "");
requestMap.put("bmmc", "");
return requestMap;
}
@Override
public String toString() {
return super.toString();
}
}

View File

@ -0,0 +1,48 @@
package com.engine.salary.entity.taxagent.dto;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import com.engine.salary.util.SalaryI18nUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 税友验证成功信息
*
* @author chengliming
* @date: 2022-08-31 15:25:44
*/
@Data
@Accessors(chain = true)
@ApiModel("税友验证成功信息")
public class TaxAgentTaxReturnCheckDTO {
/**
* 验证状态
* @see TaxAgentTaxReturnStatusEnum
*/
@ApiModelProperty("验证状态")
private Integer status;
@ApiModelProperty("登记序号")
private String taxRegistrationNumber;
@ApiModelProperty("部门编号")
private String departmentCode;
@ApiModelProperty("验证提示信息")
private String message;
@ApiModelProperty("详细数据")
private List<TaxAgentTaxReturnCheckFormDTO> records;
public void setMessage(String message, String currentTenantKey, Long currentEmployeeId) {
this.message = message;
if (TaxAgentTaxReturnStatusEnum.SUCCESS.getValue().equals(status) || TaxAgentTaxReturnStatusEnum.NOT_COMMIT.getValue().equals(status)) {
this.message = SalaryI18nUtil.getI18nLabel( 153350, "验证成功,报税主体信息已与税局系统进行认证确认");
}
}
}

View File

@ -0,0 +1,74 @@
package com.engine.salary.entity.taxagent.dto;
import com.engine.salary.enums.SalaryOnOffEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 税友验证信息表单
*
* @author chengliming
* @date: 2022-08-31 15:25:44
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("税友验证信息")
public class TaxAgentTaxReturnCheckFormDTO {
@ApiModelProperty("税号")
private String taxCode;
@ApiModelProperty("验证信息id")
@JsonSerialize(using = ToStringSerializer.class)
private Long index;
@ApiModelProperty("个税扣缴义务人id")
@JsonSerialize(using = ToStringSerializer.class)
private Long taxAgentId;
@ApiModelProperty("个税扣缴义务人")
private String taxAgentName;
@ApiModelProperty("登记序号")
private String taxRegistrationNumber;
@ApiModelProperty("纳税人状态")
private String taxpayerStatus;
@ApiModelProperty("法人姓名")
private String legalPersonName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("生产经营地址")
private String businessAddress;
@ApiModelProperty("行业名称")
private String industryName;
@ApiModelProperty("主管税务机关")
private String taxAuthorities;
@ApiModelProperty("主管税务科所")
private String taxBranch;
@ApiModelProperty("是否分部门备案")
private SalaryOnOffEnum divideFiling;
@ApiModelProperty("部门名称")
private String departmentName;
@ApiModelProperty("部门编码")
private String departmentCode;
}

View File

@ -0,0 +1,56 @@
package com.engine.salary.entity.taxagent.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 税友报税信息列表
*
* @author chengliming
* @date: 2022-09-02 15:31:10
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//税友报税信息列表
public class TaxAgentTaxReturnListDTO {
//序号
@JsonSerialize(using = ToStringSerializer.class)
private Long index;
//税号
private String taxCode;
//个税扣缴义务人
private String taxAgentName;
//登记序号
private String taxRegistrationNumber;
//纳税人状态
private String taxpayerStatus;
//主管税务机关
private String taxAuthorities;
//主管税务科所
private String taxBranch;
//生产经营地址
private String businessAddress;
//行业名称
private String industryName;
//法人姓名
private String legalPersonName;
//联系电话
private String mobile;
}

View File

@ -0,0 +1,73 @@
package com.engine.salary.entity.taxagent.dto;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnPasswordTypeEnum;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 报税信息表单
*
* @author chengliming
* @date: 2022-09-02 09:39:05
*/
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("报税信息表单")
public class TaxAgentTaxReturnMainFormDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("税号")
private String taxCode;
@ApiModelProperty("报税所属区域")
private String city;
@ApiModelProperty("省份")
private String province;
@ApiModelProperty("国家")
private String nation;
@ApiModelProperty("行政区划代码")
private String areaCode;
@ApiModelProperty("密码校验类型")
private TaxAgentTaxReturnPasswordTypeEnum passwordType;
@ApiModelProperty("个税网报密码")
private String netPassword;
@ApiModelProperty("实名账号")
private String account;
@ApiModelProperty("实名账号密码")
private String realNamePassword;
@ApiModelProperty("登记序号")
private String taxRegistrationNumber;
@ApiModelProperty("部门编码")
private String departmentCode;
@ApiModelProperty("报税信息验证状态")
private TaxAgentTaxReturnStatusEnum checkStatus;
@ApiModelProperty("失败原因")
private String failReason;
}

View File

@ -0,0 +1,48 @@
package com.engine.salary.entity.taxagent.dto;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import com.engine.salary.util.page.PageInfo;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 税友验证成功信息
*
* @author chengliming
* @date: 2022-08-31 15:25:44
*/
@Data
@Accessors(chain = true)
@Builder
//税友验证成功信息")
public class TaxAgentTaxReturnResultDTO {
//展示类型1展示表单 2展示列表 3关闭所有tab")
private Integer compType;
//验证状态")
private TaxAgentTaxReturnStatusEnum checkStatus;
//失败原因")
private String failReason;
//验证提示信息")
private String message;
//个税扣缴义务人ID")
private String taxAgentId;
//登记序号")
private String taxRegistrationNumber;
//部门编号")
private String departmentCode;
//表单")
private TaxAgentTaxReturnListDTO form;
//列表")
private PageInfo<TaxAgentTaxReturnListDTO> table;
}

View File

@ -0,0 +1,93 @@
package com.engine.salary.entity.taxagent.param;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnPasswordTypeEnum;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryI18nUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chengliming
* @desc: 个税扣缴义务人-报税信息-保存参数
* @date: 2022-08-31 10:23:29
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("个税扣缴义务人-报税信息-保存参数")
public class TaxAgentTaxReturnSaveParam {
@ApiModelProperty("个税扣缴义务人id")
private Long taxAgentId;
@ApiModelProperty("税号")
private String taxCode;
@ApiModelProperty("登记序号")
private String taxRegistrationNumber;
@ApiModelProperty("省级")
private String province;
@ApiModelProperty("市级")
private String city;
@ApiModelProperty("国家")
private String nation;
@ApiModelProperty("密码校验类型")
private String passwordType;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("实名账号")
private String account;
@ApiModelProperty("部门编码,分部门备案时填入")
private String departmentCode;
@ApiModelProperty("部门名称,分部门备案时填入")
private String departmentName;
@ApiModelProperty("请求类型 1.保存并验证 2.仅保存")
private Integer requestType = 1;
@ApiModelProperty("验证类型 1.请求税友验证报税信息 2.请求税友验证登记序号+税号 3.请求税友验证部门编码")
@JsonIgnore
private Integer type;
@ApiModelProperty("地区编码")
private String areaCode;
public void checkParam() {
String notEmpty = SalaryI18nUtil.getI18nLabel(100577, "不能为空");
SalaryAssert.notNull(this.taxAgentId, SalaryI18nUtil.getI18nLabel(121717, "个税扣缴义务人id不能为空"));
SalaryAssert.notBlank(this.taxCode, SalaryI18nUtil.getI18nLabel(144388, "税号") + notEmpty);
SalaryAssert.notBlank(this.nation, SalaryI18nUtil.getI18nLabel(144408, "国家") + notEmpty);
SalaryAssert.notBlank(this.province, SalaryI18nUtil.getI18nLabel(144407, "省份") + notEmpty);
SalaryAssert.notBlank(this.city, SalaryI18nUtil.getI18nLabel(144388, "城市") + notEmpty);
SalaryAssert.notNull(this.passwordType, SalaryI18nUtil.getI18nLabel(144390, "密码校验类型") + notEmpty);
if (TaxAgentTaxReturnPasswordTypeEnum.TAX_NET_PASSWORD.toString().equals(this.passwordType)) {
SalaryAssert.notBlank(this.password, SalaryI18nUtil.getI18nLabel(144391, "个税网报密码") + notEmpty);
}
if (TaxAgentTaxReturnPasswordTypeEnum.REAL_NAME_PASSWORD.toString().equals(this.passwordType)) {
SalaryAssert.notBlank(this.password, SalaryI18nUtil.getI18nLabel(144392, "实名账号密码") + notEmpty);
}
}
public void checkParam4Registration() {
String notEmpty = SalaryI18nUtil.getI18nLabel(100577, "不能为空");
SalaryAssert.notNull(this.taxAgentId, SalaryI18nUtil.getI18nLabel(121717, "个税扣缴义务人id不能为空"));
SalaryAssert.notBlank(this.taxCode, SalaryI18nUtil.getI18nLabel(144388, "税号") + notEmpty);
SalaryAssert.notBlank(this.taxRegistrationNumber, SalaryI18nUtil.getI18nLabel(144400, "登记序号") + notEmpty);
}
public void checkParam4Department() {
SalaryAssert.notNull(this.taxAgentId, SalaryI18nUtil.getI18nLabel(121717, "个税扣缴义务人id不能为空"));
}
}

View File

@ -0,0 +1,151 @@
package com.engine.salary.entity.taxagent.po;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnPasswordTypeEnum;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
/**
* 个税扣缴义务人-报税信息
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_agent_tax_return
public class TaxAgentTaxReturnPO implements Serializable {
private static final long serialVersionUID = -5077833887846911337L;
/**
* 主键id
*/
private Long id;
/**
* 个税扣缴义务人ID
*/
private Long taxAgentId;
/**
* 税号
*/
private String taxCode;
/**
* 登记序号
*/
private String taxRegistrationNumber;
/**
* 部门编号
*/
private String departmentCode;
/**
* 部门名称
*/
private String departmentName;
/**
* 国家
*/
private String nation;
/**
* 省份
*/
private String province;
/**
* 省级行政编码
*/
private String provinceCode;
/**
* 市级
*/
private String city;
/**
* 市级
*/
private String cityCode;
/**
* 行政区划代码
*/
private String areaCode;
/**
* 密码校验类型
*
* @see TaxAgentTaxReturnPasswordTypeEnum
*/
private Integer passwordType;
/**
* 实名账号
*/
private String realAccount;
/**
* 密码
*/
private String pwd;
/**
* 税友验证状态
*
* @see TaxAgentTaxReturnStatusEnum
*/
private Integer checkStatus;
/**
* 最近一次验证失败原因
*/
private String failReason;
/**
* 租户key
*/
private String tenantKey;
/**
* 创建人id
*/
private Long creator;
/**
* 是否删除
*/
private Integer deleteType;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
//查询条件
private Collection<Long> taxAgentIds;
private Collection<String> taxCodes;
}

View File

@ -0,0 +1,146 @@
//package com.engine.salary.entity.taxapiflow.bo;
//
//import com.engine.salary.entity.taxapiflow.dto.TaxDeclarationApiFlowRecordListDTO;
//import com.engine.salary.entity.taxapiflow.po.TaxDeclarationApiFlowRecordPO;
//import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationApiConfigPO;
//import com.engine.salary.enums.sicategory.DeleteTypeEnum;
//import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
//import com.engine.salary.service.impl.TaxDeclarationApiBillingServiceImpl;
//import com.weaver.common.distribution.genid.IdGenerator;
//import com.weaver.hrm.salary.entity.extemployee.po.ExtEmployeePO;
//import com.weaver.hrm.salary.entity.taxapiflow.param.TaxDeclarationBillingConfigSaveParam;
//import com.weaver.hrm.salary.entity.taxapiflow.po.TaxDeclarationApiFlowWarnConfigPO;
//import com.weaver.hrm.salary.enums.salaryitem.SalaryOnOffEnum;
//import com.weaver.hrm.salary.enums.taxdeclaration.EnumDeclareApiBusinessType;
//import com.weaver.hrm.salary.util.SalaryDateUtil;
//import com.weaver.hrm.salary.util.SalaryEnumUtil;
//import com.weaver.hrm.salary.util.SalaryI18nUtil;
//import com.weaver.mc.api.entity.*;
//import com.weaver.mc.util.StringUtils;
//import com.weaver.teams.domain.EntityType;
//
//import java.time.LocalDate;
//import java.time.LocalDateTime;
//import java.util.*;
//import java.util.concurrent.atomic.AtomicInteger;
//
///**
// * @author chengliming
// * @date 2022-11-16 1:41 PM
// **/
//public class TaxApiFlowBO {
//
// /**
// * 流量使用情况
// *
// * @param wrapper 包装类
// * @param taxAgentId
// * @param employeeId
// * @return
// */
// public static TaxDeclarationApiFlowRecordPO buildTaxDeclarationApiFlowRecordPO(TaxDeclarationApiBillingServiceImpl.ApiFlowUpdateWrapper wrapper,
// Long taxAgentId,
// Long employeeId) {
// return TaxDeclarationApiFlowRecordPO.builder()
// .id(IdGenerator.generate())
// .deduct(null)
// .businessType(wrapper.getBusinessType().getValue())
// .taxMonth(wrapper.getTaxYearMonth())
// .useTime(LocalDate.now())
// .createTime(LocalDateTime.now())
// .updateTime(LocalDateTime.now())
// .employeeId(employeeId)
// .taxAgentId(taxAgentId)
// .resultStatus(TaxAgentTaxReturnStatusEnum.SUCCESS.getValue())
// .deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
// .tenantKey(wrapper.getTenantKey())
// .creator(wrapper.getCurrentEmployeeId())
// .build();
// }
//
// public static TaxDeclarationApiFlowRecordListDTO taxDeclarationApiFlowRecordPo2ListDTO(TaxDeclarationApiBillingServiceImpl.TempPropertiesWrapper propertiesWrapper, AtomicInteger indexNum, TaxDeclarationApiFlowRecordPO e) {
// String internalUsername = propertiesWrapper.getEmpNameMap().get(e.getEmployeeId());
// String idNo = propertiesWrapper.getEmpIdNoMap().get(e.getEmployeeId());
// String externalUsername = propertiesWrapper.getExtEmployeeMap().getOrDefault(e.getEmployeeId(), new ExtEmployeePO()).getUsername();
// String externalIdNo = propertiesWrapper.getExtEmployeeMap().getOrDefault(e.getEmployeeId(), new ExtEmployeePO()).getCardNum();
// String creator = propertiesWrapper.getEmpNameMap().get(e.getCreator());
// String taxAgentName = propertiesWrapper.getTaxAgentNameMap().get(e.getTaxAgentId());
//
// boolean isInternal = StringUtils.isNotEmpty(internalUsername);
// return TaxDeclarationApiFlowRecordListDTO.builder()
// .id(e.getId())
// .indexNum(indexNum.getAndIncrement())
// .createTime(SalaryDateUtil.DATE_TIME_FORMATTER.format(e.getCreateTime()))
// .taxAgentName(taxAgentName)
// .employeeName(isInternal ? internalUsername : externalUsername)
// .employeeType(isInternal ? "inside" : "external")
// .idCardNo(isInternal ? idNo : externalIdNo)
// .employeeId(e.getEmployeeId())
// .businessTypeName(SalaryEnumUtil.enumMatchByValue(e.getBusinessType(), EnumDeclareApiBusinessType.class).getDefaultLabel())
// .result(TaxAgentTaxReturnStatusEnum.parseByValue(e.getResultStatus()).getDefaultLabel())
// .creator(creator)
// .creatorId(e.getCreator())
// .build();
// }
//
// public static SendMessageEntity buildSendMessageEntity(TaxDeclarationApiFlowWarnConfigPO warnConfig, List<UserEntity> receivers, TaxDeclarationApiBillingServiceImpl.ApiFlowUpdateWrapper updateWrapper) {
// String title = SalaryI18nUtil.getI18nLabel(160389, "智能算薪流量不足提醒");
// String desc = String.format(SalaryI18nUtil.getI18nLabel(184069, "智能算薪流量已不足%s请及时采购续费避免次月无法使用。"), warnConfig.getThreshold());
// Entity entity = new Entity()
// .setId(IdGenerator.generate() + "")
// .setModule(EntityType.hrmsalary.name())
// .setName(title)
// .setCreatorId(updateWrapper.getCurrentEmployeeId())
// .setCreateTime(new Date());
//
// SendMessageEntity smg = new SendMessageEntity();
// // 模块
// smg.setModule(MessageModule.HRSA);
// // 事件
// smg.setEvent(MessageEvent.PAYROLL);
// // 业务id
// smg.setBusinessId(warnConfig.getBusinessId().toString());
// // 发送者
// smg.setSender(UserEntity.SYSTEM_USER);
// // 接收者
// smg.setReceivers(receivers);
// // 发送内容(短信&IM的自定义变量)
// Map<String, String> params = new HashMap<>();
// params.put("flowThreshold", warnConfig.getThreshold().toString());
// smg.setDynamicParams(params);
// smg.setTitle(title);
// smg.setEntity(entity);
// smg.setText(desc);
// smg.setContent(desc);
// // 邮箱
// EmailEntity emailEntity = new EmailEntity();
// emailEntity.setEmailSubject(title);
// emailEntity.setEmailContent(desc);
// emailEntity.setMailUserAccountId(0);
// smg.setEmailInfo(emailEntity);
// return smg;
// }
//
// public static TaxDeclarationApiConfigPO buildTaxDeclarationApiConfigPO(TaxDeclarationBillingConfigSaveParam saveParam,
// Long currentEmployeeId,
// String currentTenantKey) {
// saveParam.setAppKey(Optional.ofNullable(saveParam.getAppKey()).orElse(" "));
// saveParam.setAppSecret(Optional.ofNullable(saveParam.getAppSecret()).orElse(" "));
// return TaxDeclarationApiConfigPO.builder()
// .id(IdGenerator.generate())
// .appKey(saveParam.getAppKey())
// .appSecret(saveParam.getAppSecret())
// .enableUse(SalaryOnOffEnum.valueOf(saveParam.getEnable()).getValue())
// .createTime(LocalDateTime.now())
// .updateTime(LocalDateTime.now())
// .creator(currentEmployeeId)
// .tenantKey(currentTenantKey)
// .deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
// .build();
// }
//
// @Override
// public String toString() {
// return "TaxApiFlowBO{}";
// }
//}

View File

@ -0,0 +1,35 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量提醒-创建规则参数
*
* @author chengliming
* @date 2022-11-22 11:25:48
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量提醒-创建规则参数")
public class CreateMessageRuleParamDTO {
@ApiModelProperty("模块")
@JsonSerialize(using = ToStringSerializer.class)
private Integer moduleId;
@ApiModelProperty("事件")
@JsonSerialize(using = ToStringSerializer.class)
private Integer eventId;
@ApiModelProperty("业务")
@JsonSerialize(using = ToStringSerializer.class)
private Long businessId;
}

View File

@ -0,0 +1,62 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量使用记录
*
* @author chengliming
* @date 2022-11-21 16:51:10
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量使用记录")
public class TaxDeclarationApiFlowRecordListDTO {
@ApiModelProperty("id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("序号")
private Integer indexNum;
@ApiModelProperty("使用时间")
private String createTime;
@ApiModelProperty("个税扣缴义务人")
private String taxAgentName;
@ApiModelProperty("人员")
private String employeeName;
@ApiModelProperty("人员类型")
private String employeeType;
@ApiModelProperty("人员id")
@JsonSerialize(using = ToStringSerializer.class)
private Long employeeId;
@ApiModelProperty("创建人id")
@JsonSerialize(using = ToStringSerializer.class)
private Long creatorId;
@ApiModelProperty("身份证号码")
private String idCardNo;
@ApiModelProperty("接口业务")
private String businessTypeName;
@ApiModelProperty("操作人")
private String creator;
@ApiModelProperty("结果")
private String result;
}

View File

@ -0,0 +1,41 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量统计-月度详情
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量统计-月度详情")
public class TaxDeclarationApiFlowStatisticDetailListDTO {
@ApiModelProperty("id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@JsonIgnore
private Long taxAgentId;
@JsonIgnore
private String taxAgentName;
@ApiModelProperty("税款所属期")
private String taxMonth;
@ApiModelProperty("月使用流量数")
private Integer used;
}

View File

@ -0,0 +1,40 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量统计
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量统计")
public class TaxDeclarationApiFlowStatisticListDTO {
@ApiModelProperty("id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("序号")
private Integer indexNum;
@ApiModelProperty("个税扣缴义务人")
private String taxAgentName;
@ApiModelProperty("个税扣缴义务人ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long taxAgentId;
@ApiModelProperty("已使用")
private Integer used;
}

View File

@ -0,0 +1,38 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量统计
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量统计")
public class TaxDeclarationApiFlowTotalDTO {
@ApiModelProperty("总流量")
@JsonSerialize(using = ToStringSerializer.class)
private Long total;
@ApiModelProperty("剩余流量")
@JsonSerialize(using = ToStringSerializer.class)
private Long remain;
@ApiModelProperty("已使用流量")
@JsonSerialize(using = ToStringSerializer.class)
private Long used;
@ApiModelProperty("最后更新时间")
private String lastUpdateTime;
}

View File

@ -0,0 +1,49 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-流量不足提醒-表单
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量不足提醒-表单")
public class TaxDeclarationApiFlowWarnConfigFormDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("提醒开关")
private Boolean enable;
@ApiModelProperty("提醒规则")
private Integer threshold;
@ApiModelProperty("提醒推送方式")
private String config;
@ApiModelProperty("业务ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long businessId;
@ApiModelProperty("模块")
@JsonSerialize(using = ToStringSerializer.class)
private String moduleId;
@ApiModelProperty("事件")
@JsonSerialize(using = ToStringSerializer.class)
private String eventId;
}

View File

@ -0,0 +1,45 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.engine.salary.common.OptionDTO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 智能算税-流量不足提醒对象-表单
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量不足提醒对象-表单")
public class TaxDeclarationApiFlowWarnReceiverFormDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("提醒对象")
private List<OptionDTO> employee;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("邮箱列表")
private String email;
@ApiModelProperty("邮箱列表下拉框")
@JsonIgnore
private List<String> emailOptions;
}

View File

@ -0,0 +1,42 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.minidev.json.annotate.JsonIgnore;
/**
* 智能算税-流量提醒对象
*
* @author chengliming
* @date 2022-11-22 11:25:48
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-流量提醒对象")
public class TaxDeclarationApiFlowWarnReceiverListDTO {
@ApiModelProperty("id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("提醒对象")
private String employeeName;
@JsonIgnore
@JsonSerialize(using = ToStringSerializer.class)
private Long employeeId;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("邮箱")
private String email;
}

View File

@ -0,0 +1,37 @@
package com.engine.salary.entity.taxapiflow.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算税-启用设置-表单
*
* @author chengliming
* @date 2022-11-11 17:01:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算税-启用设置-表单")
public class TaxDeclarationBillingConfigFormDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("appKey")
private String appKey;
@ApiModelProperty("appSecret")
private String appSecret;
@ApiModelProperty("智能算薪开关")
private Boolean enable;
}

View File

@ -0,0 +1,23 @@
package com.engine.salary.entity.taxapiflow.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 创建推送规则
*
* @author chengliming
* @date 2022-11-24 10:50 AM
**/
@Data
public class CreateMessageRuleParam {
@ApiModelProperty("业务ID")
@NotNull(message = "业务ID不能为空")
private String businessId;
@ApiModelProperty("详细规则")
@NotNull(message = "详细规则不能为空")
private String config;
}

View File

@ -0,0 +1,50 @@
package com.engine.salary.entity.taxapiflow.param;
import com.engine.salary.common.BaseQueryParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.time.YearMonth;
/**
* 流量月度详情查询参数
*
* @author chengliming
* @date 2022-11-11 15:28:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("流量月度详情查询参数")
public class TaxDeclarationApiFlowMonthQueryParam extends BaseQueryParam {
@ApiModelProperty("个税扣缴义务人id")
@NotNull(message = "个税扣缴义务人不能为空")
private Long taxAgentId;
@ApiModelProperty("税款所属期开始时间")
private YearMonth startTaxMonth;
@ApiModelProperty("税款所属期结束时间")
private YearMonth endTaxMonth;
public Integer getStartTaxMonth() {
if (startTaxMonth == null) {
return 0;
}
return Integer.parseInt(startTaxMonth.toString().replace("-", ""));
}
public Integer getEndTaxMonth() {
if (endTaxMonth == null) {
return Integer.MAX_VALUE;
}
return Integer.parseInt(endTaxMonth.toString().replace("-", ""));
}
}

View File

@ -0,0 +1,40 @@
package com.engine.salary.entity.taxapiflow.param;
import com.engine.salary.common.BaseQueryParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
/**
* 流量月度详情查询参数
*
* @author chengliming
* @date 2022-11-11 15:28:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("流量月度详情查询参数")
public class TaxDeclarationApiFlowRecordQueryParam extends BaseQueryParam {
@ApiModelProperty("个税扣缴义务人id")
private Long taxAgentId;
@ApiModelProperty("开始时间")
private LocalDate startDate;
@ApiModelProperty("结束时间")
private LocalDate endDate;
@ApiModelProperty("业务接口类型")
private Integer businessType;
@ApiModelProperty("结果")
private Integer result;
}

View File

@ -0,0 +1,40 @@
package com.engine.salary.entity.taxapiflow.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* 流量不足提醒规则创建
*
* @author chengliming
* @date 2022-11-24 11:17:31
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("流量不足提醒规则创建")
public class TaxDeclarationApiFlowWarnConfigSaveParam {
@ApiModelProperty("提醒对象Id")
private Long id;
@ApiModelProperty("提醒阈值")
@NotNull(message = "提醒规则不能为空")
private Long threshold;
@ApiModelProperty("提醒开关是否打开")
private Boolean enable;
@ApiModelProperty("业务ID")
@NotNull(message = "推送方式不能为空")
private Long businessId;
@ApiModelProperty("规则")
private String config;
}

View File

@ -0,0 +1,36 @@
package com.engine.salary.entity.taxapiflow.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 流量不足提醒对象
*
* @author chengliming
* @date 2022-11-11 15:28:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("流量不足提醒对象")
public class TaxDeclarationApiFlowWarnReceiverSaveParam {
@ApiModelProperty("提醒对象Id")
private Long id;
@ApiModelProperty("提醒配置Id")
private Long warnConfigId;
@ApiModelProperty("人员Id")
private Long employeeId;
@ApiModelProperty("邮箱")
private String email;
@ApiModelProperty("手机号")
private String mobile;
}

View File

@ -0,0 +1,35 @@
package com.engine.salary.entity.taxapiflow.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 智能算薪配置参数
*
* @author chengliming
* @date 2022-11-11 15:28:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("智能算薪配置参数")
public class TaxDeclarationBillingConfigSaveParam {
@ApiModelProperty("appKey")
private String appKey;
@ApiModelProperty("appSecret")
private String appSecret;
@ApiModelProperty("enable")
private String enable;
@ApiModelProperty("配置ID")
private Long configId;
}

View File

@ -0,0 +1,100 @@
package com.engine.salary.entity.taxapiflow.po;
import com.engine.salary.enums.SalaryOnOffEnum;
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
import com.engine.salary.enums.taxdeclaration.EnumDeclareApiBusinessType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 个税申报-接口流量使用记录
*
* @author chengliming
* @date 2022-11-11 17:36:16
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_api_flow_record")
//"个税申报-接口流量使用记录")
public class TaxDeclarationApiFlowRecordPO implements Serializable {
private static final long serialVersionUID = 5899885019997144301L;
/**
* 主键
*/
private Long id;
/**
* 个税扣缴义务人的主键id
*/
private Long taxAgentId;
/**
* 税款所属期
*/
private Date taxMonth;
/**
* 使用时间
*/
private Date useTime;
/**
* 是否扣流量
*
* @see SalaryOnOffEnum
*/
private Integer deduct;
/**
* 人员ID
*/
private Long employeeId;
/**
* 接口业务类型
*
* @see EnumDeclareApiBusinessType
*/
private Integer businessType;
/**
* 结果
*
* @see TaxAgentTaxReturnStatusEnum
*/
private Integer resultStatus;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人
*/
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
private Integer deleteType;
/**
* 租户ID
*/
private String tenantKey;
}

View File

@ -0,0 +1,73 @@
package com.engine.salary.entity.taxapiflow.po;
import com.engine.salary.enums.SalaryOnOffEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 个税申报对接 - 流量不足提醒
*
* @author chengliming
* @date 2022-11-14 11:26:02
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_api_flow_warn_config")
//个税申报对接流量不足提醒")
public class TaxDeclarationApiFlowWarnConfigPO implements Serializable {
private static final long serialVersionUID = -5502227652635855096L;
/**
* 主键
*/
private Long id;
/**
* 是否提醒
* @see SalaryOnOffEnum
*/
private Integer enableWarn;
/**
* 提醒阈值
*/
private Long threshold;
/**
* 业务ID
*/
private Long businessId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人
*/
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
private Integer deleteType;
/**
* 租户ID
*/
private String tenantKey;
}

View File

@ -0,0 +1,76 @@
package com.engine.salary.entity.taxapiflow.po;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 流量不足提醒对象
*
* @author chengliming
* @date 2022-11-14 11:26:02
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_api_flow_receiver")
//流量不足提醒对象")
public class TaxDeclarationApiFlowWarnReceiverPO implements Serializable {
private static final long serialVersionUID = -5502227652635855096L;
/**
* 主键
*/
private Long id;
/**
* 提醒配置的id
*/
private Long warnConfigId;
/**
* 接受人id
*/
private Long employeeId;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String mobile;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 创建人
*/
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
private Integer deleteType;
/**
* 租户ID
*/
private String tenantKey;
}

View File

@ -0,0 +1,52 @@
package com.engine.salary.entity.taxapiflow.response;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import lombok.Data;
import java.util.List;
/**
* 查询流量统计
*
* @author chengliming
* @date 2022-11-16 3:17 PM
**/
@Data
public class QueryAccountBalanceResponse {
private SzyhResponseHead head;
private Body body;
@Data
public static class Body {
/**
* 已购买总流量
**/
private String total;
/**
* 已使用流量
**/
private String used;
/**
* 剩余流量
**/
private String surplus;
/**
* 使用明细
*/
private List<Detail> taxList;
}
@Data
public static class Detail {
/**
* 税号
*/
private String taxNumber;
/**
* 已使用流量
*/
private String used;
}
}

View File

@ -0,0 +1,52 @@
package com.engine.salary.entity.taxapiflow.response;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import lombok.Data;
import java.util.List;
/**
* 查询流量统计
*
* @author chengliming
* @date 2022-11-16 3:17 PM
**/
@Data
public class QueryDetailsByTaxNumberResponse {
private SzyhResponseHead head;
private Body body;
@Data
public static class Body {
/**
* 税号
**/
private String taxNumber;
/**
* 已使用流量
**/
private String used;
/**
* 使用明细
*/
private List<Detail> detail;
}
@Data
public static class Detail {
/**
* 月份
*/
private String month;
/**
* 已使用流量
*/
private String used;
public Integer getMonthValue() {
return Integer.parseInt(month);
}
}
}

View File

@ -0,0 +1,167 @@
//package com.engine.salary.entity.taxdeclaration.bo;
//
//import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
//import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
//import com.engine.salary.util.SalaryEntityUtil;
//import com.google.common.collect.Lists;
//import com.google.common.collect.Maps;
//import com.weaver.common.distribution.genid.IdGenerator;
//import com.weaver.common.elog.util.Util;
//import com.weaver.hrm.salary.annotation.SalaryFormulaVar;
//import com.weaver.hrm.salary.entity.datacollection.po.AddUpSituationPO;
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctRecordPO;
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctResultValuePO;
//import com.weaver.hrm.salary.entity.salarysob.po.SalarySobAddUpRulePO;
//import com.weaver.hrm.salary.entity.salarysob.po.SalarySobTaxReportRulePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxDeclarationPO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxReportColumnPO;
//import com.weaver.hrm.salary.enums.salaryitem.SalaryDataTypeEnum;
//import com.weaver.hrm.salary.enums.salarysob.IncomeCategoryEnum;
//import com.weaver.hrm.salary.enums.sicategory.DeleteTypeEnum;
//
//import java.lang.reflect.Field;
//import java.math.BigDecimal;
//import java.time.LocalDateTime;
//import java.time.YearMonth;
//import java.util.List;
//import java.util.Map;
//import java.util.Objects;
//
///**
// * @description: 通用一般劳务报酬所得全年一次性奖金
// * @author: xiajun
// * @modified By: xiajun
// * @date: Created in 2022/12/2 3:16 PM
// * @version:v1.0
// */
//public class TaxDeclarationCommon implements TaxDeclarationStrategy {
//
// @Override
// public TaxDeclarationGenerateResult generate(TaxDeclareContext taxDeclareContext, Long employeeId, String tenantKey) {
// LocalDateTime now = LocalDateTime.now();
// // 薪资核算结果按照薪资核算人员id聚合分类
// Map<Long, SalaryAcctResultPO> salaryAcctResultValueMap = SalaryEntityUtil.convert2Map(
// taxDeclareContext.getSalaryAcctResultValues(), SalaryAcctResultPO::getSalaryAcctEmpId);
// // 薪资核算人员按照人员id聚合分类
// Map<Long, List<SalaryAcctEmployeePO>> employeeIdKeyMap = SalaryEntityUtil.group2Map(
// taxDeclareContext.getSalaryAcctEmployees(), SalaryAcctEmployeePO::getEmployeeId);
//
// List<TaxDeclarationValuePO> taxDeclarationValues = Lists.newArrayListWithExpectedSize(employeeIdKeyMap.size());
// for (Map.Entry<Long, List<SalaryAcctEmployeePO>> employeeIdEntry : employeeIdKeyMap.entrySet()) {
// // 取最后一次薪资核算记录的核算结果作为个税申报表的数据来源
// SalaryAcctEmployeePO lastSalaryAcctEmployee = SalaryEntityUtil.findFirst(employeeIdEntry.getValue());
// for (SalaryAcctEmployeePO salaryAcctEmployee : employeeIdEntry.getValue()) {
// SalaryAcctRecordPO salaryAcctRecord = taxDeclareContext.getSalaryAcctRecordMap().get(salaryAcctEmployee.getSalaryAcctRecordId());
// SalaryAcctRecordPO lastSalaryAcctRecord = taxDeclareContext.getSalaryAcctRecordMap().get(lastSalaryAcctEmployee.getSalaryAcctRecordId());
// if (salaryAcctRecord.getCreateTime().compareTo(lastSalaryAcctRecord.getCreateTime()) > 0) {
// lastSalaryAcctEmployee = salaryAcctEmployee;
// }
// }
// Map<String, String> valueMap = Maps.newHashMap();
// for (TaxReportColumnPO taxReportColumn : taxDeclareContext.getTaxReportColumns()) {
// SalarySobTaxReportRulePO salarySobTaxReportRule = taxDeclareContext.getSalarySobTaxReportRuleMap()
// .get(lastSalaryAcctEmployee.getSalarySobId() + "-" + taxReportColumn.getReportColumnDataIndex());
// SalaryAcctResultValuePO salaryAcctResultValue = salaryAcctResultValueMap.get(lastSalaryAcctEmployee.getId());
// String defaultValue = Objects.equals(taxReportColumn.getDataType(), SalaryDataTypeEnum.NUMBER.getValue()) ? "0" : "";
// String value = defaultValue;
// if (salarySobTaxReportRule != null && salaryAcctResultValue != null) {
// value = salaryAcctResultValue.getResultValue().getOrDefault(Util.null2String(salarySobTaxReportRule.getSalaryItemId()), defaultValue);
// }
// valueMap.put(taxReportColumn.getReportColumnDataIndex(), value);
// }
// TaxDeclarationValuePO taxDeclarationValue = new TaxDeclarationValuePO()
// .setId(IdGenerator.generate())
// .setTaxDeclareRecordId(taxDeclareContext.getTaxDeclaration().getTaxDeclareRecordId())
// .setTaxDeclarationId(taxDeclareContext.getTaxDeclaration().getId())
// .setEmployeeType(employeeIdEntry.getValue().get(0).getEmployeeType())
// .setEmployeeId(employeeIdEntry.getKey())
// .setResultValue(valueMap)
// .setTenantKey(tenantKey)
// .setCreator(employeeId)
// .setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue())
// .setCreateTime(now)
// .setUpdateTime(now);
// taxDeclarationValues.add(taxDeclarationValue);
// }
// // 生成累计数据
// List<AddUpSituationPO> addUpSituations = generateAddUpSituation(taxDeclareContext, salaryAcctResultValueMap, employeeIdKeyMap);
// return new TaxDeclarationGenerateResult()
// .setTaxDeclarationValues(taxDeclarationValues)
// .setAddUpSituations(addUpSituations);
// }
//
// /**
// * 生成往期累计数据
// *
// * @param taxDeclareContext
// * @param salaryAcctResultValueMap
// * @param employeeIdKeyMap
// * @return
// */
// private List<AddUpSituationPO> generateAddUpSituation(TaxDeclareContext taxDeclareContext,
// Map<Long, SalaryAcctResultValuePO> salaryAcctResultValueMap,
// Map<Long, List<SalaryAcctEmployeePO>> employeeIdKeyMap) {
// List<AddUpSituationPO> addUpSituations = Lists.newArrayList();
// // 只有工资工资薪金保险营销员佣金收入证券经纪人佣金收入其他连续劳务报酬所得需要累计计税
// TaxDeclarationPO taxDeclaration = taxDeclareContext.getTaxDeclaration();
// if (!Objects.equals(taxDeclaration.getIncomeCategory(), IncomeCategoryEnum.WAGES_AND_SALARIES.getValue())
// && !Objects.equals(taxDeclaration.getIncomeCategory(), IncomeCategoryEnum.INCOME_FOR_INSURANCE_SALESMAN.getValue())
// && !Objects.equals(taxDeclaration.getIncomeCategory(), IncomeCategoryEnum.INCOME_FOR_SECURITIES_BROKER.getValue())
// && !Objects.equals(taxDeclaration.getIncomeCategory(), IncomeCategoryEnum.REMUNERATION_FOR_OTHER_CONTINUOUS_LABOR.getValue())) {
// return addUpSituations;
// }
// for (Map.Entry<Long, List<SalaryAcctEmployeePO>> employeeIdEntry : employeeIdKeyMap.entrySet()) {
// // 取最后一次薪资核算记录的核算结果作为个税申报表的数据来源
// SalaryAcctEmployeePO lastSalaryAcctEmployee = SalaryEntityUtil.findFirst(employeeIdEntry.getValue());
// for (SalaryAcctEmployeePO salaryAcctEmployee : employeeIdEntry.getValue()) {
// SalaryAcctRecordPO salaryAcctRecord = taxDeclareContext.getSalaryAcctRecordMap().get(salaryAcctEmployee.getSalaryAcctRecordId());
// SalaryAcctRecordPO lastSalaryAcctRecord = taxDeclareContext.getSalaryAcctRecordMap().get(lastSalaryAcctEmployee.getSalaryAcctRecordId());
// if (salaryAcctRecord.getCreateTime().compareTo(lastSalaryAcctRecord.getCreateTime()) > 0) {
// lastSalaryAcctEmployee = salaryAcctEmployee;
// }
// }
// SalaryAcctResultValuePO salaryAcctResultValue = salaryAcctResultValueMap.get(lastSalaryAcctEmployee.getId());
// Map<String, String> valueMap = Maps.newHashMap();
// for (Field declaredField : AddUpSituationPO.class.getDeclaredFields()) {
// if (!declaredField.isAnnotationPresent(SalaryFormulaVar.class)) {
// continue;
// }
// SalarySobAddUpRulePO salarySobAddUpRule = taxDeclareContext.getSalarySobAddUpRuleMap()
// .get(lastSalaryAcctEmployee.getSalarySobId() + "-" + declaredField.getName());
// String value = BigDecimal.ZERO.toPlainString();
// if (Objects.nonNull(salarySobAddUpRule) && Objects.nonNull(salaryAcctResultValue)) {
// value = salaryAcctResultValue.getResultValue()
// .getOrDefault(Util.null2String(salarySobAddUpRule.getSalaryItemId()), BigDecimal.ZERO.toPlainString());
// }
// valueMap.put(declaredField.getName(), value);
// }
// AddUpSituationPO addUpSituation = AddUpSituationPO.builder()
// .id(IdGenerator.generate())
// .employeeId(lastSalaryAcctEmployee.getEmployeeId())
// .employeeType(lastSalaryAcctEmployee.getEmployeeType())
// .taxAgentId(lastSalaryAcctEmployee.getTaxAgentId())
// .taxYearMonth(YearMonth.parse(taxDeclaration.getTaxCycle()).atDay(1))
// .year(YearMonth.parse(taxDeclaration.getTaxCycle()).getYear())
// .addUpIncome(valueMap.get("addUpIncome"))
// .addUpSocialSecurityTotal(valueMap.get("addUpSocialSecurityTotal"))
// .addUpAccumulationFundTotal(valueMap.get("addUpAccumulationFundTotal"))
// .addUpEnterpriseAndOther(valueMap.get("addUpEnterpriseAndOther"))
// .addUpSubtraction(valueMap.get("addUpSubtraction"))
// .addUpOtherDeduction(valueMap.get("addUpOtherDeduction"))
// .addUpTaxExemptIncome(valueMap.get("addUpTaxExemptIncome"))
// .addUpAllowedDonation(valueMap.get("addUpAllowedDonation"))
// .addUpAdvanceTax(valueMap.get("addUpAdvanceTax"))
// .addUpTaxableIncome(valueMap.get("addUpTaxableIncome"))
// .modifier(taxDeclaration.getCreator())
// .creator(taxDeclaration.getCreator())
// .createTime(taxDeclaration.getCreateTime())
// .updateTime(taxDeclaration.getUpdateTime())
// .tenantKey(taxDeclaration.getTenantKey())
// .deleteType(taxDeclaration.getDeleteType())
// .build();
// addUpSituations.add(addUpSituation);
// }
// return addUpSituations;
// }
//}

View File

@ -0,0 +1,29 @@
package com.engine.salary.entity.taxdeclaration.bo;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @description: 个税申报表计算过程中产生的结果
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/12/2 9:25 AM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclarationGenerateResult {
/**
* 往期累计清空
*/
private List<AddUpSituation> addUpSituations;
/**
* 个税申报明细
*/
private List<TaxDeclarationValuePO> taxDeclarationValues;
}

View File

@ -0,0 +1,165 @@
//package com.engine.salary.entity.taxdeclaration.bo;
//
//import com.engine.salary.report.enums.IncomeCategoryEnum;
//import com.google.common.collect.Lists;
//import com.google.common.collect.Maps;
//import com.weaver.hrm.salary.entity.employeedeclare.po.EmployeeDeclarePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxDeclarationPO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxReportColumnPO;
//import com.weaver.hrm.salary.enums.employeedeclare.CardTypeEnum;
//import com.weaver.hrm.salary.enums.salaryitem.SalaryDataTypeEnum;
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
//import org.apache.commons.collections4.CollectionUtils;
//import org.apache.commons.lang3.StringUtils;
//import weaver.general.Util;
//
//import java.math.BigDecimal;
//import java.math.RoundingMode;
//import java.util.*;
//
///**
// * @description: 个税申报
// * @author: xiajun
// * @modified By: xiajun
// * @date: Created in 2022/11/2 11:18 AM
// * @version:v1.0
// */
//public class TaxDeclarationRequest {
//
// public static Map<String, Object> convert2RequestParam(List<TaxReportColumnPO> taxReportColumns,
// List<TaxDeclarationPO> taxDeclarations,
// List<TaxDeclarationValuePO> taxDeclarationValues,
// List<EmployeeDeclarePO> employeeDeclares) {
// Map<String, Map<String, Object>> objRequestParam = Maps.newHashMap();
// Map<String, List<Map<String, Object>>> listRequestParam = Maps.newHashMap();
// Map<String, List<TaxReportColumnPO>> taxReportColumnMap = SalaryEntityUtil.group2Map(taxReportColumns, TaxReportColumnPO::getIncomeCategory);
// Map<Long, EmployeeDeclarePO> employeeDeclareMap = SalaryEntityUtil.convert2Map(employeeDeclares, EmployeeDeclarePO::getEmployeeId);
// Map<Long, List<TaxDeclarationValuePO>> taxDeclarationValueMap = SalaryEntityUtil.group2Map(taxDeclarationValues, TaxDeclarationValuePO::getTaxDeclarationId);
// for (TaxDeclarationPO taxDeclaration : taxDeclarations) {
// List<TaxDeclarationValuePO> values = taxDeclarationValueMap.get(taxDeclaration.getId());
// for (TaxDeclarationValuePO taxDeclarationValue : values) {
// EmployeeDeclarePO employeeDeclare = employeeDeclareMap.get(taxDeclarationValue.getEmployeeId());
// IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(taxDeclaration.getIncomeCategory());
// if (employeeDeclare == null || incomeCategoryEnum == null) {
// continue;
// }
// List<TaxReportColumnPO> taxReportColumnList = taxReportColumnMap.get(Util.null2String(incomeCategoryEnum.getValue()));
// Map<String, Object> employeeRequestParam = convert2RequestParam(incomeCategoryEnum, taxReportColumnList, taxDeclarationValue, employeeDeclare);
// if (incomeCategoryEnum == IncomeCategoryEnum.WAGES_AND_SALARIES) {
// Map<String, Object> paramMap = objRequestParam.computeIfAbsent("zcgzxj", k -> {
// Map<String, Object> param = new HashMap<>();
// // 正常工资薪金列表
// param.put("zcgzxjlb", Lists.newArrayList());
// // 正常工资薪金是否需要专项
// param.put("zcgzxjsfxyzx", 0);
// // 正常工资薪金是否传入专项累计
// param.put("zcgzxjsfcrlj", 1);
// return param;
// });
// List<Map<String, Object>> employeeRequestParams = (List<Map<String, Object>>) paramMap.computeIfAbsent("zcgzxjlb", K -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.ONETIME_ANNUAL_BONUS) {
// // 全年一次性奖金收入
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("qnycxjjsslb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.COMPENSATION_FOR_RETIRE) {
// // 内退一次性补偿金
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("ntycxbcjlb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.COMPENSATION_FOR_DISMISS) {
// // 解除劳动合同一次性补偿金
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("jcldhtycxbcjlb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.INCOME_FOR_INDIVIDUAL_EQUITY_INCENTIVE) {
// // 个人股权激励收入
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("grgqjl", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.ANNUITY_RECEIPT) {
// // 处理"是否一次性领取"(接口只能传0和1但是接口的错误返回信息告知只能填写是和否所以需要转一下)
// String sfycxlq = Util.null2String(employeeRequestParam.get("sfycxlq"));
// employeeRequestParam.put("sfycxlq", Objects.equals("", sfycxlq) ? "1" : "0");
// // 年金领取
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("qynj", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.REMUNERATION_FOR_LABOR) {
// // 一般劳务报酬所得
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("lwbclb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.INCOME_FOR_INSURANCE_SALESMAN) {
// // 保险营销员佣金收入
// Map<String, Object> paramMap = objRequestParam.computeIfAbsent("bxyxy", k -> {
// Map<String, Object> param = new HashMap<>();
// param.put("bxyxylwbclb", Lists.newArrayList());
// return param;
// });
// List<Map<String, Object>> employeeRequestParams = (List<Map<String, Object>>) paramMap.computeIfAbsent("bxyxylwbclb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.INCOME_FOR_SECURITIES_BROKER) {
// // 证券经纪人佣金收入
// Map<String, Object> paramMap = objRequestParam.computeIfAbsent("zqjjr", k -> {
// Map<String, Object> param = new HashMap<>();
// param.put("zqjjrsdlb", Lists.newArrayList());
// return param;
// });
// List<Map<String, Object>> employeeRequestParams = (List<Map<String, Object>>) paramMap.computeIfAbsent("zqjjrsdlb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.REMUNERATION_FOR_OTHER_CONTINUOUS_LABOR) {
// // 其他连续劳务报酬所得
// Map<String, Object> paramMap = objRequestParam.computeIfAbsent("qtlxlwbc", k -> {
// Map<String, Object> param = new HashMap<>();
// param.put("qtlxlwbclb", Lists.newArrayList());
// return param;
// });
// List<Map<String, Object>> employeeRequestParams = (List<Map<String, Object>>) paramMap.computeIfAbsent("qtlxlwbclb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.REMUNERATION_FOR_OTHER_LABOR) {
// // 其他非连续劳务报酬所得
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("qtflxlwbc", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.REMUNERATION_FOR_AUTHOR) {
// // 稿酬所得
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("gcsdlb", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// } else if (incomeCategoryEnum == IncomeCategoryEnum.ROYALTIES) {
// // 特许权使用费所得
// List<Map<String, Object>> employeeRequestParams = listRequestParam.computeIfAbsent("txq", k -> Lists.newArrayList());
// employeeRequestParams.add(employeeRequestParam);
// }
// }
// }
//
// Map<String, Object> requestParam = Maps.newHashMap();
// requestParam.putAll(objRequestParam);
// requestParam.putAll(listRequestParam);
// return requestParam;
// }
//
// private static Map<String, Object> convert2RequestParam(IncomeCategoryEnum incomeCategoryEnum,
// List<TaxReportColumnPO> taxReportColumns,
// TaxDeclarationValuePO taxDeclarationValue,
// EmployeeDeclarePO employeeDeclare) {
// if (CollectionUtils.isEmpty(taxReportColumns)) {
// return Collections.emptyMap();
// }
// Map<String, Object> requestParam = Maps.newHashMap();
// // 姓名
// requestParam.put("xm", employeeDeclare.getEmployeeName());
// // 证件类型
// requestParam.put("zzlx", CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel());
// // 证件号码
// requestParam.put("zzhm", employeeDeclare.getCardNum());
// // 所得项目
// requestParam.put("sdxm", incomeCategoryEnum.getDefaultLabel());
// for (TaxReportColumnPO taxReportColumn : taxReportColumns) {
// String value = taxDeclarationValue.getResultValue().getOrDefault(taxReportColumn.getReportColumnDataIndex(), StringUtils.EMPTY);
// if (Objects.equals(taxReportColumn.getDataType(), SalaryDataTypeEnum.NUMBER.getValue())) {
// value = Util.getBigDecimalValue(taxDeclarationValue.getResultValue().get(taxReportColumn.getReportColumnDataIndex()), BigDecimal.ZERO).toPlainString();
// } else if (Objects.equals(taxReportColumn.getDataType(), "integer")) {
// value = Util.getBigDecimalValue(taxDeclarationValue.getResultValue().get(taxReportColumn.getReportColumnDataIndex()), BigDecimal.ZERO).setScale(0, RoundingMode.HALF_UP).toPlainString();
// }
// requestParam.put(taxReportColumn.getRequestParamKey(), value);
// }
// return requestParam;
// }
//}

View File

@ -0,0 +1,34 @@
package com.engine.salary.entity.taxdeclaration.bo;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @description: 生成个税申报表最后要处理的数据
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/12/5 6:10 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclarationResult {
/**
* 个税申报表
*/
private List<TaxDeclarationPO> taxDeclarations;
/**
* 个税申报明细
*/
private List<TaxDeclarationValuePO> taxDeclarationValues;
/**
* 往期累计情况
*/
private List<AddUpSituation> addUpSituations;
}

View File

@ -0,0 +1,21 @@
package com.engine.salary.entity.taxdeclaration.bo;
/**
* @description: 生成个税申报表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/12/1 4:47 PM
* @version:v1.0
*/
public interface TaxDeclarationStrategy {
/**
* 生成个税申报表
*
* @param taxDeclareContext
* @param employeeId
* @param tenantKey
* @return
*/
TaxDeclarationGenerateResult generate(TaxDeclareContext taxDeclareContext, Long employeeId, String tenantKey);
}

View File

@ -0,0 +1,115 @@
//package com.engine.salary.entity.taxdeclaration.bo;
//
//import com.google.common.collect.Lists;
//import com.google.common.collect.Maps;
//import com.weaver.common.component.table.column.WeaTableColumn;
//import com.weaver.hrm.salary.entity.employeedeclare.po.EmployeeDeclarePO;
//import com.weaver.hrm.salary.entity.extemployee.po.ExtEmployeePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
//import com.weaver.hrm.salary.entity.taxdeclaration.po.TaxReportColumnPO;
//import com.weaver.hrm.salary.enums.employeedeclare.CardTypeEnum;
//import com.weaver.hrm.salary.enums.salaryaccounting.EmployeeTypeEnum;
//import com.weaver.hrm.salary.enums.salarysob.IncomeCategoryEnum;
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
//import com.weaver.hrm.salary.util.SalaryI18nUtil;
//import com.weaver.teams.domain.hr.SimpleUserInfo;
//import com.weaver.teams.domain.user.SimpleEmployee;
//import lombok.Data;
//import org.apache.commons.collections4.CollectionUtils;
//
//import java.util.Collections;
//import java.util.List;
//import java.util.Map;
//import java.util.Objects;
//
///**
// * @description: 个税申报表详情
// * @author: xiajun
// * @modified By: xiajun
// * @date: 2022/3/14 18:31
// * @version:v1.0
// */
//@Data
//public class TaxDeclarationValueList {
//
// /**
// * 个税申报表的表头
// *
// * @param taxReportColumns
// * @return
// */
// public static List<WeaTableColumn> buildTableColumns(List<TaxReportColumnPO> taxReportColumns) {
// List<WeaTableColumn> weaTableColumns = Lists.newArrayList();
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(86317, "工号"), "jobNum", "120"));
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username", "120"));
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(105139, "证件类型"), "cardType", "120"));
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(86318, "证件号码"), "cardNum", "150"));
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(102786, "所得项目"), "incomeCategory", "120"));
// for (TaxReportColumnPO taxReportColumn : taxReportColumns) {
// weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(taxReportColumn.getReportColumnLabel(), taxReportColumn.getReportColumnName()), taxReportColumn.getReportColumnDataIndex(), "120"));
// }
// return weaTableColumns;
// }
//
// /**
// * 个税申报表的数据
// *
// * @param taxReportColumns
// * @param taxDeclarationValues
// * @param simpleEmployees
// * @param simpleUserInfos
// * @param extEmployees
// * @return
// */
// public static List<Map<String, Object>> buildTableData(IncomeCategoryEnum incomeCategoryEnum,
// List<TaxReportColumnPO> taxReportColumns,
// List<TaxDeclarationValuePO> taxDeclarationValues,
// List<EmployeeDeclarePO> employeeDeclares,
// List<SimpleEmployee> simpleEmployees,
// List<SimpleUserInfo> simpleUserInfos,
// List<ExtEmployeePO> extEmployees) {
// if (CollectionUtils.isEmpty(simpleEmployees)) {
// return Collections.emptyList();
// }
// List<Map<String, Object>> tableDataList = Lists.newArrayList();
// // 员工基本信息按照人员id聚合分类
// Map<Long, SimpleEmployee> simpleEmployeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, SimpleEmployee::getEmployeeId);
// // 员工报送信息按照人员id聚合分类
// Map<Long, EmployeeDeclarePO> employeeDeclareMap = SalaryEntityUtil.convert2Map(employeeDeclares, EmployeeDeclarePO::getEmployeeId);
// // 员工个人信息按照人员id聚合分类
// Map<Long, SimpleUserInfo> simpleUserInfoMap = SalaryEntityUtil.convert2Map(simpleUserInfos, e -> e.getUser().getId());
// // 非系统员工按照人员id聚合分类
// Map<Long, ExtEmployeePO> extEmployeeMap = SalaryEntityUtil.convert2Map(extEmployees, ExtEmployeePO::getId);
// for (TaxDeclarationValuePO taxDeclarationValue : taxDeclarationValues) {
// Map<String, Object> dataMap = Maps.newHashMap();
// dataMap.put("id", taxDeclarationValue.getId().toString());
// dataMap.put("employeeId", taxDeclarationValue.getEmployeeId() + "");
// dataMap.put("incomeCategory", incomeCategoryEnum.getDefaultLabel());
// for (TaxReportColumnPO taxReportColumn : taxReportColumns) {
// dataMap.put(taxReportColumn.getReportColumnDataIndex(), taxDeclarationValue.getResultValue().get(taxReportColumn.getReportColumnDataIndex()));
// }
// EmployeeDeclarePO employeeDeclare = employeeDeclareMap.get(taxDeclarationValue.getEmployeeId());
// if (employeeDeclare != null) {
// dataMap.put("jobNum", employeeDeclare.getJobNum());
// dataMap.put("username", employeeDeclare.getEmployeeName());
// dataMap.put("cardType", SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()));
// dataMap.put("cardNum", employeeDeclare.getCardNum());
// } else if (Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())) {
// SimpleEmployee simpleEmployee = simpleEmployeeMap.get(taxDeclarationValue.getEmployeeId());
// SimpleUserInfo simpleUserInfo = simpleUserInfoMap.get(taxDeclarationValue.getEmployeeId());
// dataMap.put("jobNum", simpleEmployee.getJobNum());
// dataMap.put("username", simpleEmployee.getUsername());
// dataMap.put("cardType", SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()));
// dataMap.put("cardNum", simpleUserInfo == null ? "" : simpleUserInfo.getIdNo());
// } else {
// ExtEmployeePO extEmployee = extEmployeeMap.get(taxDeclarationValue.getEmployeeId());
// dataMap.put("jobNum", "");
// dataMap.put("username", extEmployee.getUsername());
// dataMap.put("cardType", SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()));
// dataMap.put("cardNum", extEmployee.getCardNum());
// }
// tableDataList.add(dataMap);
// }
// return tableDataList;
// }
//}

View File

@ -0,0 +1,60 @@
//package com.engine.salary.entity.taxdeclaration.bo;
//
//import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
//import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
//import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
//import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
//import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
//import com.engine.salary.entity.taxdeclaration.po.TaxReportColumnPO;
//import com.weaver.hrm.salary.entity.salarysob.po.SalarySobAddUpRulePO;
//import com.weaver.hrm.salary.entity.salarysob.po.SalarySobTaxReportRulePO;
//import lombok.Data;
//import lombok.experimental.Accessors;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @description: 生成个税申报表所需的数据
// * @author: xiajun
// * @modified By: xiajun
// * @date: Created in 2022/12/2 2:29 PM
// * @version:v1.0
// */
//@Data
//@Accessors(chain = true)
//public class TaxDeclareContext {
//
// /**
// * 薪资核算记录
// */
// private Map<Long, SalaryAcctRecordPO> salaryAcctRecordMap;
// /**
// * 薪资核算人员
// */
// private List<SalaryAcctEmployeePO> salaryAcctEmployees;
// /**
// * 薪资核算结果
// */
// private List<SalaryAcctResultPO> salaryAcctResultValues;
// /**
// * 个税申报表
// */
// private TaxDeclarationPO taxDeclaration;
// /**
// * 个税申报表字段
// */
// private List<TaxReportColumnPO> taxReportColumns;
// /**
// * 薪资账套的个税申报表规则key薪资账套id-个税申报表字段索引value薪资账套的个税申报表规则
// */
// private Map<String, SalarySobTaxReportRulePO> salarySobTaxReportRuleMap;
// /**
// * 薪资账套的累计字段对应关系key薪资账套id-往期累计情况的字段索引value薪资账套的累计字段对应关系
// */
// private Map<String, SalarySobAddUpRulePO> salarySobAddUpRuleMap;
// /**
// * 薪资项目
// */
// private List<SalaryItemPO> salaryItems;
//}

View File

@ -0,0 +1,88 @@
//package com.engine.salary.entity.taxdeclaration.bo;
//
//import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO;
//import com.engine.salary.entity.taxdeclaration.po.TaxDeclareEmployeePO;
//import com.google.common.collect.Lists;
//import com.weaver.hrm.salary.entity.employeedeclare.po.EmployeeDeclarePO;
//import com.weaver.hrm.salary.entity.extemployee.po.ExtEmployeePO;
//import com.weaver.hrm.salary.enums.employeedeclare.CardTypeEnum;
//import com.weaver.hrm.salary.enums.employeedeclare.DeclareStatusEnum;
//import com.weaver.hrm.salary.enums.salaryaccounting.EmployeeTypeEnum;
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
//import com.weaver.hrm.salary.util.SalaryEnumUtil;
//import com.weaver.hrm.salary.util.SalaryI18nUtil;
//import com.weaver.teams.domain.hr.SimpleUserInfo;
//import com.weaver.teams.domain.user.SimpleEmployee;
//import org.apache.commons.collections4.CollectionUtils;
//
//import java.util.Collections;
//import java.util.List;
//import java.util.Map;
//import java.util.Objects;
//import java.util.function.Function;
//import java.util.stream.Collectors;
//
///**
// * @description: 个税申报明细表中的人员
// * @author: xiajun
// * @modified By: xiajun
// * @date: Created in 2022/11/10 4:20 PM
// * @version:v1.0
// */
//public class TaxDeclareEmployeeBO {
//
// public static List<AbnormalEmployeeListDTO> convert2AbnormalEmployee(List<TaxDeclareEmployeePO> taxDeclareEmployees,
// List<EmployeeDeclarePO> employeeDeclares,
// List<SimpleEmployee> simpleEmployees,
// List<SimpleUserInfo> simpleUserInfos,
// List<ExtEmployeePO> extEmployees) {
// if (CollectionUtils.isEmpty(taxDeclareEmployees)) {
// return Collections.emptyList();
// }
// List<AbnormalEmployeeListDTO> abnormalEmployeeList = Lists.newArrayList();
// Map<Long, EmployeeDeclarePO> employeeDeclareMap = SalaryEntityUtil.convert2Map(employeeDeclares, EmployeeDeclarePO::getEmployeeId);
// Map<Long, SimpleEmployee> simpleEmployeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, SimpleEmployee::getEmployeeId);
// Map<Long, SimpleUserInfo> simpleUserInfoMap = simpleUserInfos.stream()
// .filter(simpleUserInfo -> Objects.nonNull(simpleUserInfo) && Objects.nonNull(simpleUserInfo.getUser()))
// .collect(Collectors.toMap(simpleUserInfo -> simpleUserInfo.getUser().getId(), Function.identity(), (a, b) -> a));
// Map<Long, ExtEmployeePO> extEmployeePOMap = SalaryEntityUtil.convert2Map(extEmployees, ExtEmployeePO::getId);
// for (TaxDeclareEmployeePO taxDeclareEmployee : taxDeclareEmployees) {
// AbnormalEmployeeListDTO abnormalEmployeeListDTO = new AbnormalEmployeeListDTO()
// .setId(taxDeclareEmployee.getEmployeeId())
// .setEmployeeId(taxDeclareEmployee.getEmployeeId())
// .setEmployeeType(taxDeclareEmployee.getEmployeeType());
// EmployeeDeclarePO employeeDeclare = employeeDeclareMap.get(taxDeclareEmployee.getEmployeeId());
// if (employeeDeclare != null) {
// DeclareStatusEnum declareStatusEnum = SalaryEnumUtil.enumMatchByValue(employeeDeclare.getDeclareStatus(), DeclareStatusEnum.class);
// abnormalEmployeeListDTO
// .setEmployeeName(employeeDeclare.getEmployeeName())
// .setJobNum(employeeDeclare.getJobNum())
// .setCardType(SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()))
// .setCardNum(employeeDeclare.getCardNum())
// .setDeclareStatus(declareStatusEnum)
// .setDeclareStatusDesc(declareStatusEnum == null ? "" : SalaryI18nUtil.getI18nLabel(declareStatusEnum.getLabelId(), declareStatusEnum.getDefaultLabel()));
// } else if (Objects.equals(taxDeclareEmployee.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())) {
// SimpleEmployee simpleEmployee = simpleEmployeeMap.get(taxDeclareEmployee.getEmployeeId());
// SimpleUserInfo simpleUserInfo = simpleUserInfoMap.get(taxDeclareEmployee.getEmployeeId());
// abnormalEmployeeListDTO
// .setEmployeeName(simpleEmployee.getUsername())
// .setJobNum(simpleEmployee.getJobNum())
// .setCardType(SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()))
// .setCardNum(simpleUserInfo == null ? "" : simpleUserInfo.getIdNo())
// .setDeclareStatus(null)
// .setDeclareStatusDesc(SalaryI18nUtil.getI18nLabel(177863, "报送人员列表中无此人员"));
// } else {
// ExtEmployeePO extEmployee = extEmployeePOMap.get(taxDeclareEmployee.getEmployeeId());
// abnormalEmployeeListDTO
// .setEmployeeName(extEmployee.getUsername())
// .setJobNum("")
// .setCardType(SalaryI18nUtil.getI18nLabel(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getLabelId(), CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel()))
// .setCardNum(extEmployee.getCardNum())
// .setDeclareStatus(null)
// .setDeclareStatusDesc(SalaryI18nUtil.getI18nLabel(177863, "报送人员列表中无此人员"));
// }
// abnormalEmployeeList.add(abnormalEmployeeListDTO);
// }
// return abnormalEmployeeList;
// }
//}

View File

@ -0,0 +1,41 @@
package com.engine.salary.entity.taxdeclaration.bo;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationApiConfigPO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Map;
/**
* @description: 个税申报相关接口的请求参数
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2023/2/6 5:24 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclareRequest {
/**
* 供应商信息
*/
private TaxDeclarationApiConfigPO taxDeclarationApiConfig;
/**
* 个税扣缴义务人
*/
private TaxAgentPO taxAgent;
/**
* 个税申报记录
*/
private TaxDeclareRecordPO taxDeclareRecord;
/**
* 请求参数
*/
private Map<String, Object> requestParam;
}

View File

@ -0,0 +1,78 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.weaver.common.component.table.type.WeaTableTypeEnum;
import com.weaver.hrm.salary.annotation.SalaryTable;
import com.weaver.hrm.salary.annotation.SalaryTableColumn;
import com.weaver.hrm.salary.enums.employeedeclare.DeclareStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.map.ser.std.ToStringSerializer;
/**
* @description: 个税申报-校验异常的人员列表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/10 2:28 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
@SalaryTable(tableType = WeaTableTypeEnum.NONE, pageUid = "abnormalEmployeeList")
public class AbnormalEmployeeListDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("关联人员类型")
private Integer employeeType;
@ApiModelProperty("关联人员id")
@JsonSerialize(using = ToStringSerializer.class)
private Long employeeId;
@SalaryTableColumn(
label = "姓名",
labelId = 85429,
width = "150"
)
@ApiModelProperty("姓名")
private String employeeName;
@SalaryTableColumn(
label = "工号",
labelId = 86317,
width = "150"
)
@ApiModelProperty("工号")
private String jobNum;
@SalaryTableColumn(
label = "证件类型",
labelId = 105139,
width = "150"
)
@ApiModelProperty("证件类型")
private String cardType;
@SalaryTableColumn(
label = "证件号码",
labelId = 86318,
width = "150"
)
@ApiModelProperty("证件号码")
private String cardNum;
@ApiModelProperty("报送状态")
private DeclareStatusEnum declareStatus;
@SalaryTableColumn(
label = "报送状态",
labelId = 177862,
width = "150"
)
@ApiModelProperty("报送状态")
private String declareStatusDesc;
}

View File

@ -0,0 +1,71 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.weaver.common.component.table.type.WeaTableTypeEnum;
import com.weaver.hrm.salary.annotation.SalaryTable;
import com.weaver.hrm.salary.annotation.SalaryTableColumn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.map.ser.std.ToStringSerializer;
/**
* @description: 个税申报-申报失败的人员列表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/30 2:22 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
@SalaryTable(tableType = WeaTableTypeEnum.NONE, pageUid = "failEmployeeList")
public class FailEmployeeListDTO {
@ApiModelProperty("主键id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@SalaryTableColumn(
label = "姓名",
labelId = 85429,
width = "150"
)
@ApiModelProperty("姓名")
private String employeeName;
@ApiModelProperty("个税扣缴义务人id")
@JsonSerialize(using = ToStringSerializer.class)
private Long taxAgentId;
@SalaryTableColumn(
label = "个税扣缴义务人名称",
labelId = 91558,
width = "150"
)
@ApiModelProperty("个税扣缴义务人名称")
private String taxAgentName;
@SalaryTableColumn(
label = "证件号码",
labelId = 86318,
width = "150"
)
@ApiModelProperty("证件号码")
private String cardNum;
@SalaryTableColumn(
label = "失败原因",
labelId = 156405,
width = "150"
)
@ApiModelProperty("失败原因")
private String errorMsg;
@SalaryTableColumn(
label = "所得项目",
labelId = 102786,
width = "150"
)
@ApiModelProperty("所得项目")
private String incomeCategory;
}

View File

@ -0,0 +1,33 @@
package com.engine.salary.entity.taxdeclaration.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @description:
* @author: xiajun
* @modified By: xiajun
* @date: 2022/7/12 11:39
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclarationRateDTO implements Serializable {
private static final long serialVersionUID = 8478996890743085394L;
@ApiModelProperty("缓存索引")
private String index;
@ApiModelProperty("提示信息")
private String msg;
@ApiModelProperty("状态")
private boolean status;
@ApiModelProperty("是否已经完成")
private boolean finish;
@ApiModelProperty("提示信息是否自动消失")
private boolean msgPersist;
}

View File

@ -0,0 +1,30 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.weaver.hrm.salary.enums.salarysob.IncomeCategoryEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @description: 个税申报表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/10 11:40 AM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclarationTabDTO {
@ApiModelProperty("Tab页签的名称")
private String tabName;
@ApiModelProperty("收入所得类型")
private IncomeCategoryEnum incomeCategory;
@ApiModelProperty("个税申报表id")
@JsonSerialize(using = ToStringSerializer.class)
private Long taxDeclarationId;
}

View File

@ -0,0 +1,30 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.weaver.common.component.table.column.WeaTableColumn;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
import java.util.Map;
/**
* @description: 个税申报表详情列表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/12/6 1:28 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class TaxDeclarationValueListDTO {
/**
* 个税申报表表头
*/
private List<WeaTableColumn> columns;
/**
* 个税申报表数据
*/
private List<Map<String, Object>> data;
}

View File

@ -0,0 +1,64 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.weaver.common.component.form.item.WeaFormItemType;
import com.weaver.hrm.salary.annotation.SalaryForm;
import com.weaver.hrm.salary.annotation.SalaryFormItem;
import com.weaver.hrm.salary.enums.taxdeclaration.TaxAgentRangeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.YearMonth;
import java.util.List;
import java.util.Map;
/**
* @description: 个税申报记录表单
* @author: xiajun
* @modified By: xiajun
* @date: Created in 12/15/21 9:40 AM
* @version:v1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("个税申报记录表单")
public class TaxDeclareRecordFormDTO {
@SalaryForm(
label = "薪资所属月",
labelId = 87614,
items = @SalaryFormItem(itemType = WeaFormItemType.DATEPICKER, required = true)
)
@ApiModelProperty("薪资所属月")
private YearMonth salaryMonth;
@SalaryForm(
label = "个税扣缴义务人范围",
labelId = 160476,
items = @SalaryFormItem(itemType = WeaFormItemType.RADIO, required = true, optionsEnum = TaxAgentRangeEnum.class)
)
@ApiModelProperty("个税扣缴义务人范围")
private TaxAgentRangeEnum taxAgentRange;
@SalaryForm(
label = "个税扣缴义务人",
labelId = 86184,
items = @SalaryFormItem(itemType = WeaFormItemType.BROWSER, required = true, browserModule = "hrmsalary",
browserType = "TaxAgentBrowser", browserMultiple = true)
)
@ApiModelProperty("个税扣缴义务人id")
private List<Map<String, Object>> taxAgentIds;
@SalaryForm(
label = "备注",
labelId = 84961,
items = @SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "30")
)
@ApiModelProperty("备注")
private String description;
}

View File

@ -0,0 +1,121 @@
package com.engine.salary.entity.taxdeclaration.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.weaver.common.component.table.type.WeaTableTypeEnum;
import com.weaver.hrm.salary.annotation.SalaryTable;
import com.weaver.hrm.salary.annotation.SalaryTableColumn;
import com.weaver.hrm.salary.annotation.SalaryTableOperate;
import com.weaver.hrm.salary.enums.taxdeclaration.TaxDeclareStatusEnum;
import com.weaver.hrm.salary.enums.taxdeclaration.TaxDeclareTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @description: 个税申报记录列表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/10 9:25 AM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
@SalaryTable(value = {
@SalaryTableOperate(index = 0, text = "查看详情", labelId = 93216, outer = true),
@SalaryTableOperate(index = 1, text = "删除", labelId = 87061, outer = true)
}, tableType = WeaTableTypeEnum.NONE, pageUid = "taxAgentDeclareList")
public class TaxDeclareRecordListDTO {
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("个税扣缴义务人")
@JsonSerialize(using = ToStringSerializer.class)
private Long taxAgentId;
@SalaryTableColumn(
label = "个税扣缴义务人",
labelId = 86184,
width = "15%"
)
@ApiModelProperty("个税扣缴义务人名称")
private String taxAgentName;
@SalaryTableColumn(
label = "薪资所属月",
labelId = 87614,
width = "10%"
)
@ApiModelProperty("薪资所属月")
private String salaryMonth;
@SalaryTableColumn(
label = "税款所属期",
labelId = 86176,
width = "10%"
)
@ApiModelProperty("税款所属期")
private String taxCycle;
@ApiModelProperty("申报类型")
private TaxDeclareTypeEnum taxDeclareType;
@SalaryTableColumn(
label = "申报类型",
labelId = 177641,
width = "10%"
)
@ApiModelProperty("申报类型")
private String taxDeclareTypeDesc;
@ApiModelProperty("申报状态")
private TaxDeclareStatusEnum taxDeclareStatus;
@SalaryTableColumn(
label = "申报状态",
labelId = 156414,
width = "10%"
)
@ApiModelProperty("申报状态")
private String taxDeclareStatusDesc;
@SalaryTableColumn(
label = "已缴金额",
labelId = 179035,
width = "10%"
)
@ApiModelProperty("已缴金额")
private String taxPaidAmount;
@ApiModelProperty("操作人id")
@JsonSerialize(using = ToStringSerializer.class)
private Long operateEmployeeId;
@SalaryTableColumn(
label = "操作人",
labelId = 85435,
width = "10%"
)
@ApiModelProperty("操作人名称")
private String operateEmployeeName;
@SalaryTableColumn(
label = "操作时间",
labelId = 85436,
width = "15%"
)
@ApiModelProperty("操作时间")
private String operateTime;
@SalaryTableColumn(
label = "备注",
labelId = 84961,
width = "10%"
)
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("是否展示图标")
private boolean displayIcon;
}

View File

@ -0,0 +1,33 @@
package com.engine.salary.entity.taxdeclaration.param;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.weaver.hrm.salary.common.BaseQueryParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @description: 个税申报-异常数据-未报送人员列表
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/10 1:54 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
public class AbnormalEmployeeListQueryParam extends BaseQueryParam {
@ApiModelProperty("工号、姓名、身份证号码")
private String keyword;
@ApiModelProperty("个税申报记录id")
private Long taxDeclareRecordId;
@JsonIgnore
@ApiModelProperty("个税扣缴义务人id")
private Long taxAgentId;
@JsonIgnore
@ApiModelProperty("税款所属期")
private String taxCycle;
}

View File

@ -0,0 +1,31 @@
package com.engine.salary.entity.taxdeclaration.param;
import com.weaver.hrm.salary.common.BaseQueryParam;
import com.weaver.hrm.salary.enums.salarysob.IncomeCategoryEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 个税申报记录详情列表查询参数
* @author: xiajun
* @modified By: xiajun
* @date: Created in 12/15/21 3:21 PM
* @version:v1.0
*/
@Data
@ApiModel("个税申报表记录列表查询参数")
public class TaxDeclarationValueListQueryParam extends BaseQueryParam {
@ApiModelProperty("个税申报记录id")
private Long taxDeclareRecordId;
@ApiModelProperty("个税申报表id")
private Long taxDeclarationId;
@ApiModelProperty("收入所得项目")
private IncomeCategoryEnum incomeCategory;
@ApiModelProperty("导出excel时加密的密码")
private String sharePassword;
}

View File

@ -0,0 +1,18 @@
package com.engine.salary.entity.taxdeclaration.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 个税申报
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/11 2:56 PM
* @version:v1.0
*/
@Data
public class TaxDeclareRecordParam {
@ApiModelProperty("个税申报记录id")
private Long taxDeclareRecordId;
}

View File

@ -0,0 +1,90 @@
package com.engine.salary.entity.taxdeclaration.po;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 个税申报相关api配置
*
* @author chengliming
* @date 2022-11-09 09:49:08
*/
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_declare_api_config")
public class TaxDeclarationApiConfigPO implements Serializable {
private static final long serialVersionUID = 2287550079146871129L;
/**
* 主键id
*/
private Long id;
/**
* 接口host
*/
private String host;
/**
* app key
*/
private String appKey;
/**
* 密钥
*/
private String appSecret;
/**
* 是否开启使用
*/
private Integer enableUse;
/**
* 总流量
*/
private Long totality;
/**
* 剩余流量
*/
private Long remain;
/**
* 流量最后更新时间
*/
private LocalDateTime lastUpdateTime;
/**
* 租户key
*/
private String tenantKey;
/**
* 创建人id
*/
private Long creator;
/**
* 是否删除
*/
private Integer deleteType;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,65 @@
package com.engine.salary.entity.taxdeclaration.po;
import com.engine.salary.enums.taxdeclaration.TaxDeclareApiProfileEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 个税申报相关api配置
*
* @author chengliming
* @date 2022-11-09 09:49:08
*/
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_declare_api_profile")
public class TaxDeclarationApiProfilePO implements Serializable {
private static final long serialVersionUID = 8281861662866222040L;
/**
* 主键id
*/
private Long id;
/**
* 接口环境
*
* @see TaxDeclareApiProfileEnum
*/
private Integer apiProfile;
/**
* 租户key
*/
private String tenantKey;
/**
* 创建人id
*/
private Long creator;
/**
* 是否删除
*/
private Integer deleteType;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,80 @@
package com.engine.salary.entity.taxdeclaration.po;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;
/**
* @description: 个税申报表的值
* @author: xiajun
* @modified By: xiajun
* @date: Created in 9/27/22 5:03 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
//hrsa_tax_declaration_value")
public class TaxDeclarationValuePO implements Serializable {
/**
* 主键id
*/
private Long id;
/**
* 个税申报表id
*/
private Long taxDeclarationId;
/**
* 个税申报记录id
*/
private Long taxDeclareRecordId;
/**
* 人员类型
*/
private Integer employeeType;
/**
* 人员id
*/
private Long employeeId;
/**
* 薪资核算结果
*/
private Map<String, String> resultValue;
/**
* 薪资核算结果只在加密解密中使用
*/
private String resultValueJson;
/**
* 租户key
*/
private String tenantKey;
/**
* 创建人id
*/
private Long creator;
/**
* 是否删除
*/
private Integer deleteType;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,21 @@
package com.engine.salary.entity.taxdeclaration.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 个税申报中的人员
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/10 4:03 PM
* @version:v1.0
*/
@Data
public class TaxDeclareEmployeePO {
@ApiModelProperty("人员id")
private Long employeeId;
@ApiModelProperty("人员类型")
private Integer employeeType;
}

View File

@ -0,0 +1,57 @@
package com.engine.salary.entity.taxdeclaration.po;
import com.engine.salary.report.enums.IncomeCategoryEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @description: 个税申报失败数据
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/30 11:38 AM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
//hrsa_tax_declare_fail")
public class TaxDeclareFailPO implements Serializable {
private static final long serialVersionUID = -7908151391741544058L;
private Long id;
private Long taxDeclareRecordId;
/**
* @see IncomeCategoryEnum
*/
//所得项目")
private String incomeCategory;
//姓名")
private String employeeName;
//证件号码")
private String cardNum;
//失败原因")
private String errorMsg;
//租户key", ignore = true)
private String tenantKey;
//创建人id", ignore = true)
private Long creator;
//是否删除", ignore = true)
private Integer deleteType;
//创建时间", ignore = true)
private Date createTime;
//更新时间", ignore = true)
private Date updateTime;
}

View File

@ -0,0 +1,111 @@
package com.engine.salary.entity.taxdeclaration.po;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @description: 个税申报
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/2 5:40 PM
* @version:v1.0
*/
@Data
@Accessors(chain = true)
//hrsa_tax_declare_record")
//个税申报记录")
public class TaxDeclareRecordPO implements Serializable {
private static final long serialVersionUID = -1891927328401341853L;
/**
* 主键id
*/
//主键id")
private Long id;
/**
* 个税扣缴义务人id
*/
//个税扣缴义务人")
private Long taxAgentId;
/**
* 薪资所属月
*/
//薪资所属月")
private String salaryMonth;
/**
* 税款所属期
*/
//税款所属期")
private String taxCycle;
/**
* 申报类型
*/
//申报类型")
private Integer taxDeclareType;
/**
* 申报状态
*/
//申报状态")
private Integer taxDeclareStatus;
/**
* 申报失败的错误信息
*/
//申报失败的错误信息")
private String taxDeclareErrorMsg;
/**
* 请求的requestId
*/
//请求的requestId")
private String requestId;
/**
* 备注
*/
//备注")
private String remark;
//应缴金额")
private String taxPayAmount;
//实缴总额")
private String taxPaidAmount;
//实缴税额不含滞纳金等")
private String taxPurePaidAmount;
//申报人数")
private Integer personNum;
/**
* 个税申报表的待刷新数据的标识
*/
//个税申报表的待刷新数据的标识")
private Integer displayUpdateIcon;
/**
* 租户key
*/
//租户key", ignore = true)
private String tenantKey;
/**
* 创建人id
*/
//创建人id", ignore = true)
private Long creator;
/**
* 是否删除
*/
//是否删除", ignore = true)
private Integer deleteType;
/**
* 创建时间
*/
//创建时间", ignore = true)
private LocalDateTime createTime;
/**
* 更新时间
*/
//更新时间", ignore = true)
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,45 @@
package com.engine.salary.entity.taxdeclaration.po;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @description: 个税申报表表头
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/28 5:28 PM
* @version:v1.0
*/
@Data
//name = "个税申报表表头")
//hrsa_tax_report_column")
public class TaxReportColumnPO {
//name = "主键id")
private Long id;
//name = "报表类型")
private String taxReportType;
//name = "所得项目")
private String incomeCategory;
//name = "申报表的列名")
private String reportColumnName;
//name = "申报表的列名多语言标签")
private Integer reportColumnLabel;
//name = "申报表的列索引")
private String reportColumnDataIndex;
//name = "数值类型")
private String dataType;
//name = "个税对接时的参数key")
private String requestParamKey;
//name = "租户key", ignore = true)
private String tenantKey;
//name = "创建人id", ignore = true)
private Long creator;
//name = "是否删除", ignore = true)
private Integer deleteType;
//name = "创建时间", ignore = true)
private LocalDateTime createTime;
//name = "更新时间", ignore = true)
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,24 @@
package com.engine.salary.entity.taxdeclaration.response;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @description: 作废申报的反馈
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/3 11:32 AM
* @version:v1.0
*/
@Data
public class CancelDeclareFeedbackResponse {
@ApiModelProperty("接口状态")
private SzyhResponseHead head;
@ApiModelProperty("接口状态")
private Map<String, Object> body;
}

View File

@ -0,0 +1,23 @@
package com.engine.salary.entity.taxdeclaration.response;
import com.engine.salary.common.taxdeclare.AsyncRequestIdDTO;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 作废申报的返回数据
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/3 11:17 AM
* @version:v1.0
*/
@Data
public class CancelDeclareResponse {
@ApiModelProperty("接口状态")
private SzyhResponseHead head;
@ApiModelProperty("接口数据")
private AsyncRequestIdDTO body;
}

View File

@ -0,0 +1,24 @@
package com.engine.salary.entity.taxdeclaration.response;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @description: 申报个税的反馈
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/3 11:32 AM
* @version:v1.0
*/
@Data
public class DeclareTaxFeedbackResponse {
@ApiModelProperty("接口状态")
private SzyhResponseHead head;
@ApiModelProperty("接口状态")
private Map<String, Object> body;
}

View File

@ -0,0 +1,23 @@
package com.engine.salary.entity.taxdeclaration.response;
import com.engine.salary.common.taxdeclare.AsyncRequestIdDTO;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 个税申报的返回数据
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/11/3 11:17 AM
* @version:v1.0
*/
@Data
public class DeclareTaxResponse {
@ApiModelProperty("接口状态")
private SzyhResponseHead head;
@ApiModelProperty("接口数据")
private AsyncRequestIdDTO body;
}

View File

@ -0,0 +1,21 @@
package com.engine.salary.entity.taxdeclaration.response;
import com.engine.salary.entity.taxagent.response.SzyhResponseHead;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 更正申报的返回数据
* @author: xiajun
* @modified By: xiajun
* @date: Created in 2022/12/15 2:45 PM
* @version:v1.0
*/
@Data
@ApiModel("更正申报的返回数据")
public class UpdateDeclareResponse {
@ApiModelProperty("接口状态")
private SzyhResponseHead head;
}

View File

@ -1,6 +1,5 @@
package com.engine.salary.entity.taxpayment.dto;
import com.weaver.common.component.form.WeaForm;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -22,7 +21,7 @@ import java.util.Map;
@ApiModel("查询缴费信息")
public class TaxAgreementFormDTO extends TaxFeedbackResultDTO {
private WeaForm form;
// private WeaForm form;
private Map<String, String> count;
}

View File

@ -1,58 +1,58 @@
package com.engine.salary.entity.taxpayment.dto;
import com.weaver.common.component.form.item.WeaFormItemType;
import com.weaver.hrm.salary.annotation.SalaryForm;
import com.weaver.hrm.salary.annotation.SalaryFormItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 查询缴费信息
*
* @author chengliming
* @date 2022-12-27 13:25:42
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("查询缴费信息")
public class TaxAmountFormDTO {
@SalaryForm(
label = "个税扣缴义务人",
labelId = 86184,
labelSpan = 8,
items = {
@SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
}
)
@ApiModelProperty("个税扣缴义务人")
private String taxAgent;
@SalaryForm(
label = "应缴金额",
labelId = 175126,
labelSpan = 8,
items = {
@SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
}
)
@ApiModelProperty("应缴金额")
private String amount;
@SalaryForm(
label = "申报人数",
labelId = 175128,
labelSpan = 8,
items = {
@SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
}
)
@ApiModelProperty("申报人数")
private String personNum;
}
//package com.engine.salary.entity.taxpayment.dto;
//
//import com.weaver.common.component.form.item.WeaFormItemType;
//import com.weaver.hrm.salary.annotation.SalaryForm;
//import com.weaver.hrm.salary.annotation.SalaryFormItem;
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.AllArgsConstructor;
//import lombok.Builder;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//
///**
// * 查询缴费信息
// *
// * @author chengliming
// * @date 2022-12-27 13:25:42
// */
//@Data
//@Builder
//@NoArgsConstructor
//@AllArgsConstructor
//@ApiModel("查询缴费信息")
//public class TaxAmountFormDTO {
//
// @SalaryForm(
// label = "个税扣缴义务人",
// labelId = 86184,
// labelSpan = 8,
// items = {
// @SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
// }
// )
// @ApiModelProperty("个税扣缴义务人")
// private String taxAgent;
//
// @SalaryForm(
// label = "应缴金额",
// labelId = 175126,
// labelSpan = 8,
// items = {
// @SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
// }
// )
// @ApiModelProperty("应缴金额")
// private String amount;
//
// @SalaryForm(
// label = "申报人数",
// labelId = 175128,
// labelSpan = 8,
// items = {
// @SalaryFormItem(itemType = WeaFormItemType.INPUT, maxLength = "50", readOnly = true)
// }
// )
// @ApiModelProperty("申报人数")
// private String personNum;
//}

View File

@ -1,9 +1,5 @@
package com.engine.salary.entity.taxpayment.dto;
import com.weaver.common.component.form.item.WeaFormItemType;
import com.weaver.hrm.salary.annotation.SalaryForm;
import com.weaver.hrm.salary.annotation.SalaryFormItem;
import com.weaver.hrm.salary.enums.taxdeclaration.TaxPaymentTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@ -24,14 +20,6 @@ import lombok.NoArgsConstructor;
@ApiModel("查询缴费信息")
public class TaxPayTypeFormDTO {
@SalaryForm(
label = "缴款方式",
labelId = 175127,
labelSpan = 8,
items = {
@SalaryFormItem(itemType = WeaFormItemType.RADIO, required = true, optionsEnum = TaxPaymentTypeEnum.class)
}
)
@ApiModelProperty("缴款方式")
private String type;

View File

@ -13,7 +13,7 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("查询缴费凭证")
public class TaxWithholdingVoucherFeedbackDTO extends TaxFeedbackResultDTO{
public class TaxWithholdingVoucherFeedbackDTO extends TaxFeedbackResultDTO {
/**
* 申报类型代码
*/

View File

@ -1,6 +1,5 @@
package com.engine.salary.entity.taxpayment.param;
import com.weaver.hrm.salary.enums.taxdeclaration.TaxPaymentServiceTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@ -31,7 +30,7 @@ public class TaxPaymentQueryParam {
private Long taxDeclareRecordId;
/**
* @see TaxPaymentServiceTypeEnum
* TaxPaymentServiceTypeEnum
*/
@ApiModelProperty("业务类型")
private Integer type;

View File

@ -1,7 +1,5 @@
package com.engine.salary.entity.taxpayment.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.weaver.common.elog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -21,85 +19,85 @@ import java.time.LocalDateTime;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("hrsa_tax_payment_request")
@ElogTransform(name = "个税辅助缴款-请求信息")
//hrsa_tax_payment_request")
//个税辅助缴款-请求信息")
public class TaxPaymentRequestPO implements Serializable {
private static final long serialVersionUID = -203732044881927518L;
/**
* 主键id
*/
@ElogTransform(name = "主键id")
//主键id")
private Long id;
/**
* 个税扣缴义务人的主键id
*/
@ElogTransform(name = "个税扣缴义务人的主键id")
//个税扣缴义务人的主键id")
private Long taxAgentId;
/**
* 个税申报记录ID
*/
@ElogTransform(name = "个税申报记录id")
//个税申报记录id")
private Long taxDeclareRecordId;
/**
* 税款所属期
*/
@ElogTransform(name = "税款所属期")
//税款所属期")
private LocalDate taxYearMonth;
/**
* 异步请求ID
*/
@ElogTransform(name = "异步请求ID")
//异步请求ID")
private String requestId;
/**
* 请求类型
*
* @see com.weaver.hrm.salary.enums.taxdeclaration.TaxPaymentServiceTypeEnum
* com.weaver.hrm.salary.enums.taxdeclaration.TaxPaymentServiceTypeEnum
*/
@ElogTransform(name = "异步请求ID")
//异步请求ID")
private Integer requestType;
/**
* 是否已获取反馈
*
* @see com.weaver.hrm.salary.enums.salaryitem.SalaryOnOffEnum
* com.weaver.hrm.salary.enums.salaryitem.SalaryOnOffEnum
*/
@ElogTransform(name = "是否已获取反馈")
//是否已获取反馈")
private Integer feedback;
/**
* 租户key
*/
@ElogTransform(name = "租户key", ignore = true)
//租户key", ignore = true)
private String tenantKey;
/**
* 创建人id
*/
@ElogTransform(name = "创建人id", ignore = true)
//创建人id", ignore = true)
private Long creator;
/**
* 是否删除
*/
@ElogTransform(name = "是否删除", ignore = true)
//是否删除", ignore = true)
private Integer deleteType;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间", ignore = true)
//创建时间", ignore = true)
private LocalDateTime createTime;
/**
* 更新时间
*/
@ElogTransform(name = "更新时间", ignore = true)
//更新时间", ignore = true)
private LocalDateTime updateTime;
}

View File

@ -1,6 +1,7 @@
package com.engine.salary.enums;
import java.util.Objects;
/**
* @description:
@ -40,4 +41,14 @@ public enum SalaryOnOffEnum implements BaseEnum<Integer> {
public Integer getLabelId() {
return labelId;
}
public static SalaryOnOffEnum parseByValue(int value) {
for (SalaryOnOffEnum onOffEnum : SalaryOnOffEnum.values()) {
if (Objects.equals(onOffEnum.getValue(), value)) {
return onOffEnum;
}
}
return null;
}
}

View File

@ -0,0 +1,51 @@
package com.engine.salary.enums.taxagent;
import java.util.Objects;
/**
* 个人扣缴义务人-报税信息-验证类型
*
* @author chengliming
* @date 2022-08-31 10:51:19
*/
public enum TaxAgentTaxReturnCheckTypeEnum {
/**
* 报税信息验证
*/
MAIN_CHECK(1, "报税信息验证"),
/**
* 登记序号+税号验证
*/
REGISTRATION_CHECK(2, "登记序号+税号验证"),
/**
* 部门编码验证
*/
DEPARTMENT_CHECK(3, "部门编码验证");
private final int value;
private final String defaultLabel;
TaxAgentTaxReturnCheckTypeEnum(int value, String defaultLabel) {
this.value = value;
this.defaultLabel = defaultLabel;
}
public Integer getValue() {
return value;
}
public String getDefaultLabel() {
return defaultLabel;
}
public static TaxAgentTaxReturnCheckTypeEnum parseByValue(int value) {
for (TaxAgentTaxReturnCheckTypeEnum typeEnum : TaxAgentTaxReturnCheckTypeEnum.values()) {
if (Objects.equals(typeEnum.getValue(), value)) {
return typeEnum;
}
}
return null;
}
}

View File

@ -0,0 +1,59 @@
package com.engine.salary.enums.taxagent;
import com.engine.salary.enums.BaseEnum;
import java.util.Objects;
/**
* 个人扣缴义务人-报税信息-密码校验类型
*
* @author chengliming
* @date 2022-08-31 10:51:19
*/
public enum TaxAgentTaxReturnPasswordTypeEnum implements BaseEnum<Integer> {
/**
* 个税网报密码
*/
TAX_NET_PASSWORD(0, "个税网报密码", 144391),
/**
* 实名账号密码
*/
REAL_NAME_PASSWORD(2, "实名账号密码", 144392);
private final int value;
private final String defaultLabel;
private final int labelId;
TaxAgentTaxReturnPasswordTypeEnum(int value, String defaultLabel, int labelId) {
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
}
@Override
public Integer getValue() {
return value;
}
@Override
public String getDefaultLabel() {
return defaultLabel;
}
@Override
public Integer getLabelId() {
return labelId;
}
public static TaxAgentTaxReturnPasswordTypeEnum parseByValue(int value) {
for (TaxAgentTaxReturnPasswordTypeEnum typeEnum : TaxAgentTaxReturnPasswordTypeEnum.values()) {
if (Objects.equals(typeEnum.getValue(), value)) {
return typeEnum;
}
}
return null;
}
}

Some files were not shown because too many files have changed in this diff Show More