修改PMS车型项目库数据导入逻辑
This commit is contained in:
+40
-18
@@ -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车型项目库导入结束");
|
||||
|
||||
Reference in New Issue
Block a user