修改PMS车型项目库数据导入逻辑

This commit is contained in:
Xia Zekun
2024-04-12 11:01:38 +08:00
committed by fengchenchen
parent cbd61b2445
commit b6b001a169
@@ -84,12 +84,28 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
return list;
}
public LawsProjectLibrary queryByWorkNumber(String WorkNumber){
public LawsProjectLibrary queryByWorkNumber(String WorkNumber) {
LawsProjectLibrary lawsProjectLibrary = new LawsProjectLibrary();
lawsProjectLibrary.setWorkNumber(WorkNumber);
QueryWrapper<LawsProjectLibrary> queryWrapper = new QueryWrapper<>(lawsProjectLibrary);
List<LawsProjectLibrary> list = list(queryWrapper);
if(!list.isEmpty()){
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
public List<LawsProjectLibrary> getList(LawsProjectLibrary lawsProjectLibrary) {
QueryWrapper<LawsProjectLibrary> queryWrapper = new QueryWrapper<>(lawsProjectLibrary);
return list(queryWrapper);
}
public LawsProjectLibrary queryByNameAndNumber(String name, String number) {
LawsProjectLibrary lawsProjectLibrary = new LawsProjectLibrary();
lawsProjectLibrary.setProjectName(name);
lawsProjectLibrary.setWorkNumber(number);
List<LawsProjectLibrary> list = getList(lawsProjectLibrary);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
@@ -257,17 +273,19 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
log.info("数据转换执行时间:" + executionTime + " 毫秒");
for (LawsProjectLibraryPMS pms : pmsList) {
// 判断空数据
if (StringUtils.isBlank(pms.getProjectName()) && StringUtils.isBlank(pms.getWorkNumber())) {
continue;
}
String errInfo = "";
LawsProjectLibrary lpl = new LawsProjectLibrary();
//负责人工号-》id
SysUser user = sysUserService.getUserByName(pms.getProjectLeaderNo());
String projectLeader = null;
String projectLeader = "-";
if (ObjectUtils.isNotEmpty(user)) {
projectLeader = user.getId();
}else{
pms.setErrorInfo("找不到项目负责人");
log.error(pms.toString());
errImportList.add(pms);
continue;
} else {
errInfo += "找不到该用户,将该项置空后导入";
}
//项目级别-》后两位
String projectLevel = null;
@@ -284,19 +302,23 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
lpl.setProjectLeader(projectLeader);
lpl.setProjectLevel(projectLevel);
//
LawsProjectLibrary queryItem = queryByWorkNumber(lpl.getWorkNumber());
if(ObjectUtils.isNotEmpty(queryItem)){
pms.setErrorInfo("工作令编号已存在");
log.error(pms.toString());
errImportList.add(pms);
continue;
//重复的覆盖旧数据 判重标准改为 名称+工作令
LawsProjectLibrary queryItem = queryByNameAndNumber(lpl.getProjectName(), lpl.getWorkNumber());
if (ObjectUtils.isNotEmpty(queryItem)) {
errInfo += " 名称+工作令编号的组合已存在,覆盖旧数据";
lpl.setId(queryItem.getId());
this.updateById(lpl);
} else {
// 全新的就保存
errInfo += " 新数据,保存";
this.add(lpl);
}
//保存
this.add(lpl);
pms.setErrorInfo(errInfo);
log.info(pms.toString());
errImportList.add(pms);
}
if (!errImportList.isEmpty()) {
log.info("导入失败数据条数:{}", errImportList.size());
log.info("导入数据条数:{}", errImportList.size());
this.exportWithExcel(response, errImportList, "LawsProjectLibraryPMS-ImportErrorData.xls");
}
log.info("PMS车型项目库导入结束");