项目扩展
This commit is contained in:
+14
@@ -77,6 +77,20 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
|
||||
projectLibraryBaseService.add(projectLibraryBase);
|
||||
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)
|
||||
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;
|
||||
|
||||
/**
|
||||
* 项目扩展(添加子项目-子项目基本信息、相关人员名单、法规/认证任务计划与被扩展项目保持一致)
|
||||
*
|
||||
* @param projectLibraryBase
|
||||
* @return
|
||||
*/
|
||||
void addChild(ProjectLibraryBase projectLibraryBase) throws ParseException;
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
|
||||
+86
-5
@@ -1,6 +1,6 @@
|
||||
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.metadata.IPage;
|
||||
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.modules.cert.collect.service.IParamsManifestEOService;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.project.entity.*;
|
||||
import com.jero.modules.project.enums.*;
|
||||
import com.jero.modules.project.mapper.*;
|
||||
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
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.IProjectLibraryBaseService;
|
||||
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.util.StringUtils;
|
||||
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.HSSFWorkbook;
|
||||
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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -40,7 +59,13 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
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;
|
||||
|
||||
/**
|
||||
@@ -131,6 +156,62 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
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,年款号,目标市场同时存在,报错*/
|
||||
public void checkExitData(ProjectLibraryBase projectLibraryBase){
|
||||
|
||||
Reference in New Issue
Block a user