Merge remote-tracking branch 'remotes/origin/feature/231001-福利档案基数调整记录' into fix/231102-福利档案,导入数据中的年月数据校验优化
This commit is contained in:
commit
4ebad5ec83
|
|
@ -0,0 +1,39 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id NUMBER(20,0) NOT NULL,
|
||||
|
||||
employee_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
payment_organization NUMBER(11,0) NOT NULL,
|
||||
|
||||
welfare_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
adjust_before_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_after_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_before_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_after_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_welfare_item_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
operator NUMBER(20,0) NOT NULL,
|
||||
|
||||
operate_time DATE NULL,
|
||||
|
||||
create_time DATE NOT NULL,
|
||||
|
||||
update_time DATE NOT NULL,
|
||||
|
||||
creator NUMBER(20,0) NOT NULL,
|
||||
|
||||
delete_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
tenant_key VARCHAR2(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id NUMBER(20,0) NOT NULL,
|
||||
|
||||
employee_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
payment_organization NUMBER(11,0) NOT NULL,
|
||||
|
||||
welfare_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
adjust_before_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_after_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_before_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_after_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_welfare_item_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
operator NUMBER(20,0) NOT NULL,
|
||||
|
||||
operate_time DATE NULL,
|
||||
|
||||
create_time DATE NOT NULL,
|
||||
|
||||
update_time DATE NOT NULL,
|
||||
|
||||
creator NUMBER(20,0) NOT NULL,
|
||||
|
||||
delete_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
tenant_key VARCHAR2(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id NUMBER(20,0) NOT NULL,
|
||||
|
||||
employee_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
payment_organization NUMBER(11,0) NOT NULL,
|
||||
|
||||
welfare_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
adjust_before_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_after_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_before_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_after_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_welfare_item_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
operator NUMBER(20,0) NOT NULL,
|
||||
|
||||
operate_time DATE NULL,
|
||||
|
||||
create_time DATE NOT NULL,
|
||||
|
||||
update_time DATE NOT NULL,
|
||||
|
||||
creator NUMBER(20,0) NOT NULL,
|
||||
|
||||
delete_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
tenant_key VARCHAR2(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id bigint NOT NULL,
|
||||
|
||||
employee_id bigint NOT NULL,
|
||||
|
||||
payment_organization int NOT NULL,
|
||||
|
||||
welfare_type int NOT NULL,
|
||||
|
||||
adjust_before_scheme_id int NULL,
|
||||
|
||||
adjust_after_scheme_id int NULL,
|
||||
|
||||
adjust_before_base_value varchar(255) NULL,
|
||||
|
||||
adjust_after_base_value varchar(255) NULL,
|
||||
|
||||
adjust_welfare_item_id bigint NOT NULL,
|
||||
|
||||
operator bigint NOT NULL,
|
||||
|
||||
operate_time datetime NULL,
|
||||
|
||||
create_time datetime NOT NULL,
|
||||
|
||||
update_time datetime NOT NULL,
|
||||
|
||||
creator bigint NOT NULL,
|
||||
|
||||
delete_type int NOT NULL,
|
||||
|
||||
tenant_key varchar(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id NUMBER(20,0) NOT NULL,
|
||||
|
||||
employee_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
payment_organization NUMBER(11,0) NOT NULL,
|
||||
|
||||
welfare_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
adjust_before_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_after_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_before_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_after_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_welfare_item_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
operator NUMBER(20,0) NOT NULL,
|
||||
|
||||
operate_time DATE NULL,
|
||||
|
||||
create_time DATE NOT NULL,
|
||||
|
||||
update_time DATE NOT NULL,
|
||||
|
||||
creator NUMBER(20,0) NOT NULL,
|
||||
|
||||
delete_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
tenant_key VARCHAR2(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
)
|
||||
/
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id bigint NOT NULL,
|
||||
|
||||
employee_id bigint NOT NULL,
|
||||
|
||||
payment_organization int NOT NULL,
|
||||
|
||||
welfare_type int NOT NULL,
|
||||
|
||||
adjust_before_scheme_id int,
|
||||
|
||||
adjust_after_scheme_id int,
|
||||
|
||||
adjust_before_base_value varchar(255),
|
||||
|
||||
adjust_after_base_value varchar(255),
|
||||
|
||||
adjust_welfare_item_id bigint NOT NULL,
|
||||
|
||||
operator bigint NOT NULL,
|
||||
|
||||
operate_time timestamp(0),
|
||||
|
||||
create_time timestamp(0) NOT NULL,
|
||||
|
||||
update_time timestamp(0) NOT NULL,
|
||||
|
||||
creator bigint NOT NULL,
|
||||
|
||||
delete_type int NOT NULL,
|
||||
|
||||
tenant_key varchar(10),
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
CREATE TABLE [hrsa_insurance_base_history] (
|
||||
|
||||
[id] bigint NOT NULL,
|
||||
|
||||
[employee_id] bigint NOT NULL,
|
||||
|
||||
[payment_organization] int NOT NULL,
|
||||
|
||||
[welfare_type] int NOT NULL,
|
||||
|
||||
[adjust_before_scheme_id] int NULL,
|
||||
|
||||
[adjust_after_scheme_id] int NULL,
|
||||
|
||||
[adjust_before_base_value] varchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
|
||||
[adjust_after_base_value] varchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
|
||||
[adjust_welfare_item_id] bigint NOT NULL,
|
||||
|
||||
[operator] bigint NOT NULL,
|
||||
|
||||
[operate_time] datetime NULL,
|
||||
|
||||
[create_time] datetime NOT NULL,
|
||||
|
||||
[update_time] datetime NOT NULL,
|
||||
|
||||
[creator] bigint NOT NULL,
|
||||
|
||||
[delete_type] int NOT NULL,
|
||||
|
||||
[tenant_key] varchar(10) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
|
||||
PRIMARY KEY ([id])
|
||||
|
||||
)
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
CREATE TABLE hrsa_insurance_base_history (
|
||||
|
||||
id NUMBER(20,0) NOT NULL,
|
||||
|
||||
employee_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
payment_organization NUMBER(11,0) NOT NULL,
|
||||
|
||||
welfare_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
adjust_before_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_after_scheme_id NUMBER(11,0) NULL,
|
||||
|
||||
adjust_before_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_after_base_value VARCHAR2(255) NULL,
|
||||
|
||||
adjust_welfare_item_id NUMBER(20,0) NOT NULL,
|
||||
|
||||
operator NUMBER(20,0) NOT NULL,
|
||||
|
||||
operate_time DATE NULL,
|
||||
|
||||
create_time DATE NOT NULL,
|
||||
|
||||
update_time DATE NOT NULL,
|
||||
|
||||
creator NUMBER(20,0) NOT NULL,
|
||||
|
||||
delete_type NUMBER(11,0) NOT NULL,
|
||||
|
||||
tenant_key VARCHAR2(10) NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -1958,7 +1958,7 @@ public class SIArchivesBiz {
|
|||
Date now = new Date();
|
||||
List<InsuranceArchivesBaseHistoryPO> toCreateAdjustHistoryList = new ArrayList<>();
|
||||
//旧档案不存在基数信息,则直接遍历新的基数数据,生成调整记录;旧档案存在基数信息,则合并新旧基数数据,遍历合并后的技术数据中的key,生成调整记录。
|
||||
if(adjustInfo.getAdjustAfterBaseJson() != null && adjustInfo.getAdjustBeforeBaseJson() == null) {
|
||||
if(StringUtils.isNotBlank(adjustInfo.getAdjustAfterBaseJson()) && StringUtils.isBlank(adjustInfo.getAdjustBeforeBaseJson())) {
|
||||
Map<String, Object> adjustAfterBaseMap = JSON.parseObject(adjustInfo.getAdjustAfterBaseJson(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
for (String key : adjustAfterBaseMap.keySet()) {
|
||||
|
|
@ -1976,36 +1976,43 @@ public class SIArchivesBiz {
|
|||
adjustItem.setId(IdGenerator.generate());
|
||||
toCreateAdjustHistoryList.add(adjustItem);
|
||||
}
|
||||
} else if (adjustInfo.getAdjustAfterBaseJson() != null && adjustInfo.getAdjustBeforeBaseJson() != null) {
|
||||
} else if (StringUtils.isNotBlank(adjustInfo.getAdjustAfterBaseJson()) && StringUtils.isNotBlank(adjustInfo.getAdjustBeforeBaseJson())) {
|
||||
Map<String, Object> adjustAfterBaseMap = JSON.parseObject(adjustInfo.getAdjustAfterBaseJson(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
Map<String, Object> adjustBeforeBaseMap = JSON.parseObject(adjustInfo.getAdjustBeforeBaseJson(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
Map<String, Object> reDealMap = new HashMap<>();
|
||||
reDealMap.putAll(adjustAfterBaseMap);
|
||||
reDealMap.putAll(adjustBeforeBaseMap);
|
||||
for (String key : reDealMap.keySet()) {
|
||||
String beforeValue = (String) adjustBeforeBaseMap.get(key);
|
||||
String afterValue = (String) adjustAfterBaseMap.get(key);
|
||||
if (SalaryEntityUtil.empty2Zero(beforeValue).compareTo(SalaryEntityUtil.empty2Zero(afterValue)) == 0) {
|
||||
continue;
|
||||
}
|
||||
InsuranceArchivesBaseHistoryPO adjustItem = new InsuranceArchivesBaseHistoryPO();
|
||||
BeanUtils.copyProperties(adjustInfo, adjustItem);
|
||||
adjustItem.setAdjustWelfareItemId(Long.valueOf(key));
|
||||
adjustItem.setAdjustBeforeBaseValue(beforeValue);
|
||||
adjustItem.setAdjustAfterBaseValue(afterValue);
|
||||
adjustItem.setOperateTime(now);
|
||||
adjustItem.setOperator(creator);
|
||||
adjustItem.setCreator(creator);
|
||||
adjustItem.setCreateTime(now);
|
||||
adjustItem.setUpdateTime(now);
|
||||
adjustItem.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
|
||||
adjustItem.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY);
|
||||
adjustItem.setId(IdGenerator.generate());
|
||||
|
||||
toCreateAdjustHistoryList.add(adjustItem);
|
||||
if (adjustAfterBaseMap != null) {
|
||||
reDealMap.putAll(adjustAfterBaseMap);
|
||||
}
|
||||
if (adjustBeforeBaseMap != null) {
|
||||
reDealMap.putAll(adjustBeforeBaseMap);
|
||||
}
|
||||
if (reDealMap.size() >0) {
|
||||
for (String key : reDealMap.keySet()) {
|
||||
String beforeValue = (String) adjustBeforeBaseMap.get(key);
|
||||
String afterValue = (String) adjustAfterBaseMap.get(key);
|
||||
if (SalaryEntityUtil.empty2Zero(beforeValue).compareTo(SalaryEntityUtil.empty2Zero(afterValue)) == 0) {
|
||||
continue;
|
||||
}
|
||||
InsuranceArchivesBaseHistoryPO adjustItem = new InsuranceArchivesBaseHistoryPO();
|
||||
BeanUtils.copyProperties(adjustInfo, adjustItem);
|
||||
adjustItem.setAdjustWelfareItemId(Long.valueOf(key));
|
||||
adjustItem.setAdjustBeforeBaseValue(beforeValue);
|
||||
adjustItem.setAdjustAfterBaseValue(afterValue);
|
||||
adjustItem.setOperateTime(now);
|
||||
adjustItem.setOperator(creator);
|
||||
adjustItem.setCreator(creator);
|
||||
adjustItem.setCreateTime(now);
|
||||
adjustItem.setUpdateTime(now);
|
||||
adjustItem.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
|
||||
adjustItem.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY);
|
||||
adjustItem.setId(IdGenerator.generate());
|
||||
|
||||
toCreateAdjustHistoryList.add(adjustItem);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return toCreateAdjustHistoryList;
|
||||
}
|
||||
|
|
@ -2059,8 +2066,14 @@ public class SIArchivesBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
InsuranceBaseAdjustHistoryMapper mapper = sqlSession.getMapper(InsuranceBaseAdjustHistoryMapper.class);
|
||||
List<InsuranceArchivesBaseHistoryDTO> list = mapper.listByEmployeeIdAndOperator(operator, employeeId);
|
||||
return list;
|
||||
List<InsuranceArchivesBaseHistoryDTO> empList = mapper.listByEmployeeIdAndOperator(operator, employeeId);
|
||||
List<InsuranceArchivesBaseHistoryDTO> extEmpList = mapper.listByExtEmpIdAndOperator(operator, employeeId);
|
||||
if (extEmpList != null) {
|
||||
empList.addAll(extEmpList);
|
||||
empList = empList.stream().filter(f -> StringUtils.isNotBlank(f.getEmployeeName()))
|
||||
.sorted(Comparator.comparing(InsuranceArchivesBaseHistoryDTO::getOperateTime).reversed()).collect(Collectors.toList());
|
||||
}
|
||||
return empList;
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,5 @@ public interface InsuranceBaseAdjustHistoryMapper {
|
|||
* 根据操作人或操作对象获取基数调整记录
|
||||
*/
|
||||
List<InsuranceArchivesBaseHistoryDTO> listByEmployeeIdAndOperator(@Param("operator")Long operator, @Param("employeeId")Long employeeId);
|
||||
List<InsuranceArchivesBaseHistoryDTO> listByExtEmpIdAndOperator(@Param("operator")Long operator, @Param("employeeId")Long employeeId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,4 +196,40 @@
|
|||
</if>
|
||||
ORDER BY t.operate_time DESC, t.adjust_welfare_item_id ASC
|
||||
</select>
|
||||
|
||||
<select id="listByExtEmpIdAndOperator" resultType="com.engine.salary.entity.siarchives.dto.InsuranceArchivesBaseHistoryDTO">
|
||||
SELECT
|
||||
t.id
|
||||
, t.employee_id
|
||||
, t.payment_organization
|
||||
, t.welfare_type
|
||||
, t.adjust_before_scheme_id
|
||||
, t.adjust_after_scheme_id
|
||||
, t.adjust_before_base_value
|
||||
, t.adjust_after_base_value
|
||||
, t.adjust_welfare_item_id
|
||||
, t.operator
|
||||
, t.operate_time
|
||||
, ca.insurance_name as welfareItemName
|
||||
, sb.scheme_name as adjustBeforeSchemeName
|
||||
, sa.scheme_name as adjustAfterSchemeName
|
||||
, eo.lastname as operatorName
|
||||
, ee.username as employeeName
|
||||
, p.name as paymentOrganizationName
|
||||
FROM hrsa_insurance_base_history t
|
||||
LEFT JOIN hrmresource eo on eo.id = t.operator
|
||||
LEFT JOIN hrsa_external_employee ee on ee.id = t.employee_id
|
||||
LEFT JOIN hrsa_social_security_scheme sb on sb.id = t.adjust_before_scheme_id
|
||||
LEFT JOIN hrsa_social_security_scheme sa on sa.id = t.adjust_after_scheme_id
|
||||
LEFT JOIN hrsa_insurance_category ca on ca.id = t.adjust_welfare_item_id
|
||||
LEFT JOIN hrsa_tax_agent p on p.id = t.payment_organization
|
||||
WHERE t.delete_type = 0
|
||||
<if test="employeeId != null ">
|
||||
AND t.employee_id = #{employeeId}
|
||||
</if>
|
||||
<if test="operator != null ">
|
||||
AND t.operator = #{operator}
|
||||
</if>
|
||||
ORDER BY t.operate_time DESC, t.adjust_welfare_item_id ASC
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue