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