Merge remote-tracking branch 'remotes/origin/master' into feature/v3-siRepairCreate-1229

This commit is contained in:
sy 2023-01-05 16:12:47 +08:00
commit f1a123dfa4
6 changed files with 52 additions and 4 deletions

View File

@ -21,6 +21,14 @@ import java.util.stream.Collectors;
@Slf4j
public class EncryptUtil {
private static final String NULL = "null";
private static String ifNull(String value){
if (NULL.equals(value)) {
return null;
}
return value;
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
@ -39,7 +47,7 @@ public class EncryptUtil {
if (CollectionUtils.isNotEmpty(fieldList)) {
for (Field field : fieldList) {
field.setAccessible(true);
String fieldValue = String.valueOf(field.get(data));
String fieldValue = (String)field.get(data);
if (StringUtils.isNotBlank(fieldValue)) {
String encryptValue = AESEncryptUtil.encrypt(fieldValue);
field.set(data, encryptValue);
@ -117,7 +125,7 @@ public class EncryptUtil {
field.setAccessible(true);
String fieldValue = (String) field.get(data);
if (StringUtils.isNotBlank(fieldValue)) {
String encryptValue = AESEncryptUtil.decrypt(fieldValue);
String encryptValue = ifNull(AESEncryptUtil.decrypt(fieldValue));
field.set(data, encryptValue);
}
}
@ -145,7 +153,7 @@ public class EncryptUtil {
field.setAccessible(true);
String fieldValue = (String) field.get(data);
if (StringUtils.isNotBlank(fieldValue)) {
String encryptValue = AESEncryptUtil.decrypt(fieldValue);
String encryptValue = ifNull(AESEncryptUtil.decrypt(fieldValue));
field.set(data, encryptValue);
}
}

View File

@ -76,6 +76,7 @@ public class SalaryArchiveBO {
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgentName"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "分部"), "subcompanyName"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "工号"), "workcode"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "起始发薪日期"), "payStartDate"));

View File

@ -125,5 +125,4 @@ public interface SalaryAcctResultMapper {
*/
void batchUpdateOriginResultValue(@Param("collection") List<SalaryAcctResultPO> subSalaryAcctResultValues);
}

View File

@ -14,6 +14,7 @@ import com.engine.salary.util.page.PageInfo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 薪资核算结果
@ -190,4 +191,12 @@ public interface SalaryAcctResultService {
* @return
*/
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndSalaryItemIds(Collection<Long> salaryAcctRecordIds, Collection<Long> salaryItemIds);
/**
* @description 根据薪资核算人员id薪资项目id获取薪资核算结果
* @return List<SalaryAesultPO>
* @author Harryxzy
* @date 2022/12/26 22:24
*/
List<SalaryAcctResultPO> listByAcctEmployeeIdsAndSalaryItemIds(Set<Long> salaryAcctEmpIds, Set<Long> excelSalaryItemIds);
}

View File

@ -895,12 +895,17 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
}
}
if (StringUtils.equals("importSalaryAcctResult", importType)) {
List<SalaryAcctResultPO> deleteResults = new ArrayList<>();
if (CollectionUtils.isNotEmpty(salaryAcctEmpIds)) {
// 获取删除的核算结果
deleteResults = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
getSalaryAcctResultService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
//删除报表
getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
}
if (CollectionUtils.isNotEmpty(salaryAcctResults)) {
// 处理导入薪资项的回算值
handleOriginResultValue(deleteResults, salaryAcctResults);
getSalaryAcctResultService(user).batchSave(salaryAcctResults);
//报表
getSalaryAcctReportService(user).batchSave(salaryAcctReports);
@ -923,6 +928,23 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
return apidatas;
}
/**
* @description
* @return void
* @author Harryxzy
* @date 2022/12/26 22:36
*/
private void handleOriginResultValue(List<SalaryAcctResultPO> deleteResults, List<SalaryAcctResultPO> salaryAcctResults) {
Map<String, List<SalaryAcctResultPO>> deleteMap = SalaryEntityUtil.group2Map(deleteResults, po -> po.getSalaryAcctEmpId() + "-" + po.getSalaryItemId());
salaryAcctResults.stream().forEach(result -> {
List<SalaryAcctResultPO> salaryAcctResultPOS = deleteMap.get(result.getSalaryAcctEmpId() + "-" + result.getSalaryItemId());
if(salaryAcctResultPOS != null && salaryAcctResultPOS.size() > 0 ){
result.setOriginResultValue(salaryAcctResultPOS.get(0).getOriginResultValue());
}
});
}
// @Override
// public Map<String, Object> exportCheckResult(
// SalaryCheckResultExportParam exportParam,

View File

@ -866,6 +866,15 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
}
@Override
public List<SalaryAcctResultPO> listByAcctEmployeeIdsAndSalaryItemIds(Set<Long> salaryAcctEmployeeIds, Set<Long> salaryItemIds) {
SalaryAcctResultPO build = SalaryAcctResultPO.builder().salaryAcctEmpIds(salaryAcctEmployeeIds).salaryItemIds(salaryItemIds).build();
List<SalaryAcctResultPO> list = getSalaryAcctResultMapper().listSome(build);
// 数据解密
encryptUtil.decryptList(list, SalaryAcctResultPO.class);
return list;
}
@Override
public void batchUpdateOriginResultValue(List<SalaryAcctResultPO> salaryAcctResultValues) {
int batchSize = 500;