在线申报接口

This commit is contained in:
钱涛 2023-08-21 19:35:14 +08:00
parent 215e25fa31
commit bb2d2d64e6
15 changed files with 132 additions and 238 deletions

View File

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

View File

@ -1,138 +0,0 @@
delete from hrsa_acct_result_temp where 1=1
;
delete from hrsa_add_up_deduction where 1=1
;
delete from hrsa_add_up_situation where 1=1
;
delete from hrsa_attend_quote where 1=1
;
delete from hrsa_attend_quote_data where 1=1
;
delete from hrsa_attend_quote_data_value where 1=1
;
delete from hrsa_attend_quote_field where 1=1
;
delete from hrsa_attend_quote_sync_set where 1=1
;
delete from hrsa_scheme_detail where 1=1
;
delete from hrsa_social_archives where 1=1
;
delete from hrsa_fund_archives where 1=1
;
delete from hrsa_other_archives where 1=1
;
delete from hrsa_bill_batch where 1=1
;
delete from hrsa_bill_detail where 1=1
;
delete from hrsa_bill_detail_temp where 1=1
;
delete from hrsa_bill_inspect where 1=1
;
delete from hrsa_check_result where 1=1
;
delete from hrsa_check_result_record where 1=1
;
delete from hrsa_ck_result_detail_temp where 1=1
;
delete from hrsa_excel_acct_result where 1=1
;
delete from hrsa_other_deduction where 1=1
;
delete from hrsa_salary_acct_emp where 1=1
;
delete from hrsa_salary_acct_record where 1=1
;
delete from hrsa_salary_acct_result where 1=1
;
delete from hrsa_salary_archive where 1=1
;
delete from hrsa_salary_archive_dimission where 1=1
;
delete from hrsa_salary_archive_item where 1=1
;
delete from hrsa_salary_archive_tax_agent where 1=1
;
delete from hrsa_salary_item where 1=1
;
delete from hrsa_salary_send where 1=1
;
delete from hrsa_salary_send_info where 1=1
;
delete from hrsa_salary_sob where 1=1
;
delete from hrsa_salary_sob_adjust_rule where 1=1
;
delete from hrsa_salary_sob_emp_field where 1=1
;
delete from hrsa_salary_sob_item where 1=1
;
delete from hrsa_salary_sob_item_group where 1=1
;
delete from hrsa_salary_sob_range where 1=1
;
delete from hrsa_salary_template where 1=1
;
delete from hrsa_social_security_scheme where 1=1
;
delete from hrsa_sys_tax_rate_base where 1=1
;
delete from hrsa_sys_tax_rate_detail where 1=1
;
delete from hrsa_tax_agent where 1=1
;
delete from hrsa_tax_agent_emp where 1=1
;
delete from hrsa_tax_agent_emp_change where 1=1
;
delete from hrsa_tax_agent_admin where 1=1
;
delete from hrsa_tax_agent_manage_range where 1=1
;
delete from hrsa_tax_agent_sub_admin where 1=1
;
delete from hrsa_tax_agent_sub_admin_emp where 1=1
;
delete from hrsa_tax_declaration where 1=1
;
delete from hrsa_tax_declaration_detail where 1=1
;
delete from hrsa_tax_rate_base where 1=1
;
delete from hrsa_tax_rate_detail where 1=1
;
delete from hrsa_salary_acct_result_report where 1=1
;
delete from hrsa_insurance_base_info where 1=1
;
delete from hrsa_salary_sob_back_item where 1=1
;
delete from hrsa_salary_send_range where 1=1
;
delete from hrsa_salary_send_range_obj where 1=1
;
delete from hrsa_compensation_log where 1=1
;
delete from hrsa_compensation_config where 1=1
;
delete from hrsa_special_add_deduction where 1=1
;

View File

@ -16,7 +16,7 @@ public class SzyhApiConstant {
/** /**
* 测试接口host * 测试接口host
*/ */
public static final String TEST_HOST_URL = "https://ddapi-t.bigfintax.com/"; public static final String TEST_HOST_URL = "https://uat-ddapi.bigfintax.com/";
/** /**
* 企业注册接口 * 企业注册接口

View File

@ -47,8 +47,9 @@ public class EmployeeDeclareRefresh {
// 对已有人员处理人员状态离职日期任职受雇从业类型 // 对已有人员处理人员状态离职日期任职受雇从业类型
for (EmployeeDeclarePO employeeDeclare : dto.getEmployeeDeclares()) { for (EmployeeDeclarePO employeeDeclare : dto.getEmployeeDeclares()) {
SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId()); SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId());
if (salaryArchive != null && (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue()) if (salaryArchive != null &&
|| Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))) { (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
|| Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))) {
if (Objects.equals(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.ABNORMAL.getValue()) if (Objects.equals(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.ABNORMAL.getValue())
|| Objects.equals(Util.null2String(employeeDeclare.getDismissDate()), Util.null2String(salaryArchive.getPayEndDate()))) { || Objects.equals(Util.null2String(employeeDeclare.getDismissDate()), Util.null2String(salaryArchive.getPayEndDate()))) {
employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue()); employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue());
@ -75,11 +76,11 @@ public class EmployeeDeclareRefresh {
if (!employeeIds.contains(preTaxCycleEmployeeDeclare.getEmployeeId())) { if (!employeeIds.contains(preTaxCycleEmployeeDeclare.getEmployeeId())) {
EmployeeDeclarePO employeeDeclare = new EmployeeDeclarePO(); EmployeeDeclarePO employeeDeclare = new EmployeeDeclarePO();
BeanUtils.copyProperties(preTaxCycleEmployeeDeclare, employeeDeclare); BeanUtils.copyProperties(preTaxCycleEmployeeDeclare, employeeDeclare);
employeeDeclare.setId(IdGenerator.generate()) employeeDeclare.setId(IdGenerator.generate());
.setTaxCycle(dto.getTaxCycle()) employeeDeclare.setTaxCycle(dto.getTaxCycle());
.setNewEmployeeInfo(0) employeeDeclare.setNewEmployeeInfo(0);
.setCreateTime(now) employeeDeclare.setCreateTime(now);
.setUpdateTime(now); employeeDeclare.setUpdateTime(now);
// 对人员处理人员状态离职日期任职受雇从业类型 // 对人员处理人员状态离职日期任职受雇从业类型
SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId()); SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId());
if (salaryArchive != null && (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue()) if (salaryArchive != null && (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
@ -112,15 +113,14 @@ public class EmployeeDeclareRefresh {
EmployeeDeclarePO employeeDeclare = initEmployeeDeclare(dto.getTaxAgentId(), dto.getTaxCycle(), now, employeeId); EmployeeDeclarePO employeeDeclare = initEmployeeDeclare(dto.getTaxAgentId(), dto.getTaxCycle(), now, employeeId);
DataCollectionEmployee simpleUserInfo = simpleUserInfoMap.get(hrmEmployeeComInfo.getEmployeeId()); DataCollectionEmployee simpleUserInfo = simpleUserInfoMap.get(hrmEmployeeComInfo.getEmployeeId());
String idNum = simpleUserInfo == null ? "" : simpleUserInfo.getIdNo(); String idNum = simpleUserInfo == null ? "" : simpleUserInfo.getIdNo();
employeeDeclare.setEmployeeId(hrmEmployeeComInfo.getEmployeeId()) employeeDeclare.setEmployeeId(hrmEmployeeComInfo.getEmployeeId());
.setEmployeeType(EmployeeTypeEnum.ORGANIZATION.getValue()) employeeDeclare.setEmployeeType(EmployeeTypeEnum.ORGANIZATION.getValue());
.setEmployeeName(hrmEmployeeComInfo.getUsername()) employeeDeclare.setEmployeeName(hrmEmployeeComInfo.getUsername());
.setJobNum(hrmEmployeeComInfo.getWorkcode()) employeeDeclare.setJobNum(hrmEmployeeComInfo.getWorkcode());
.setCardNum(idNum) employeeDeclare.setCardNum(idNum);
.setGender(StringUtils.equalsIgnoreCase(hrmEmployeeComInfo.getSex(), GenderEnum.MALE.name()) employeeDeclare.setGender(StringUtils.equalsIgnoreCase(hrmEmployeeComInfo.getSex(), GenderEnum.MALE.name()) ? GenderEnum.MALE.getValue() : GenderEnum.FEMALE.getValue());
? GenderEnum.MALE.getValue() : GenderEnum.FEMALE.getValue()) employeeDeclare.setBirthday(simpleUserInfo == null || simpleUserInfo.getBirthday() == null ? null : SalaryDateUtil.dateStrToLocalDate(simpleUserInfo.getBirthday()));
.setBirthday(simpleUserInfo == null || simpleUserInfo.getBirthday() == null ? null : SalaryDateUtil.dateStrToLocalDate(simpleUserInfo.getBirthday())) employeeDeclare.setMobile(hrmEmployeeComInfo.getMobile());
.setMobile(hrmEmployeeComInfo.getMobile());
if (StringUtils.isEmpty(idNum)) { if (StringUtils.isEmpty(idNum)) {
employeeDeclare.setDeclareStatus(DeclareStatusEnum.DECLARE_FAIL.getValue()); employeeDeclare.setDeclareStatus(DeclareStatusEnum.DECLARE_FAIL.getValue());
employeeDeclare.setDeclareErrorMsg(SalaryI18nUtil.getI18nLabel(187460, "身份证号不能为空")); employeeDeclare.setDeclareErrorMsg(SalaryI18nUtil.getI18nLabel(187460, "身份证号不能为空"));
@ -175,30 +175,31 @@ public class EmployeeDeclareRefresh {
} }
private static EmployeeDeclarePO initEmployeeDeclare(Long taxAgentId, Date taxCycle, Date now, Long employeeId) { private static EmployeeDeclarePO initEmployeeDeclare(Long taxAgentId, Date taxCycle, Date now, Long employeeId) {
return new EmployeeDeclarePO() EmployeeDeclarePO employeeDeclarePO = new EmployeeDeclarePO();
.setId(IdGenerator.generate()) employeeDeclarePO.setId(IdGenerator.generate());
.setTaxAgentId(taxAgentId) employeeDeclarePO.setTaxAgentId(taxAgentId);
.setTaxCycle(taxCycle) employeeDeclarePO.setTaxCycle(taxCycle);
.setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getValue()) employeeDeclarePO.setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getValue());
.setGender(GenderEnum.MALE.getValue()) employeeDeclarePO.setGender(GenderEnum.MALE.getValue());
.setEmploymentStatus(EmploymentStatusEnum.NORMAL.getValue()) employeeDeclarePO.setEmploymentStatus(EmploymentStatusEnum.NORMAL.getValue());
.setEmploymentType(EmploymentTypeEnum.EMPLOYEE.getValue()) employeeDeclarePO.setEmploymentType(EmploymentTypeEnum.EMPLOYEE.getValue());
.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue()) employeeDeclarePO.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
.setDeclareErrorMsg("") employeeDeclarePO.setDeclareErrorMsg("");
.setDisability(SalaryOnOffEnum.OFF.getValue()) employeeDeclarePO.setDisability(SalaryOnOffEnum.OFF.getValue());
.setDisabilityCardNo("") employeeDeclarePO.setDisabilityCardNo("");
.setLonelyOld(SalaryOnOffEnum.OFF.getValue()) employeeDeclarePO.setLonelyOld(SalaryOnOffEnum.OFF.getValue());
.setMartyrDependents(SalaryOnOffEnum.OFF.getValue()) employeeDeclarePO.setMartyrDependents(SalaryOnOffEnum.OFF.getValue());
.setMartyrDependentsCardNo("") employeeDeclarePO.setMartyrDependentsCardNo("");
.setDeductExpenses(SalaryOnOffEnum.ON.getValue()) employeeDeclarePO.setDeductExpenses(SalaryOnOffEnum.ON.getValue());
.setSuccessfullyDeclared(0) employeeDeclarePO.setSuccessfullyDeclared(0);
.setNewEmployeeInfo(0) employeeDeclarePO.setNewEmployeeInfo(0);
.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue()) employeeDeclarePO.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) employeeDeclarePO.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY);
.setCreator(employeeId) employeeDeclarePO.setCreator(employeeId);
.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()) employeeDeclarePO.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
.setCreateTime(now) employeeDeclarePO.setCreateTime(now);
.setUpdateTime(now); employeeDeclarePO.setUpdateTime(now);
return employeeDeclarePO;
} }
@Data @Data

View File

@ -5,7 +5,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
@ -24,7 +23,6 @@ import java.util.Date;
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Accessors(chain = true)
//hrsa_employee_declare //hrsa_employee_declare
public class EmployeeDeclarePO { public class EmployeeDeclarePO {

View File

@ -14,6 +14,7 @@ import com.engine.salary.entity.taxdeclaration.po.TaxReportColumnPO;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum; import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryEntityUtil;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@ -148,7 +149,7 @@ public class TaxDeclarationCommon implements TaxDeclarationStrategy {
// .employeeType(lastSalaryAcctEmployee.getEmployeeType()) // .employeeType(lastSalaryAcctEmployee.getEmployeeType())
.taxAgentId(lastSalaryAcctEmployee.getTaxAgentId()) .taxAgentId(lastSalaryAcctEmployee.getTaxAgentId())
.taxYearMonth(taxDeclaration.getTaxCycle()) .taxYearMonth(taxDeclaration.getTaxCycle())
.year(taxDeclaration.getTaxCycle().getYear()) .year(SalaryDateUtil.date2Year(taxDeclaration.getTaxCycle()))
.addUpIncome(valueMap.get("addUpIncome")) .addUpIncome(valueMap.get("addUpIncome"))
.addUpSocialSecurityTotal(valueMap.get("addUpSocialSecurityTotal")) .addUpSocialSecurityTotal(valueMap.get("addUpSocialSecurityTotal"))
.addUpAccumulationFundTotal(valueMap.get("addUpAccumulationFundTotal")) .addUpAccumulationFundTotal(valueMap.get("addUpAccumulationFundTotal"))

View File

@ -982,6 +982,9 @@
<if test="salaryMonth != null"> <if test="salaryMonth != null">
AND t.salary_month = #{salaryMonth} AND t.salary_month = #{salaryMonth}
</if> </if>
<if test="taxCycle != null">
AND r.tax_cycle = #{taxCycle}
</if>
<if test="creator != null"> <if test="creator != null">
AND t.creator = #{creator} AND t.creator = #{creator}
</if> </if>

View File

@ -94,6 +94,12 @@
#{id} #{id}
</foreach> </foreach>
</if> </if>
<if test="taxDeclarationIds != null and taxDeclarationIds.size()>0">
AND tax_declaration_id IN
<foreach collection="taxDeclarationIds" open="(" item="taxDeclarationId" separator="," close=")">
#{taxDeclarationId}
</foreach>
</if>
ORDER BY id DESC ORDER BY id DESC
</select> </select>
@ -367,7 +373,8 @@
</resultMap> </resultMap>
<sql id="TaxDeclareEmployeeSql"> <sql id="TaxDeclareEmployeeSql">
employee_id, employee_type employee_id
, employee_type
</sql> </sql>
<sql id="NotDeclareSql"> <sql id="NotDeclareSql">
@ -400,7 +407,7 @@
SELECT SELECT
<include refid="TaxDeclareEmployeeSql"/> <include refid="TaxDeclareEmployeeSql"/>
FROM hrsa_employee_declare FROM hrsa_employee_declare
WHERE delete_type = 0 WHERE delete_type = 0
AND tax_agent_id = #{param.taxAgentId} AND tax_agent_id = #{param.taxAgentId}
AND tax_cycle = #{param.taxCycle} AND tax_cycle = #{param.taxCycle}
AND successfully_declared = 1 AND successfully_declared = 1

View File

@ -124,6 +124,8 @@ public interface SalaryAcctEmployeeService {
*/ */
List<SalaryAcctEmployeePO> listByParam(SalaryAcctEmployeeQueryParam queryParam); List<SalaryAcctEmployeePO> listByParam(SalaryAcctEmployeeQueryParam queryParam);
List<SalaryAcctEmployeePO> listByTaxCycleAndTaxAgentId(SalaryAcctEmployeeQueryParam queryParam);
/** /**
* 根据薪资核算结果列表的列表查询条件查询薪资核算人员分页 * 根据薪资核算结果列表的列表查询条件查询薪资核算人员分页
* *

View File

@ -143,7 +143,7 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla
@Override @Override
public List<EmployeeDeclarePO> list4AddByParam(EmployeeDeclareAddListQueryParam queryParam) { public List<EmployeeDeclarePO> list4AddByParam(EmployeeDeclareAddListQueryParam queryParam) {
queryParam.setPreTaxCycle(SalaryDateUtil.plusMonths(queryParam.getTaxCycle(),-1)); queryParam.setPreTaxCycle(SalaryDateUtil.plusMonths(queryParam.getTaxCycle(), -1));
return getEmployeeDeclareMapper().list4AddByParam(queryParam); return getEmployeeDeclareMapper().list4AddByParam(queryParam);
} }
@ -185,40 +185,40 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla
@Override @Override
public void save(EmployeeDeclareSaveParam saveParam) { public void save(EmployeeDeclareSaveParam saveParam) {
Date now = new Date(); Date now = new Date();
EmployeeDeclarePO employeeDeclare = new EmployeeDeclarePO() EmployeeDeclarePO employeeDeclare = new EmployeeDeclarePO();
.setTaxAgentId(saveParam.getTaxAgentId()) employeeDeclare.setTaxAgentId(saveParam.getTaxAgentId());
.setTaxCycle(saveParam.getTaxCycle()) employeeDeclare.setTaxCycle(saveParam.getTaxCycle());
.setEmployeeName(saveParam.getEmployeeName()) employeeDeclare.setEmployeeName(saveParam.getEmployeeName());
.setJobNum(saveParam.getJobNum()) employeeDeclare.setJobNum(saveParam.getJobNum());
.setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getValue()) employeeDeclare.setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getValue());
.setCardNum(saveParam.getCardNum()) employeeDeclare.setCardNum(saveParam.getCardNum());
.setGender(SalaryCardUtil.judgeGender(saveParam.getCardNum()).getValue()) employeeDeclare.setGender(SalaryCardUtil.judgeGender(saveParam.getCardNum()).getValue());
.setBirthday(SalaryDateUtil.localDateToDate(SalaryCardUtil.judgeBirthday(saveParam.getCardNum()))) employeeDeclare.setBirthday(SalaryDateUtil.localDateToDate(SalaryCardUtil.judgeBirthday(saveParam.getCardNum())));
.setEmploymentStatus(saveParam.getEmploymentStatus().getValue()) employeeDeclare.setEmploymentStatus(saveParam.getEmploymentStatus().getValue());
.setMobile(saveParam.getMobile()) employeeDeclare.setMobile(saveParam.getMobile());
.setEmploymentType(saveParam.getEmploymentType().getValue()) employeeDeclare.setEmploymentType(saveParam.getEmploymentType().getValue());
.setEmploymentFirstYear("") employeeDeclare.setEmploymentFirstYear("");
.setEmploymentDate(SalaryDateUtil.localDateToDate(saveParam.getEmploymentDate())) employeeDeclare.setEmploymentDate(SalaryDateUtil.localDateToDate(saveParam.getEmploymentDate()));
.setDismissDate(SalaryDateUtil.localDateToDate(saveParam.getDismissDate())) employeeDeclare.setDismissDate(SalaryDateUtil.localDateToDate(saveParam.getDismissDate()));
.setDisability(saveParam.getDisability().getValue()) employeeDeclare.setDisability(saveParam.getDisability().getValue());
.setDisabilityCardNo(saveParam.getDisabilityCardNo()) employeeDeclare.setDisabilityCardNo(saveParam.getDisabilityCardNo());
.setLonelyOld(saveParam.getLonelyOld().getValue()) employeeDeclare.setLonelyOld(saveParam.getLonelyOld().getValue());
.setMartyrDependents(saveParam.getMartyrDependents().getValue()) employeeDeclare.setMartyrDependents(saveParam.getMartyrDependents().getValue());
.setMartyrDependentsCardNo(saveParam.getMartyrDependentsCardNo()) employeeDeclare.setMartyrDependentsCardNo(saveParam.getMartyrDependentsCardNo());
.setDeductExpenses(saveParam.getDeductExpenses().getValue()) employeeDeclare.setDeductExpenses(saveParam.getDeductExpenses().getValue());
.setSuccessfullyDeclared(0) employeeDeclare.setSuccessfullyDeclared(0);
.setNewEmployeeInfo(0) employeeDeclare.setNewEmployeeInfo(0);
.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue()) employeeDeclare.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
.setDeclareErrorMsg(""); employeeDeclare.setDeclareErrorMsg("");
if (Objects.isNull(saveParam.getId())) { if (Objects.isNull(saveParam.getId())) {
employeeDeclare.setId(IdGenerator.generate()) employeeDeclare.setId(IdGenerator.generate());
.setEmployeeId(saveParam.getEmployeeId()) employeeDeclare.setEmployeeId(saveParam.getEmployeeId());
.setEmployeeType(saveParam.getEmployeeType().getValue()) employeeDeclare.setEmployeeType(saveParam.getEmployeeType().getValue());
.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) employeeDeclare.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY);
.setCreator((long) user.getUID()) employeeDeclare.setCreator((long) user.getUID());
.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()) employeeDeclare.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
.setCreateTime(now) employeeDeclare.setCreateTime(now);
.setUpdateTime(now); employeeDeclare.setUpdateTime(now);
getEmployeeDeclareMapper().insertIgnoreNull(employeeDeclare); getEmployeeDeclareMapper().insertIgnoreNull(employeeDeclare);
// 记录日志 // 记录日志
// LoggerContext<EmployeeDeclarePO> loggerContext = new LoggerContext<>(); // LoggerContext<EmployeeDeclarePO> loggerContext = new LoggerContext<>();
@ -239,11 +239,11 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla
&& !Objects.equals(originEmployeeDeclare.getCardNum(), employeeDeclare.getCardNum())) { && !Objects.equals(originEmployeeDeclare.getCardNum(), employeeDeclare.getCardNum())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156443, "成功报送过的人员,姓名和证件号码只能修改其一,同时需要修改的请前往办税服务厅")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156443, "成功报送过的人员,姓名和证件号码只能修改其一,同时需要修改的请前往办税服务厅"));
} }
employeeDeclare.setId(originEmployeeDeclare.getId()) employeeDeclare.setId(originEmployeeDeclare.getId());
.setEmployeeId(originEmployeeDeclare.getEmployeeId()) employeeDeclare.setEmployeeId(originEmployeeDeclare.getEmployeeId());
.setEmployeeType(originEmployeeDeclare.getEmployeeType()) employeeDeclare.setEmployeeType(originEmployeeDeclare.getEmployeeType());
.setSuccessfullyDeclared(originEmployeeDeclare.getSuccessfullyDeclared()) employeeDeclare.setSuccessfullyDeclared(originEmployeeDeclare.getSuccessfullyDeclared());
.setUpdateTime(now); employeeDeclare.setUpdateTime(now);
// 判断本次编辑是否有修改人员信息 // 判断本次编辑是否有修改人员信息
if (!StringUtils.equals(employeeDeclare.toCompareString(), originEmployeeDeclare.toCompareString())) { if (!StringUtils.equals(employeeDeclare.toCompareString(), originEmployeeDeclare.toCompareString())) {
employeeDeclare.setNewEmployeeInfo(1); employeeDeclare.setNewEmployeeInfo(1);

View File

@ -207,13 +207,18 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
@Override @Override
public List<SalaryAcctEmployeePO> listByParam(SalaryAcctEmployeeQueryParam queryParam) { public List<SalaryAcctEmployeePO> listByParam(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam); // ValidUtil.doValidator(queryParam);
//排序配置 //排序配置
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
queryParam.setOrderRule(orderRule); queryParam.setOrderRule(orderRule);
return getSalaryAcctEmployeeMapper().list(queryParam); return getSalaryAcctEmployeeMapper().list(queryParam);
} }
@Override
public List<SalaryAcctEmployeePO> listByTaxCycleAndTaxAgentId(SalaryAcctEmployeeQueryParam queryParam) {
return getSalaryAcctEmployeeMapper().listSome(SalaryAcctEmployeePO.builder().taxAgentIds(queryParam.getTaxAgentIds()).taxCycle(queryParam.getTaxCycle()).build());
}
@Override @Override
public PageInfo<SalaryAcctEmployeePO> listPageByResultQueryParam(SalaryAcctResultQueryParam queryParam) { public PageInfo<SalaryAcctEmployeePO> listPageByResultQueryParam(SalaryAcctResultQueryParam queryParam) {
ValidUtil.doValidator(queryParam); ValidUtil.doValidator(queryParam);

View File

@ -53,7 +53,7 @@ public class TaxDeclarationApiBillingServiceImpl extends Service implements Tax
@Override @Override
public void updateApiFlowInfo(ApiFlowUpdateWrapper updateWrapper) { public void updateApiFlowInfo(ApiFlowUpdateWrapper updateWrapper) {
// 保存流量使用详情 // 保存流量使用详情
saveApiFlowRecord(updateWrapper); // saveApiFlowRecord(updateWrapper);
// 流量不足提醒 // 流量不足提醒
// taxDeclarationApiFlowWarnService.sendFlowWarnMessage(updateWrapper); // taxDeclarationApiFlowWarnService.sendFlowWarnMessage(updateWrapper);
} }

View File

@ -331,8 +331,12 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(182700, "对不起,只有未申报状态下可以刷新数据")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(182700, "对不起,只有未申报状态下可以刷新数据"));
} }
// 查询税款所属期下的薪资核算人员 // 查询税款所属期下的薪资核算人员
SalaryAcctEmployeeQueryParam salaryAcctEmployeeQueryParam = SalaryAcctEmployeeQueryParam.builder().taxAgentIds(Collections.singletonList(taxDeclareRecord.getTaxAgentId())).taxCycle(taxDeclareRecord.getTaxCycle()).build(); SalaryAcctEmployeeQueryParam salaryAcctEmployeeQueryParam = SalaryAcctEmployeeQueryParam
List<SalaryAcctEmployeePO> salaryAcctEmployees = getSalaryAcctEmployeeService(user).listByParam(salaryAcctEmployeeQueryParam); .builder()
.taxAgentIds(Collections.singletonList(taxDeclareRecord.getTaxAgentId()))
.taxCycle(taxDeclareRecord.getTaxCycle())
.build();
List<SalaryAcctEmployeePO> salaryAcctEmployees = getSalaryAcctEmployeeService(user).listByTaxCycleAndTaxAgentId(salaryAcctEmployeeQueryParam);
// 查询薪资核算记录 // 查询薪资核算记录
Set<Long> salaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctEmployees, SalaryAcctEmployeePO::getSalaryAcctRecordId); Set<Long> salaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctEmployees, SalaryAcctEmployeePO::getSalaryAcctRecordId);
List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listByIds(salaryAcctRecordIds); List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listByIds(salaryAcctRecordIds);
@ -429,7 +433,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
List<SalaryAcctRecordPO> archivedSalaryAcctRecords = salaryAcctRecords.stream().filter(salaryAcctRecordPO -> Objects.equals(salaryAcctRecordPO.getStatus(), SalaryAcctRecordStatusEnum.ARCHIVED.getValue())).collect(Collectors.toList()); List<SalaryAcctRecordPO> archivedSalaryAcctRecords = salaryAcctRecords.stream().filter(salaryAcctRecordPO -> Objects.equals(salaryAcctRecordPO.getStatus(), SalaryAcctRecordStatusEnum.ARCHIVED.getValue())).collect(Collectors.toList());
// 无已归档的薪资核算记录不允许生成个税申报表 // 无已归档的薪资核算记录不允许生成个税申报表
if (CollectionUtils.isEmpty(archivedSalaryAcctRecords)) { if (CollectionUtils.isEmpty(archivedSalaryAcctRecords)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(177860, "{0}无可申报数据").replace("{0}", saveParam.getSalaryMonth().toString())); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(177860, "{0}无可申报数据").replace("{0}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
} }
// 查询已归档的薪资核算记录是否已经生成过个税申报表 // 查询已归档的薪资核算记录是否已经生成过个税申报表
Map<Date, List<SalaryAcctTaxAgentPO>> taxCycleKeySalaryAcctTaxAgentMap = SalaryEntityUtil.group2Map(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getTaxCycle); Map<Date, List<SalaryAcctTaxAgentPO>> taxCycleKeySalaryAcctTaxAgentMap = SalaryEntityUtil.group2Map(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getTaxCycle);
@ -607,7 +611,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
// 注册的企业信息-->请求参数 // 注册的企业信息-->请求参数
Map<String, Object> requestParam = taxDeclareRequest.getRequestParam(); Map<String, Object> requestParam = taxDeclareRequest.getRequestParam();
// 税款所属期 // 税款所属期
requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(taxDeclareRecord.getTaxCycle())); requestParam.put("skssq", SalaryDateUtil.getFormatYYYYMM(taxDeclareRecord.getTaxCycle()));
// 人员列表 // 人员列表
List<Map<String, Object>> employeeDeclareParam = EmployeeDeclareRequest.convert2RequestParam(employeeDeclares); List<Map<String, Object>> employeeDeclareParam = EmployeeDeclareRequest.convert2RequestParam(employeeDeclares);
requestParam.put("rylb", employeeDeclareParam); requestParam.put("rylb", employeeDeclareParam);
@ -791,7 +795,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
// 注册的企业信息-->请求参数 // 注册的企业信息-->请求参数
Map<String, Object> requestParam = taxDeclareRequest.getRequestParam(); Map<String, Object> requestParam = taxDeclareRequest.getRequestParam();
// 税款所属期 // 税款所属期
requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(taxDeclareRecord.getTaxCycle())); requestParam.put("skssq", SalaryDateUtil.getFormatYYYYMM(taxDeclareRecord.getTaxCycle()));
// 申报类型 // 申报类型
requestParam.put("sblx", "1"); requestParam.put("sblx", "1");
// 作废银联缴款凭证 // 作废银联缴款凭证
@ -896,7 +900,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
// 注册的企业信息-->请求参数 // 注册的企业信息-->请求参数
Map<String, Object> requestParam = taxDeclareRequest.getRequestParam(); Map<String, Object> requestParam = taxDeclareRequest.getRequestParam();
// 税款所属期 // 税款所属期
requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(taxDeclareRecord.getTaxCycle())); requestParam.put("skssq", SalaryDateUtil.getFormatYYYYMM(taxDeclareRecord.getTaxCycle()));
// 申报类型 // 申报类型
requestParam.put("sblx", "1"); requestParam.put("sblx", "1");
// 请求 // 请求
@ -941,7 +945,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
TaxDeclareRecordPO taxDeclareRecord = taxDeclareRequest.getTaxDeclareRecord(); TaxDeclareRecordPO taxDeclareRecord = taxDeclareRequest.getTaxDeclareRecord();
Map<String, Object> requestParam = taxDeclareRequest.getRequestParam(); Map<String, Object> requestParam = taxDeclareRequest.getRequestParam();
// 税款所属期 // 税款所属期
requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(taxDeclareRecord.getTaxCycle())); requestParam.put("skssq", SalaryDateUtil.getFormatYYYYMM(taxDeclareRecord.getTaxCycle()));
// 申报类型 // 申报类型
requestParam.put("sblx", "1"); requestParam.put("sblx", "1");
// 请求 // 请求
@ -961,7 +965,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
TaxDeclareRecordPO taxDeclareRecord = taxDeclareRequest.getTaxDeclareRecord(); TaxDeclareRecordPO taxDeclareRecord = taxDeclareRequest.getTaxDeclareRecord();
Map<String, Object> requestParam = taxDeclareRequest.getRequestParam(); Map<String, Object> requestParam = taxDeclareRequest.getRequestParam();
// 税款所属期 // 税款所属期
requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(taxDeclareRecord.getTaxCycle())); requestParam.put("skssq", SalaryDateUtil.getFormatYYYYMM(taxDeclareRecord.getTaxCycle()));
// 报表类型 // 报表类型
requestParam.put("reportType", "1"); requestParam.put("reportType", "1");
// 页码 // 页码

View File

@ -103,6 +103,19 @@ public class SalaryDateUtil {
} }
} }
public static String getFormatYYYYMM(Date localDate) {
if (localDate == null) {
return StringUtils.EMPTY;
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(MONTH_FORMATTER_PATTERN);
return simpleDateFormat.format(localDate).replace("-", "");
} catch (Exception e) {
log.warn("格式化月份错误", e);
return StringUtils.EMPTY;
}
}
public static String getFormatLocalDate(LocalDate localDate) { public static String getFormatLocalDate(LocalDate localDate) {
if (localDate == null) { if (localDate == null) {
return StringUtils.EMPTY; return StringUtils.EMPTY;

View File

@ -260,7 +260,7 @@ public class EmployeeDeclareWrapper extends Service {
employeeMap.put("_entityType", EmployeeTypeEnum.ORGANIZATION); employeeMap.put("_entityType", EmployeeTypeEnum.ORGANIZATION);
} else { } else {
DataCollectionEmployee extEmployee = getExtEmpService(user).getEmployeeById(employeeDeclare.getEmployeeId()); DataCollectionEmployee extEmployee = getExtEmpService(user).getEmployeeById(employeeDeclare.getEmployeeId());
employeeMap.put("id",extEmployee.getEmployeeId()); employeeMap.put("id", extEmployee.getEmployeeId());
employeeMap.put("name", extEmployee.getUsername()); employeeMap.put("name", extEmployee.getUsername());
employeeMap.put("_entityType", EmployeeTypeEnum.EXT_EMPLOYEE); employeeMap.put("_entityType", EmployeeTypeEnum.EXT_EMPLOYEE);
} }
@ -428,7 +428,7 @@ public class EmployeeDeclareWrapper extends Service {
.setFinish(false) .setFinish(false)
.setMsg(""); .setMsg("");
Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + "-" + employeeDeclareRate.getIndex(), employeeDeclareRate); Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate);
LocalRunnable localRunnable = new LocalRunnable() { LocalRunnable localRunnable = new LocalRunnable() {
@Override @Override
public void execute() { public void execute() {
@ -439,7 +439,7 @@ public class EmployeeDeclareWrapper extends Service {
log.error("刷新数据失败:{}", e.getMessage(), e); log.error("刷新数据失败:{}", e.getMessage(), e);
employeeDeclareRate.setStatus(false).setFinish(true).setMsg(e.getMessage()); employeeDeclareRate.setStatus(false).setFinish(true).setMsg(e.getMessage());
} finally { } finally {
Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + "-" + employeeDeclareRate.getIndex(), employeeDeclareRate); Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate);
} }
} }
}; };