全量迁移配置

This commit is contained in:
钱涛 2024-08-19 09:49:49 +08:00
parent 673699dfb8
commit cd8d4601af
3 changed files with 56 additions and 35 deletions

View File

@ -37,6 +37,7 @@ import com.engine.salary.util.excel.ExcelUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.valid.ValidUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -55,6 +56,7 @@ import java.util.stream.Collectors;
* @author qiantao
* @version 1.0
**/
@Slf4j
public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchiveItemService {
private SalaryArchiveBiz salaryArchiveMapper = new SalaryArchiveBiz();
@ -94,6 +96,7 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
/**
* 获取未生效 lt
*
@ -281,13 +284,12 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
salaryArchiveItem,
saiNew,
user
);
);
}
return StringUtils.EMPTY;
}
/**
* @return null
* @description 构建薪资档案中调薪的更新PO
@ -765,34 +767,41 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
List<SalaryItemPO> salaryItemPOList = getSalaryItemService(user).listAll();
Map<String, SalaryItemPO> nameMap = SalaryEntityUtil.convert2Map(salaryItemPOList, SalaryItemPO::getName);
Map<String, SalaryItemPO> codeMap = SalaryEntityUtil.convert2Map(salaryItemPOList, SalaryItemPO::getCode);
Optional.ofNullable(config .getSalaryItems())
Optional.ofNullable(config.getSalaryItems())
.orElse(new ArrayList<>())
.forEach(itemPO -> {
if (nameMap.containsKey(itemPO.getName())) {
SalaryItemPO salaryItemPO = nameMap.get(itemPO.getName());
if (!StrUtil.equals(salaryItemPO.getCode(), itemPO.getCode())) {
result.getWarning().add(String.format("警告,档案字段[%s]名称已存在,但项目code不一致,迁入code:%s,当前系统code%s", itemPO.getName(), itemPO.getCode(), salaryItemPO.getCode()));
try {
if (nameMap.containsKey(itemPO.getName())) {
SalaryItemPO salaryItemPO = nameMap.get(itemPO.getName());
if (!StrUtil.equals(salaryItemPO.getCode(), itemPO.getCode())) {
result.getWarning().add(String.format("警告,档案字段[%s]名称已存在,但项目code不一致,迁入code:%s,当前系统code%s", itemPO.getName(), itemPO.getCode(), salaryItemPO.getCode()));
}
itemPO.setId(salaryItemPO.getId());
//不许修改code
itemPO.setCode(null);
itemPO.setCreator(uid);
getSalaryItemMapper().updateIgnoreNull(itemPO);
} else if (codeMap.containsKey(itemPO.getCode())) {
SalaryItemPO salaryItemPO = codeMap.get(itemPO.getCode());
if (!StrUtil.equals(salaryItemPO.getName(), itemPO.getName())) {
result.getWarning().add(String.format("警告,档案字段[%s]code已存在,但项目code不一致,迁入名称:%s,当前系统名称:%s", itemPO.getName(), itemPO.getName(), salaryItemPO.getName()));
}
itemPO.setId(salaryItemPO.getId());
//不许修改名字
itemPO.setName(null);
itemPO.setCreator(uid);
getSalaryItemMapper().updateIgnoreNull(itemPO);
} else {
itemPO.setId(IdGenerator.generate());
getSalaryItemMapper().insertIgnoreNull(itemPO);
}
itemPO.setId(salaryItemPO.getId());
//不许修改code
itemPO.setCode(null);
itemPO.setCreator(uid);
getSalaryItemMapper().updateIgnoreNull(itemPO);
} else if (codeMap.containsKey(itemPO.getCode())) {
SalaryItemPO salaryItemPO = codeMap.get(itemPO.getCode());
if (!StrUtil.equals(salaryItemPO.getName(), itemPO.getName())) {
result.getWarning().add(String.format("警告,档案字段[%s]code已存在,但项目code不一致,迁入名称:%s,当前系统名称:%s", itemPO.getName(), itemPO.getName(), salaryItemPO.getName()));
}
itemPO.setId(salaryItemPO.getId());
//不许修改名字
itemPO.setName(null);
itemPO.setCreator(uid);
getSalaryItemMapper().updateIgnoreNull(itemPO);
} else {
itemPO.setId(IdGenerator.generate());
getSalaryItemMapper().insertIgnoreNull(itemPO);
result.getSuccess().add(String.format("成功,薪资项目[%s]加载成功", itemPO.getName()));
} catch (Exception e) {
log.error("{}字段加载异常,", itemPO.getName(), e);
result.getError().add(String.format("错误,档案字段[%s]加载异常,%s", itemPO.getName(), e.getMessage()));
}
result.getSuccess().add(String.format("成功,薪资项目[%s]加载成功", itemPO.getName()));
});
return result;

View File

@ -49,6 +49,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
@ -72,6 +73,7 @@ import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
* @author qiantao
* @version 1.0
**/
@Slf4j
public class SalaryItemServiceImpl extends Service implements SalaryItemService {
private SalaryItemBiz salaryItemBiz = new SalaryItemBiz();
@ -814,7 +816,12 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
Optional.ofNullable(salaryItemConfig.getSalaryItems())
.orElse(new ArrayList<>())
.forEach(itemPO -> {
add(itemPO, nameMap, codeMap, result);
try {
add(itemPO, nameMap, codeMap, result);
} catch (Exception e) {
log.error("{}项目加载异常,", itemPO.getName(), e);
result.getError().add(String.format("错误,薪资项目[%s]加载异常,%s", itemPO.getName(), e.getMessage()));
}
});
return result;
}

View File

@ -536,15 +536,20 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
if (CollectionUtil.isNotEmpty((salarySysConfs))) {
salarySysConfs.forEach(po -> {
SalarySysConfPO sysConfPO = getSalarySysConfMapper().getOneByCode(po.getConfKey());
if (sysConfPO == null) {
po.setId(IdGenerator.generate());
getSalarySysConfMapper().insertIgnoreNull(po);
} else {
sysConfPO.setConfValue(po.getConfValue());
getSalarySysConfMapper().updateIgnoreNull(sysConfPO);
try {
SalarySysConfPO sysConfPO = getSalarySysConfMapper().getOneByCode(po.getConfKey());
if (sysConfPO == null) {
po.setId(IdGenerator.generate());
getSalarySysConfMapper().insertIgnoreNull(po);
} else {
sysConfPO.setConfValue(po.getConfValue());
getSalarySysConfMapper().updateIgnoreNull(sysConfPO);
}
result.getSuccess().add(String.format("[%s]配置key:[%s],value:[%s]", po.getTitle(), po.getConfKey(), po.getConfValue()));
} catch (Exception e) {
log.error(String.format("错误,[%s]配置加载异常key:[%s],value:[%s]", po.getTitle(), po.getConfKey(), po.getConfValue()), e);
result.getError().add(String.format("错误,[%s]配置加载异常key:[%s],value:[%s],原因:%s", po.getTitle(), po.getConfKey(), po.getConfValue(), e.getMessage()));
}
result.getSuccess().add(String.format("[%s]配置key:[%s],value:[%s]", po.getTitle(), po.getConfKey(), po.getConfValue()));
});
}