diff --git a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java index 82d83784c..bea18e842 100644 --- a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java +++ b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java @@ -1,8 +1,9 @@ package com.engine.salary.entity.datacollection.po; +import cn.hutool.core.util.NumberUtil; +import com.engine.hrmelog.annotation.ElogTransform; import com.engine.salary.annotation.Encrypt; import com.engine.salary.annotation.SalaryFormulaVar; -import com.engine.hrmelog.annotation.ElogTransform; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,31 +20,31 @@ import java.util.List; @Builder @NoArgsConstructor @AllArgsConstructor -@ElogTransform( name = "其他免税扣除") +@ElogTransform(name = "其他免税扣除") public class OtherDeductionPO { /** * 主键 */ - @ElogTransform( name="主键id" ) + @ElogTransform(name = "主键id") private Long id; /** * 人员信息表的主键id */ - @ElogTransform( name ="人员id") + @ElogTransform(name = "人员id") private Long employeeId; /** * 个税扣缴义务人的主键id */ - @ElogTransform( name ="个税扣缴义务人id") + @ElogTransform(name = "个税扣缴义务人id") private Long taxAgentId; /** * 申报月份 */ - @ElogTransform( name ="税款所属期") + @ElogTransform(name = "税款所属期") private Date declareMonth; /** @@ -65,7 +66,7 @@ public class OtherDeductionPO { /** * 商业健康保险 */ - @ElogTransform( name ="商业健康保险") + @ElogTransform(name = "商业健康保险") @SalaryFormulaVar(defaultLabel = "商业健康保险", labelId = 91238, dataType = "number") @Encrypt private String businessHealthyInsurance; @@ -73,7 +74,7 @@ public class OtherDeductionPO { /** * 税延养老保险 */ - @ElogTransform( name ="税延养老保险") + @ElogTransform(name = "税延养老保险") @SalaryFormulaVar(defaultLabel = "税延养老保险", labelId = 91239, dataType = "number") @Encrypt private String taxDelayEndowmentInsurance; @@ -82,7 +83,7 @@ public class OtherDeductionPO { /** * 其他 */ - @ElogTransform( name ="其他") + @ElogTransform(name = "其他") @SalaryFormulaVar(defaultLabel = "其他", labelId = 84500, dataType = "number") @Encrypt private String otherDeduction; @@ -90,7 +91,7 @@ public class OtherDeductionPO { /** * 准予扣除的捐赠额 */ - @ElogTransform( name ="准予扣除的捐赠额") + @ElogTransform(name = "准予扣除的捐赠额") @SalaryFormulaVar(defaultLabel = "准予扣除的捐赠额", labelId = 91240, dataType = "number") @Encrypt private String deductionAllowedDonation; @@ -98,7 +99,7 @@ public class OtherDeductionPO { /** * 个人养老金 */ - @ElogTransform( name ="个人养老金") + @ElogTransform(name = "个人养老金") @SalaryFormulaVar(defaultLabel = "个人养老金", labelId = 91240, dataType = "number") @Encrypt private String privatePension; @@ -106,19 +107,19 @@ public class OtherDeductionPO { /** * 创建时间 */ - @ElogTransform( name ="创建时间") + @ElogTransform(name = "创建时间") private Date createTime; /** * 更新时间 */ - @ElogTransform( name ="更新时间") + @ElogTransform(name = "更新时间") private Date updateTime; /** * 创建人 */ - @ElogTransform( name ="创建人id") + @ElogTransform(name = "创建人id") private Long creator; /** @@ -129,7 +130,7 @@ public class OtherDeductionPO { /** * 租户ID */ - @ElogTransform( name ="租户") + @ElogTransform(name = "租户") private String tenantKey; private List employeeIds; @@ -137,11 +138,64 @@ public class OtherDeductionPO { private List freeIncomeList; - private List derateDeductionList; + private List healthInsuranceList; private List endowmentInsuranceList; private List grantDonationList; - private List healthInsuranceList; + private List derateDeductionList; private List otherDerateDeductionList; private List personalPensionList; + + public void handleList() { + freeIncome = freeIncomeList + .stream() + .map(FreeIncomePO::getFreeAmount) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + derateDeduction = derateDeductionList + .stream() + .map(DerateDeductionPO::getDerateAmount) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + taxDelayEndowmentInsurance = endowmentInsuranceList + .stream() + .map(EndowmentInsurancePO::getCurrentDeduction) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + deductionAllowedDonation = grantDonationList + .stream() + .map(GrantDonationPO::getActualDeduction) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + businessHealthyInsurance = healthInsuranceList + .stream() + .map(HealthInsurancePO::getCurrentDeduction) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + otherDeduction = otherDerateDeductionList + .stream() + .map(OtherDerateDeductionPO::getOtherDeduction) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + privatePension = personalPensionList + .stream() + .map(PersonalPensionPO::getPayAmount) + .filter(NumberUtil::isNumber) + .mapToDouble(Double::valueOf) + .sum() + ""; + + } + } \ No newline at end of file diff --git a/src/com/engine/salary/entity/datacollection/po/PersonalPensionPO.java b/src/com/engine/salary/entity/datacollection/po/PersonalPensionPO.java index 8732c4af5..766ad4783 100644 --- a/src/com/engine/salary/entity/datacollection/po/PersonalPensionPO.java +++ b/src/com/engine/salary/entity/datacollection/po/PersonalPensionPO.java @@ -76,6 +76,8 @@ public class PersonalPensionPO{ @ElogTransform(name = "采集来源") private String collectSource; + private Long ebDataId; + @ElogTransform(name = "创建时间", ignore = true) private Date createTime; diff --git a/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.java b/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.java index 35ca29ab5..0fbb3b143 100644 --- a/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.java +++ b/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.java @@ -69,5 +69,8 @@ public interface DerateDeductionMapper { * @param ids 主键id集合 */ void deleteByIds(@Param("ids") Collection ids); + + + void deleteByMainId(Long mainId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.xml b/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.xml index c6641f0d6..e3585c01f 100644 --- a/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/DerateDeductionMapper.xml @@ -1,27 +1,29 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - t.create_time + t + . + create_time , t.creator , t.delete_type , t.derate_amount @@ -36,278 +38,285 @@ , t.tax_year_month , t.tenant_key , t.update_time - - + + - - + + + - + SELECT + + FROM hrsa_derate_deduction t + WHERE id = #{id} AND delete_type = 0 + + - + SELECT + + FROM hrsa_derate_deduction t + WHERE delete_type = 0 + + AND create_time = #{createTime} + + + AND creator = #{creator} + + + AND delete_type = #{deleteType} + + + AND derate_amount = #{derateAmount} + + + AND derate_item = #{derateItem} + + + AND derate_property = #{derateProperty} + + + AND employee_id = #{employeeId} + + + AND employee_type = #{employeeType} + + + AND file_status = #{fileStatus} + + + AND id = #{id} + + + AND main_id = #{mainId} + + + AND tax_agent_id = #{taxAgentId} + + + AND tax_year_month = #{taxYearMonth} + + + AND tenant_key = #{tenantKey} + + + AND update_time = #{updateTime} + + AND id IN #{id} ORDER BY id DESC - - - + + + - INSERT INTO hrsa_derate_deduction - + INSERT INTO hrsa_derate_deduction + - - create_time, - - - creator, - - - delete_type, - - - derate_amount, - - - derate_item, - - - derate_property, - - - employee_id, - - - employee_type, - - - file_status, - - - id, - - - main_id, - - - tax_agent_id, - - - tax_year_month, - - - tenant_key, - - - update_time, - - - - - #{createTime}, - - - #{creator}, - - - #{deleteType}, - - - #{derateAmount}, - - - #{derateItem}, - - - #{derateProperty}, - - - #{employeeId}, - - - #{employeeType}, - - - #{fileStatus}, - - - #{id}, - - - #{mainId}, - - - #{taxAgentId}, - - - #{taxYearMonth}, - - - #{tenantKey}, - - - #{updateTime}, - - + + create_time, + + + creator, + + + delete_type, + + + derate_amount, + + + derate_item, + + + derate_property, + + + employee_id, + + + employee_type, + + + file_status, + + + id, + + + main_id, + + + tax_agent_id, + + + tax_year_month, + + + tenant_key, + + + update_time, + + + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{derateAmount}, + + + #{derateItem}, + + + #{derateProperty}, + + + #{employeeId}, + + + #{employeeType}, + + + #{fileStatus}, + + + #{id}, + + + #{mainId}, + + + #{taxAgentId}, + + + #{taxYearMonth}, + + + #{tenantKey}, + + + #{updateTime}, + + - - + - UPDATE hrsa_derate_deduction - - create_time=#{createTime}, - creator=#{creator}, - delete_type=#{deleteType}, - derate_amount=#{derateAmount}, - derate_item=#{derateItem}, - derate_property=#{derateProperty}, - employee_id=#{employeeId}, - employee_type=#{employeeType}, - file_status=#{fileStatus}, - main_id=#{mainId}, - tax_agent_id=#{taxAgentId}, - tax_year_month=#{taxYearMonth}, - tenant_key=#{tenantKey}, - update_time=#{updateTime}, - - WHERE id = #{id} AND delete_type = 0 - - - - - - UPDATE hrsa_derate_deduction - - - create_time=#{createTime}, - - - creator=#{creator}, - - - delete_type=#{deleteType}, - - - derate_amount=#{derateAmount}, - - - derate_item=#{derateItem}, - - - derate_property=#{derateProperty}, - - - employee_id=#{employeeId}, - - - employee_type=#{employeeType}, - - - file_status=#{fileStatus}, - - - main_id=#{mainId}, - - - tax_agent_id=#{taxAgentId}, - - - tax_year_month=#{taxYearMonth}, - - - tenant_key=#{tenantKey}, - - - update_time=#{updateTime}, - - - WHERE id = #{id} AND delete_type = 0 + UPDATE hrsa_derate_deduction + + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + derate_amount=#{derateAmount}, + derate_item=#{derateItem}, + derate_property=#{derateProperty}, + employee_id=#{employeeId}, + employee_type=#{employeeType}, + file_status=#{fileStatus}, + main_id=#{mainId}, + tax_agent_id=#{taxAgentId}, + tax_year_month=#{taxYearMonth}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 - - - - UPDATE hrsa_derate_deduction - SET delete_type=1 - WHERE id = #{id} AND delete_type = 0 - - + + + + UPDATE hrsa_derate_deduction + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + derate_amount=#{derateAmount}, + + + derate_item=#{derateItem}, + + + derate_property=#{derateProperty}, + + + employee_id=#{employeeId}, + + + employee_type=#{employeeType}, + + + file_status=#{fileStatus}, + + + main_id=#{mainId}, + + + tax_agent_id=#{taxAgentId}, + + + tax_year_month=#{taxYearMonth}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_derate_deduction + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + UPDATE hrsa_derate_deduction SET delete_type = 1 - WHERE delete_type = 0 + WHERE delete_type = 0 AND id IN #{id} + + UPDATE hrsa_derate_deduction + SET delete_type = 1 + WHERE delete_type = 0 + AND main_id = #{mainId} + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.java b/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.java index a045a9ee2..7d9bcb083 100644 --- a/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.java @@ -69,5 +69,6 @@ public interface EndowmentInsuranceMapper { * @param ids 主键id集合 */ void deleteByIds(@Param("ids") Collection ids); - + + void deleteByMainId(Long mainId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.xml b/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.xml index 277843ea4..8d673f35b 100644 --- a/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EndowmentInsuranceMapper.xml @@ -356,5 +356,13 @@ + + UPDATE hrsa_endowment_insurance + SET delete_type = 1 + WHERE delete_type = 0 + AND main_id = #{mainId} + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.java b/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.java index 1c7489927..a977ee060 100644 --- a/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.java +++ b/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.java @@ -68,5 +68,7 @@ public interface FreeIncomeMapper { * @param ids 主键id集合 */ void deleteByIds(@Param("ids") Collection ids); - + + void deleteByMainId(Long mainId); + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.xml b/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.xml index e10253fc0..87ed57c0c 100644 --- a/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/FreeIncomeMapper.xml @@ -311,5 +311,13 @@ + + UPDATE hrsa_free_income + SET delete_type = 1 + WHERE delete_type = 0 + AND main_id = #{mainId} + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.java b/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.java index 5612833de..b5df0a8e1 100644 --- a/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.java +++ b/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.java @@ -69,5 +69,6 @@ public interface GrantDonationMapper { * @param ids 主键id集合 */ void deleteByIds(@Param("ids") Collection ids); - + + void deleteByMainId(Long mainId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.xml b/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.xml index 2a68136eb..8fa17414e 100644 --- a/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/GrantDonationMapper.xml @@ -371,5 +371,12 @@ + + UPDATE hrsa_grant_donation + SET delete_type = 1 + WHERE delete_type = 0 + AND main_id = #{mainId} + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.java b/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.java index b382963f2..2bd55f7b9 100644 --- a/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.java +++ b/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.java @@ -69,5 +69,6 @@ public interface HealthInsuranceMapper { * @param ids 主键id集合 */ void deleteByIds(@Param("ids") Collection ids); - + + void deleteByMainId(Long mainId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.xml b/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.xml index 71d4cdde1..4ed0bd9a1 100644 --- a/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/HealthInsuranceMapper.xml @@ -341,5 +341,12 @@ + + UPDATE hrsa_health_insurance + SET delete_type = 1 + WHERE delete_type = 0 + AND main_id = #{mainId} + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.java b/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.java index 7638a60cc..0eaa2b5c2 100644 --- a/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.java +++ b/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.java @@ -11,42 +11,64 @@ import java.util.List; public interface OtherDeductionMapper { - /** + /** * 根据主键查询 * * @param id 主键 * @return 返回记录,没有返回null */ - OtherDeductionPO getById(Long id); + OtherDeductionPO getById(Long id); - /** - * 查询数据采集-其他免税扣除列表 - * @param param - * @return - */ - List list(@Param("param") OtherDeductionQueryParam param); + /** + * 查询数据采集-其他免税扣除列表 + * + * @param param + * @return + */ + List list(@Param("param") OtherDeductionQueryParam param); - List recordList(@Param("param") OtherDeductionQueryParam param); + List recordList(@Param("param") OtherDeductionQueryParam param); - List listSome(@Param("param") OtherDeductionPO param); + List listSome(@Param("param") OtherDeductionPO param); - /** - * 批量插入 - * @param pos - */ - void insertData(@Param("collection") List pos); + /** + * 批量插入 + * + * @param pos + */ + void insertData(@Param("collection") List pos); - /** - * 批量修改 - * @param pos - */ - void updateData(@Param("collection") List pos); + /** + * 批量修改 + * + * @param pos + */ + void updateData(@Param("collection") List pos); - /** - * 批量删除 - * @param longs - */ + /** + * 新增,忽略null字段 + * + * @param otherDeduction 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(OtherDeductionPO otherDeduction); + + /** + * 批量删除 + * + * @param longs + */ void deleteData(List longs); + + /** + * 删除记录 + * + * @param otherDeduction 待删除的记录 + * @return 返回影响行数 + */ + int delete(OtherDeductionPO otherDeduction); + + OtherDeductionPO getByTaxAgentIdAndEmployeeId(@Param("taxAgentId") Long taxAgentId, @Param("employeeId") Long employeeId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.xml b/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.xml index 03c20d1bb..f17af4a9c 100644 --- a/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/OtherDeductionMapper.xml @@ -53,6 +53,22 @@ + + UPDATE hrsa_other_deduction + SET delete_type=1 + WHERE id = #{id} AND delete_type = 0 + + + + +