项目扩展
This commit is contained in:
+14
@@ -77,6 +77,20 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
|
|||||||
projectLibraryBaseService.add(projectLibraryBase);
|
projectLibraryBaseService.add(projectLibraryBase);
|
||||||
return Result.OK("添加成功!");
|
return Result.OK("添加成功!");
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 项目扩展(添加子项目子项目基本信息、相关人员名单、法规/认证任务计划与被扩展项目保持一致)
|
||||||
|
*
|
||||||
|
* @param projectLibraryBase
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "项目扩展(添加子项目)")
|
||||||
|
@ApiOperation(value="项目扩展(添加子项目)", notes="项目扩展(添加子项目)")
|
||||||
|
@RequiresPermissions("projectLibraryBase:add")
|
||||||
|
@PostMapping(value = "/addChild")
|
||||||
|
public Result<?> addChild(@Validated @RequestBody ProjectLibraryBase projectLibraryBase) throws ParseException {
|
||||||
|
projectLibraryBaseService.addChild(projectLibraryBase);
|
||||||
|
return Result.OK("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
|
|||||||
+14
@@ -109,4 +109,18 @@ public class ProjectLibraryBase implements Serializable {
|
|||||||
/**目标市场展示名称*/
|
/**目标市场展示名称*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String targetMarketName;
|
private java.lang.String targetMarketName;
|
||||||
|
|
||||||
|
//主项目id parent_id
|
||||||
|
private String parentId;
|
||||||
|
|
||||||
|
//排序
|
||||||
|
private String projectVersion;
|
||||||
|
|
||||||
|
//最后一个版本
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String versionLast;
|
||||||
|
|
||||||
|
//说明
|
||||||
|
private String explanation;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -26,6 +26,14 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
|
|||||||
*/
|
*/
|
||||||
void add(ProjectLibraryBase projectLibraryBase) throws ParseException;
|
void add(ProjectLibraryBase projectLibraryBase) throws ParseException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目扩展(添加子项目-子项目基本信息、相关人员名单、法规/认证任务计划与被扩展项目保持一致)
|
||||||
|
*
|
||||||
|
* @param projectLibraryBase
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void addChild(ProjectLibraryBase projectLibraryBase) throws ParseException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* 更新
|
||||||
*
|
*
|
||||||
|
|||||||
+86
-5
@@ -1,6 +1,6 @@
|
|||||||
package com.jero.modules.project.service.impl;
|
package com.jero.modules.project.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.func.Func1;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -11,9 +11,26 @@ import com.jero.common.system.vo.DictModel;
|
|||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
|
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
|
||||||
import com.jero.modules.enums.DictCodeEnum;
|
import com.jero.modules.enums.DictCodeEnum;
|
||||||
import com.jero.modules.project.entity.*;
|
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||||
import com.jero.modules.project.enums.*;
|
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||||
import com.jero.modules.project.mapper.*;
|
import com.jero.modules.project.entity.ProjectLawsInventoryLogEO;
|
||||||
|
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||||
|
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
|
||||||
|
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||||
|
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||||
|
import com.jero.modules.project.entity.ProjectTaskPlanning;
|
||||||
|
import com.jero.modules.project.enums.CertificationProgressEnum;
|
||||||
|
import com.jero.modules.project.enums.CurrentProjectStatusEnum;
|
||||||
|
import com.jero.modules.project.enums.DesignComplianceStatusEnum;
|
||||||
|
import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
|
||||||
|
import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||||
|
import com.jero.modules.project.enums.ProjectRoleEnum;
|
||||||
|
import com.jero.modules.project.enums.TaskAffirmStatusEnum;
|
||||||
|
import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper;
|
||||||
|
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
|
||||||
|
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
|
||||||
|
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
|
||||||
|
import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
|
||||||
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||||
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
|
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
|
||||||
@@ -26,6 +43,7 @@ import com.jero.modules.system.service.ISysDictService;
|
|||||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||||
import com.jero.modules.system.util.StringUtils;
|
import com.jero.modules.system.util.StringUtils;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
@@ -33,6 +51,7 @@ import org.apache.poi.ss.usermodel.Row;
|
|||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@@ -40,7 +59,13 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -131,6 +156,62 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
|
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目扩展(添加子项目--子项目基本信息、相关人员名单、法规/认证任务计划与被扩展项目保持一致)
|
||||||
|
* @param projectLibraryBase
|
||||||
|
* @throws ParseException
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||||
|
public void addChild(ProjectLibraryBase projectLibraryBase) throws ParseException {
|
||||||
|
String id = projectLibraryBase.getId();//主项目id
|
||||||
|
String projectId = UUID.randomUUID().toString().replace("-", "");
|
||||||
|
//主表中添加数据
|
||||||
|
ProjectLibraryBase projectLibraryBaseTemp = this.getById(id);
|
||||||
|
projectLibraryBaseTemp.setId(projectId);
|
||||||
|
projectLibraryBaseTemp.setParentId(id);
|
||||||
|
projectLibraryBaseTemp.setProjectVersion(projectLibraryBase.getProjectVersion());
|
||||||
|
projectLibraryBaseTemp.setExplanation(projectLibraryBase.getExplanation());
|
||||||
|
this.save(projectLibraryBaseTemp);
|
||||||
|
|
||||||
|
|
||||||
|
//相关人员名单中添加数据
|
||||||
|
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelMapper.queryPageList(id,
|
||||||
|
DictCodeEnum.DUTY_TERRITORY.getValue(),
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null);
|
||||||
|
if(projectRelatedPersonnelList.size() != 0){
|
||||||
|
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList) {
|
||||||
|
projectRelatedPersonnel.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
projectRelatedPersonnel.setProjectId(projectId);
|
||||||
|
}
|
||||||
|
projectRelatedPersonnelService.saveBatch(projectRelatedPersonnelList);
|
||||||
|
}
|
||||||
|
|
||||||
|
//法规/认证任务计划添加数据 projectTaskPlanningService
|
||||||
|
LambdaQueryWrapper<ProjectTaskPlanning> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(ProjectTaskPlanning::getProjectId,projectLibraryBase.getId());
|
||||||
|
ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningService.getOne(wrapper);
|
||||||
|
if(ObjectUtils.isNotEmpty(projectTaskPlanning)){
|
||||||
|
projectTaskPlanning.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
projectTaskPlanning.setProjectId(projectId);
|
||||||
|
projectTaskPlanningService.add(projectTaskPlanning);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//初始化当前项目的studio与项目库 角色关系 projectLibraryRoleRelEOService
|
||||||
|
LambdaQueryWrapper<ProjectLibraryRoleRelEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId());
|
||||||
|
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = projectLibraryRoleRelEOService.getOne(queryWrapper);
|
||||||
|
if(ObjectUtils.isNotEmpty(projectLibraryRoleRelEO)){
|
||||||
|
projectLibraryRoleRelEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
projectLibraryRoleRelEO.setProjectLibraryId(projectId);
|
||||||
|
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**检查车型名称id,年款号,目标市场同时存在,报错*/
|
/**检查车型名称id,年款号,目标市场同时存在,报错*/
|
||||||
public void checkExitData(ProjectLibraryBase projectLibraryBase){
|
public void checkExitData(ProjectLibraryBase projectLibraryBase){
|
||||||
|
|||||||
Reference in New Issue
Block a user