Commit ad7cf558 authored by 刘帅's avatar 刘帅

1.维修项目导入功能-优化

parent fa311c1d
......@@ -67,7 +67,7 @@ public class ErpMaintainProjectVo implements Serializable {
/**
* 保质期(天)
*/
@ExcelProperty(value = "保质期")
@ExcelProperty(value = "保质期(天)")
private Integer warrantyPeriod;
/**
......
......@@ -19,6 +19,7 @@ import com.maintain.common.excel.ExcelListener;
import com.maintain.common.excel.ExcelResult;
import com.maintain.common.exception.ServiceException;
import com.maintain.common.helper.LoginHelper;
import com.maintain.common.utils.StringUtils;
import com.maintain.common.utils.ValidatorUtils;
import com.maintain.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
......@@ -26,7 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* 故障项目自定义导入
* 检验项目自定义导入
*
* @author liushuai
*/
......@@ -63,15 +64,14 @@ public class ErpExamineProjectImportListener extends AnalysisEventListener<ErpEx
if (ObjectUtil.isNull(erpExamineProject)) {
erpExamineProject = BeanUtil.toBean(projectImportVo, ErpExamineProject.class);
ValidatorUtils.validate(erpExamineProject);
LambdaQueryWrapper<ErpProjectType> typeLambdaQueryWrapper = Wrappers.lambdaQuery();
typeLambdaQueryWrapper.eq(ErpProjectType::getTypeName, erpExamineProject.getTypeName())
.eq(ErpProjectType::getType, ProjectType.EXAMINE.getCode());
ErpProjectType projectType = typeMapper.selectOne(typeLambdaQueryWrapper);
ErpProjectType projectType = typeMapper.selectOne(
new LambdaQueryWrapper<ErpProjectType>().eq(ErpProjectType::getTypeName, erpExamineProject.getTypeName())
.eq(ErpProjectType::getType, ProjectType.EXAMINE.getCode()));
if (null == projectType) {
ErpProjectType type = new ErpProjectType();
type.setTypeName(erpExamineProject.getTypeName());
type.setParentId(Long.valueOf(ProjectType.EXAMINE.getCode()));
type.setAncestors("0,3");
type.setAncestors("0" + StringUtils.SEPARATOR + ProjectType.EXAMINE.getCode());
type.setType(ProjectType.EXAMINE.getCode());
typeMapper.insert(type);
erpExamineProject.setTypeId(type.getTypeId());
......
......@@ -22,7 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* 故障项目自定义导入
* 维修原因自定义导入
*
* @author liushuai
*/
......@@ -52,7 +52,7 @@ public class ErpMaintainCauseImportListener extends AnalysisEventListener<ErpMai
lqw.eq(ErpMaintainCause::getMaintainCauseCode, maintainCauseImportVo.getMaintainCauseCode());
ErpMaintainCause erpMaintainCause = maintainCauseMapper.selectOne(lqw);
try {
// 验证是否存在这个车辆
// 验证是否存在这个维修原因
if (ObjectUtil.isNull(erpMaintainCause)) {
erpMaintainCause = BeanUtil.toBean(maintainCauseImportVo, ErpMaintainCause.class);
ValidatorUtils.validate(erpMaintainCause);
......
......@@ -6,13 +6,17 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.maintain.business.domain.ErpMaintainProject;
import com.maintain.business.domain.ErpProjectType;
import com.maintain.business.domain.vo.ErpMaintainProjectImportVo;
import com.maintain.business.domain.vo.ErpMaintainProjectVo;
import com.maintain.business.mapper.ErpMaintainProjectMapper;
import com.maintain.business.mapper.ErpProjectTypeMapper;
import com.maintain.common.enums.ProjectType;
import com.maintain.common.excel.ExcelListener;
import com.maintain.common.excel.ExcelResult;
import com.maintain.common.exception.ServiceException;
import com.maintain.common.helper.LoginHelper;
import com.maintain.common.utils.StringUtils;
import com.maintain.common.utils.ValidatorUtils;
import com.maintain.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
......@@ -29,6 +33,8 @@ public class ErpMaintainProjectImportListener extends AnalysisEventListener<ErpM
private final ErpMaintainProjectMapper projectMapper;
private final ErpProjectTypeMapper projectTypeMapper;
private final Boolean isUpdateSupport;
private final String operName;
......@@ -40,6 +46,7 @@ public class ErpMaintainProjectImportListener extends AnalysisEventListener<ErpM
public ErpMaintainProjectImportListener(Boolean isUpdateSupport) {
this.projectMapper = SpringUtils.getBean(ErpMaintainProjectMapper.class);
this.projectTypeMapper = SpringUtils.getBean(ErpProjectTypeMapper.class);
this.isUpdateSupport = isUpdateSupport;
this.operName = LoginHelper.getUsername();
}
......@@ -51,10 +58,24 @@ public class ErpMaintainProjectImportListener extends AnalysisEventListener<ErpM
.eq(ErpMaintainProject::getProjectName, projectImportVo.getProjectName());
ErpMaintainProject maintainProject = projectMapper.selectOne(lqw);
try {
// 验证是否存在这个车辆
// 验证是否存在这个维修项目
if (ObjectUtil.isNull(maintainProject)) {
maintainProject = BeanUtil.toBean(projectImportVo, ErpMaintainProject.class);
ValidatorUtils.validate(maintainProject);
if (StringUtils.isNotEmpty(maintainProject.getTypeName())) {
ErpProjectType projectType = projectTypeMapper.selectOne(new LambdaQueryWrapper<ErpProjectType>().eq(ErpProjectType::getTypeName, maintainProject.getTypeName()).eq(ErpProjectType::getType, ProjectType.MAINTAIN.getCode()));
if (null == projectType) {
ErpProjectType erpProjectType = new ErpProjectType();
erpProjectType.setTypeName(maintainProject.getTypeName());
erpProjectType.setParentId(Long.valueOf(ProjectType.MAINTAIN.getCode()));
erpProjectType.setAncestors("0" + StringUtils.SEPARATOR + ProjectType.MAINTAIN.getCode());
erpProjectType.setType(ProjectType.MAINTAIN.getCode());
projectTypeMapper.insert(erpProjectType);
maintainProject.setTypeId(erpProjectType.getTypeId());
}else {
maintainProject.setTypeId(projectType.getTypeId());
}
}
projectMapper.insert(maintainProject);
successNum++;
successMsg.append("<br/>").append(successNum).append("、维修项目 ").append(maintainProject.getProjectName()).append(" 导入成功");
......
......@@ -20,6 +20,7 @@ import com.maintain.common.excel.ExcelListener;
import com.maintain.common.excel.ExcelResult;
import com.maintain.common.exception.ServiceException;
import com.maintain.common.helper.LoginHelper;
import com.maintain.common.utils.StringUtils;
import com.maintain.common.utils.ValidatorUtils;
import com.maintain.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
......@@ -64,14 +65,15 @@ public class ErpMalfunctionProjectImportListener extends AnalysisEventListener<E
if (ObjectUtil.isNull(malfunctionProject)) {
malfunctionProject = BeanUtil.toBean(projectImportVo, ErpMalfunctionProject.class);
ValidatorUtils.validate(malfunctionProject);
LambdaQueryWrapper<ErpProjectType> projectTypeLambdaQueryWrapper = Wrappers.lambdaQuery();
projectTypeLambdaQueryWrapper.eq(ErpProjectType::getTypeName, malfunctionProject.getTypeName()).eq(ErpProjectType::getType, ProjectType.MALFUNCTION.getCode());
ErpProjectType erpProjectType = projectTypeMapper.selectOne(projectTypeLambdaQueryWrapper);
ErpProjectType erpProjectType = projectTypeMapper.selectOne(
new LambdaQueryWrapper<ErpProjectType>()
.eq(ErpProjectType::getTypeName, malfunctionProject.getTypeName())
.eq(ErpProjectType::getType, ProjectType.MALFUNCTION.getCode()));
if (erpProjectType == null) {
ErpProjectType projectType = new ErpProjectType();
projectType.setTypeName(malfunctionProject.getTypeName());
projectType.setParentId(2L);
projectType.setAncestors("0,2");
projectType.setAncestors("0" + StringUtils.SEPARATOR + ProjectType.MALFUNCTION.getCode());
projectType.setType(ProjectType.MALFUNCTION.getCode());
projectTypeMapper.insert(projectType);
malfunctionProject.setTypeId(projectType.getTypeId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment