在线算税时校验人员是否已报送
This commit is contained in:
parent
af8cce8525
commit
d52e146001
|
|
@ -0,0 +1,37 @@
|
|||
package com.engine.salary.entity.salaryacct.dto;
|
||||
|
||||
import com.engine.salary.annotation.TableTitle;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 未报送人员列表
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AbnormalEmployeeListDTO {
|
||||
|
||||
//主键id
|
||||
private Long id;
|
||||
|
||||
//人员id
|
||||
private Long employeeId;
|
||||
|
||||
//姓名
|
||||
@TableTitle(title = "姓名", dataIndex = "employeeName", key = "employeeName")
|
||||
private String employeeName;
|
||||
|
||||
//工号")
|
||||
@TableTitle(title = "工号", dataIndex = "jobNum", key = "jobNum")
|
||||
private String jobNum;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.engine.salary.entity.salaryacct.param;
|
||||
|
||||
import com.engine.salary.common.BaseQueryParam;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 未报送人员列表
|
||||
* <p>Copyright: Copyright (c) 2023</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AbnormalEmployeeListQueryParam extends BaseQueryParam {
|
||||
|
||||
//工号、姓名、身份证号码")
|
||||
private String keyword;
|
||||
|
||||
//个税申报记录id")
|
||||
private Long recordId;
|
||||
|
||||
@JsonIgnore
|
||||
//个税扣缴义务人id")
|
||||
private Long taxAgentId;
|
||||
|
||||
@JsonIgnore
|
||||
//税款所属期")
|
||||
private Date taxCycle;
|
||||
}
|
||||
|
|
@ -65,4 +65,8 @@ public class SalarySobCycleDTO {
|
|||
private Date attendCycleFromDate;
|
||||
@SalaryFormulaVar(defaultLabel = "考勤周期结束日期", labelId = 86321, dataType = "string")
|
||||
private Date attendCycleEndDate;
|
||||
|
||||
|
||||
//存在异常人员数量
|
||||
private Integer abnormalEmployeeNum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,12 +8,14 @@ import com.engine.salary.remote.tax.response.declare.GetDeclareTaxResultFeedback
|
|||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
|
|
@ -38,6 +40,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getZcgzxj().getSscglb();
|
||||
|
|
@ -45,6 +48,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -55,7 +61,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -70,6 +76,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getLwbclb().getSscglb();
|
||||
|
|
@ -77,6 +84,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -87,7 +97,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -103,6 +113,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getQnycxjjsslb().getSscglb();
|
||||
|
|
@ -110,6 +121,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -120,7 +134,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -136,6 +150,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getNtycxbcjlb().getSscglb();
|
||||
|
|
@ -143,6 +158,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -153,7 +171,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -169,6 +187,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getJcldhtycxbcjlb().getSscglb();
|
||||
|
|
@ -176,6 +195,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -186,7 +208,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -202,6 +224,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getGrgqjl().getSscglb();
|
||||
|
|
@ -209,6 +232,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -219,7 +245,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -235,6 +261,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getQynj().getSscglb();
|
||||
|
|
@ -242,6 +269,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -252,7 +282,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -268,6 +298,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getBxyxy().getSscglb();
|
||||
|
|
@ -275,6 +306,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -285,7 +319,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -301,6 +335,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getZqjjr().getSscglb();
|
||||
|
|
@ -308,6 +343,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -318,7 +356,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -334,6 +372,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getQtlxlwbc().getSscglb();
|
||||
|
|
@ -341,6 +380,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -351,7 +393,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -367,6 +409,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getQtflxlwbc().getSscglb();
|
||||
|
|
@ -374,6 +417,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -384,7 +430,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -400,6 +446,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getGcsdlb().getSscglb();
|
||||
|
|
@ -407,6 +454,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -417,7 +467,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -433,6 +483,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb();
|
||||
|
|
@ -440,6 +491,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.zhsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -450,7 +504,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -466,6 +520,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getFjmsd().getWjgzxjlb().getSscglb();
|
||||
|
|
@ -473,6 +528,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -483,7 +541,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -499,6 +557,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getFjmsd().getWjrysyjjlb().getSscglb();
|
||||
|
|
@ -506,6 +565,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -516,7 +578,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -532,6 +594,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getFjmsd().getLwbclb().getSscglb();
|
||||
|
|
@ -539,6 +602,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -549,7 +615,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
@ -564,6 +630,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
|
||||
@Override
|
||||
public Map<Long, SalarySobTaxRuleDTO> parseGetASynIndividualIncomeTaxFeedbackResponse(GetASynIndividualIncomeTaxFeedbackResponse declareTaxResultFeedbackResponse, List<EmployeeDeclarePO> employeeDeclares, SalarySobTaxRuleDTO taxRuleDTO) {
|
||||
Gson gs = new Gson();
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = taxRuleDTO.getTaxRules();
|
||||
|
||||
List<GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result> sscglb = declareTaxResultFeedbackResponse.getBody().getFjmsd().getJcldhtycxbcjlb().getSscglb();
|
||||
|
|
@ -571,6 +638,9 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
Map<Long, SalarySobTaxRuleDTO> resultMap = new HashMap<>();
|
||||
for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
|
||||
GetASynIndividualIncomeTaxFeedbackResponse.Body.fjmsd.ssjgdx.result result = idNoResultMap.get(employeeDeclare.getCardNum());
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
taxRules.forEach(rule -> {
|
||||
String getter = "get" + rule.getTaxIndex().substring(0, 1).toUpperCase() + rule.getTaxIndex().substring(1);
|
||||
try {
|
||||
|
|
@ -581,7 +651,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
log.error("getTaxErr no such method {}", getter, ex);
|
||||
}
|
||||
});
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), taxRuleDTO);
|
||||
resultMap.put(employeeDeclare.getEmployeeId(), gs.fromJson(gs.toJson(taxRuleDTO), (Type) SalarySobTaxRuleDTO.class));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.engine.salary.mapper.salaryacct;
|
||||
|
||||
import com.engine.salary.entity.salaryacct.dto.AbnormalEmployeeListDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctEmployeeQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -122,4 +124,8 @@ public interface SalaryAcctEmployeeMapper {
|
|||
void lockByAcctEmpIds(@Param("lockStatus") Integer lockStatus, @Param("acctEmpIds") Set<Long> acctEmpIds);
|
||||
|
||||
void lockByRecordId(@Param("lockStatus") Integer lockStatus, @Param("recordId") Long recordId);
|
||||
|
||||
List<AbnormalEmployeeListDTO> listPage4NotDeclareByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam);
|
||||
|
||||
int countNotDeclareByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1281,7 +1281,47 @@
|
|||
UPDATE hrsa_salary_acct_emp
|
||||
SET lock_status = #{lockStatus}
|
||||
WHERE delete_type = 0
|
||||
AND salary_acct_record_id =#{recordId}
|
||||
AND salary_acct_record_id = #{recordId}
|
||||
</update>
|
||||
|
||||
|
||||
<select id="listPage4NotDeclareByParam"
|
||||
resultType="com.engine.salary.entity.salaryacct.dto.AbnormalEmployeeListDTO">
|
||||
SELECT t.id, e.id as employeeId
|
||||
, e.LASTNAME as username
|
||||
, e.workcode as workcode
|
||||
FROM hrsa_salary_acct_emp t
|
||||
LEFT JOIN hrmresource e ON e.id = t.employee_id
|
||||
WHERE delete_type = 0
|
||||
AND salary_acct_record_id = #{param.recordId}
|
||||
AND employee_id NOT IN (
|
||||
SELECT employee_id
|
||||
FROM hrsa_employee_declare hed
|
||||
WHERE hed.delete_type = 0
|
||||
AND hed.tax_agent_id = #{param.taxAgentId}
|
||||
AND hed.tax_cycle = #{param.taxCycle}
|
||||
AND hed.successfully_declared = 1
|
||||
AND hed.employment_status = 0
|
||||
AND hed.declare_status IN (4)
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="countNotDeclareByParam" resultType="int">
|
||||
SELECT count(1)
|
||||
FROM hrsa_salary_acct_emp t
|
||||
LEFT JOIN hrmresource e ON e.id = t.employee_id
|
||||
WHERE delete_type = 0
|
||||
AND salary_acct_record_id = #{param.recordId}
|
||||
AND employee_id NOT IN (
|
||||
SELECT employee_id
|
||||
FROM hrsa_employee_declare hed
|
||||
WHERE hed.delete_type = 0
|
||||
AND hed.tax_agent_id = #{param.taxAgentId}
|
||||
AND hed.tax_cycle = #{param.taxCycle}
|
||||
AND hed.successfully_declared = 1
|
||||
AND hed.employment_status = 0
|
||||
AND hed.declare_status IN (4)
|
||||
)
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -494,7 +494,7 @@ public class GetASynIndividualIncomeTaxFeedbackResponse extends BaseResponse {
|
|||
/**
|
||||
* 速算扣除数 必填:否
|
||||
*/
|
||||
@TaxField(name = "速算扣除数", taxIndex = "sskcs ")
|
||||
@TaxField(name = "速算扣除数", taxIndex = "sskcs")
|
||||
private BigDecimal sskcs;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.salaryacct.dto.AbnormalEmployeeListDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
|
|
@ -264,4 +265,14 @@ public interface SalaryAcctEmployeeService {
|
|||
*/
|
||||
void lockEmp(SalaryAcctResultUpdateLockStatusParam updateParam);
|
||||
|
||||
/**
|
||||
* 未报送人员
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
PageInfo<AbnormalEmployeeListDTO> listPage4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam);
|
||||
|
||||
|
||||
int countNotDeclareByParam(AbnormalEmployeeListQueryParam queryParam);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,11 +5,12 @@ import cn.hutool.core.date.DateUtil;
|
|||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
import com.engine.salary.config.SalaryElogConfig;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
||||
import com.engine.salary.entity.salaryacct.dto.AbnormalEmployeeListDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
|
|
@ -788,4 +789,30 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageInfo<AbnormalEmployeeListDTO> listPage4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam) {
|
||||
|
||||
Long recordId = queryParam.getRecordId();
|
||||
SalaryAcctRecordPO recordPO = getSalaryAcctRecordService(user).getById(recordId);
|
||||
SalarySobPO sobPO = getSalarySobService(user).getById(recordPO.getSalarySobId());
|
||||
queryParam.setTaxCycle(recordPO.getTaxCycle());
|
||||
queryParam.setTaxAgentId(sobPO.getTaxAgentId());
|
||||
|
||||
List<AbnormalEmployeeListDTO> list = getSalaryAcctEmployeeMapper().listPage4NotDeclareByParam(queryParam);
|
||||
return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, AbnormalEmployeeListDTO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countNotDeclareByParam(AbnormalEmployeeListQueryParam queryParam) {
|
||||
|
||||
Long recordId = queryParam.getRecordId();
|
||||
SalaryAcctRecordPO recordPO = getSalaryAcctRecordService(user).getById(recordId);
|
||||
SalarySobPO sobPO = getSalarySobService(user).getById(recordPO.getSalarySobId());
|
||||
queryParam.setTaxCycle(recordPO.getTaxCycle());
|
||||
queryParam.setTaxAgentId(sobPO.getTaxAgentId());
|
||||
|
||||
return getSalaryAcctEmployeeMapper().countNotDeclareByParam(queryParam);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,13 @@ package com.engine.salary.service.impl;
|
|||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.report.po.SalaryAcctResultReportPO;
|
||||
import com.engine.salary.config.SalaryElogConfig;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
|
||||
import com.engine.salary.entity.salaryacct.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
|
|
@ -20,9 +18,9 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.enums.OperateTypeEnum;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||
import com.engine.salary.enums.OperateTypeEnum;
|
||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
|
|
@ -41,7 +39,6 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.engine.salary.util.db.IdGenerator;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
|
@ -286,8 +283,11 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
}
|
||||
// 查询薪资核算所用薪资账套的薪资周期、考勤周期……
|
||||
return getSalarySobService(user).getSalarySobCycle(salaryAcctRecordPO.getSalarySobId(), SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()));
|
||||
SalarySobCycleDTO salarySobCycle = getSalarySobService(user).getSalarySobCycle(salaryAcctRecordPO.getSalarySobId(), SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()));
|
||||
int i = getSalaryAcctEmployeeService(user).countNotDeclareByParam(AbnormalEmployeeListQueryParam.builder().recordId(id).build());
|
||||
salarySobCycle.setAbnormalEmployeeNum(i);
|
||||
|
||||
return salarySobCycle;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.engine.salary.constant.SzyhApiConstant;
|
|||
import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryCalcTax;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryCalcTaxInfoDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryCalcTaxParam;
|
||||
import com.engine.salary.entity.salaryacct.po.*;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobTaxRuleDTO;
|
||||
|
|
@ -110,6 +111,11 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe
|
|||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160525, "接口流量不足,暂无法使用该功能,请先购买智能算薪接口流量"));
|
||||
}
|
||||
|
||||
int i = getSalaryAcctEmployeeService(user).countNotDeclareByParam(AbnormalEmployeeListQueryParam.builder().recordId(salaryCalcTaxParam.getSalaryAcctRecordId()).build());
|
||||
if (i > 0) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(11111, "存在未报送的人员,请先进行人员报送"));
|
||||
}
|
||||
|
||||
// 查询薪资核算记录
|
||||
SalaryAcctRecordPO salaryAcctRecord = getSalaryAcctRecordService(user).getById(salaryCalcTaxParam.getSalaryAcctRecordId());
|
||||
// 查询薪资核算记录关联的个税扣缴义务人
|
||||
|
|
@ -231,7 +237,7 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe
|
|||
continue;
|
||||
}
|
||||
SalarySobTaxRuleDTO taxRuleDTO = salarySobTaxRuleMap.get(incomeCategoryEnum.getValue().toString());
|
||||
Map<Long, SalarySobTaxRuleDTO> empIdResult = incomeCategoryEnum.parseGetASynIndividualIncomeTaxFeedbackResponse(feedbackResponse, subEmployeeDeclares,taxRuleDTO);
|
||||
Map<Long, SalarySobTaxRuleDTO> empIdResult = incomeCategoryEnum.parseGetASynIndividualIncomeTaxFeedbackResponse(feedbackResponse, subEmployeeDeclares, taxRuleDTO);
|
||||
List<SalaryAcctEmployeePO> subSalaryAcctEmployees = salaryAcctEmployeeMap.get(salaryAcctTaxAgent.getTaxAgentId() + "-" + salaryAcctTaxAgent.getIncomeCategory());
|
||||
if (CollectionUtils.isEmpty(subSalaryAcctEmployees)) {
|
||||
continue;
|
||||
|
|
@ -243,10 +249,12 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe
|
|||
}
|
||||
SalarySobTaxRuleDTO salarySobTaxRuleDTO = empIdResult.get(salaryAcctEmployee.getEmployeeId());
|
||||
List<SalarySobTaxRuleDTO.TaxRuleDTO> taxRules = salarySobTaxRuleDTO.getTaxRules();
|
||||
taxRules.forEach(rule->{
|
||||
taxRules.forEach(rule -> {
|
||||
SalaryAcctResultPO salaryAcctResultPO = salaryAcctResultValue.get(rule.getSalaryItemId());
|
||||
salaryAcctResultPO.setResultValue(rule.getValue());
|
||||
resultPOS.add(salaryAcctResultPO);
|
||||
if (salaryAcctResultPO != null) {
|
||||
salaryAcctResultPO.setResultValue(rule.getValue());
|
||||
resultPOS.add(salaryAcctResultPO);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -400,6 +400,17 @@ public class SalaryAcctController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 未报送人员列表
|
||||
*/
|
||||
@POST
|
||||
@Path("/acctemployee/listPage4NotDeclare")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String listPage4NotDeclare(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AbnormalEmployeeListQueryParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<AbnormalEmployeeListQueryParam, PageInfo<AbnormalEmployeeListDTO>>(user).run(getSalaryAcctEmployeeWrapper(user)::listPage4NotDeclareByParam, param);
|
||||
}
|
||||
|
||||
|
||||
// **********************************薪资核算人员相关 end*********************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
||||
import com.engine.salary.entity.salaryacct.dto.AbnormalEmployeeListDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
|
|
@ -195,4 +196,14 @@ public class SalaryAcctEmployeeWrapper extends Service {
|
|||
public void lockEmp(SalaryAcctResultUpdateLockStatusParam salaryAcctResultUpdateLockStatusParam) {
|
||||
getSalaryAcctEmployeeService(user).lockEmp(salaryAcctResultUpdateLockStatusParam);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 未报送人员列表
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public PageInfo<AbnormalEmployeeListDTO> listPage4NotDeclareByParam(AbnormalEmployeeListQueryParam param) {
|
||||
return getSalaryAcctEmployeeService(user).listPage4NotDeclareByParam(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue