认证-参数清单-复制清单

This commit is contained in:
liyawei
2022-05-17 18:08:46 +08:00
parent f2e6abbc65
commit 7392041ae4
12 changed files with 312 additions and 37 deletions
@@ -195,6 +195,37 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
return Result.OK(historyVersionList);
}
/**
* 查询所有项目的所有参数清单
* 分页
* @param
* @return
*/
@AutoLog(value = "参数清单-查询所有项目的所有参数清单")
@ApiOperation(value="参数清单-查询所有项目的所有参数清单", notes="参数清单-查询所有项目的所有参数清单")
@GetMapping(value = "/getAllManifest")
public Result<?> getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="projectName",required=false) String projectName) {
IPage page = new Page(pageNo, pageSize);
IPage paramsManifestVOPage = paramsManifestEOService.getAllManifest(page, projectName);
return Result.OK(paramsManifestVOPage);
}
/**
* 复制清单
* 分页
* @param
* @return
*/
@AutoLog(value = "参数清单-复制清单")
@ApiOperation(value="参数清单-复制清单", notes="参数清单-复制清单")
@PostMapping(value = "/copy")
public Result<?> copy(ParamsManifestEO paramsManifestEO,
@RequestParam(name="sourceManifestId",required=true) String sourceManifestId) {
ParamsManifestEO manifestEO = paramsManifestEOService.copy(paramsManifestEO, sourceManifestId);
return Result.OK(manifestEO);
}
@@ -14,7 +14,6 @@ import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.List;
/**
@@ -71,8 +70,8 @@ public class ParamsManifestEO implements Serializable {
private String state;
/**收集完成时间*/
@Excel(name = "收集完成时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@Excel(name = "收集完成时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "收集完成时间")
private java.util.Date finishTime;
@@ -13,4 +13,9 @@ import org.apache.ibatis.annotations.Param;
*/
public interface ParamsManifestEOMapper extends BaseMapper<ParamsManifestEO> {
IPage pageInfo(@Param("page") IPage page, @Param("paramsManifestEO") ParamsManifestEO paramsManifestEO);
IPage pageInfoAll(@Param("projectName") String projectName,
@Param("state") String state,
IPage page);
}
@@ -17,6 +17,13 @@
<result column="params_template_publish_version" property="paramsTemplatePublishVersion" />
<result column="params_template_name" property="paramsTemplateName" />
</resultMap>
<resultMap id="ParamsManifestEOResultMapForCopy" type="com.jero.modules.cert.collect.vo.ParamsManifestVO">
<id column="id" property="id" />
<result column="title" property="title" />
<result column="project_id" property="projectId" />
<result column="project_name" property="projectName" />
<result column="state" property="state" />
</resultMap>
<sql id="BaseColumnList">
pm.id as id,
@@ -55,4 +62,22 @@
) tmp_tb
<include refid="BaseQuerySql"/>
</select>
<select id="pageInfoAll" resultMap="ParamsManifestEOResultMapForCopy">
select tmp_tb.* from(
select
pm.id as id,
pm.title as title,
pm.project_id as project_id,
pm.state as state,
pni.project_name as project_name
from params_manifest pm
left join project_library_base as plb on plb.id = pm.project_id
left join project_name_info as pni on plb.project_name_id = pni.id
) tmp_tb
where 1=1 and state = #{state}
<if test="projectName !=null and projectName !=''">
AND project_name LIKE CONCAT(CONCAT('%',#{projectName}),'%')
</if>
</select>
</mapper>
@@ -74,4 +74,8 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
boolean changeExtension(String id);
List<ParamsManifestHistoryVO> getHistoryVersionList(String title);
IPage getAllManifest(IPage page, String projectName);
ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId);
}
@@ -594,34 +594,51 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
|| type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) {
paramsConfigDataEO.setPullData(dataValue);
paramsConfigDataEO.setPullData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) {
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
updateFileList.add(ossFile);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
updateFileList.add(ossFile);
}
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
} else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) {
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(dataValue);
if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件
String connectId = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : dataValue.split(",")) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setConnectId(connectId);
oSSFileList.add(ossFile);
}
ossFileService.updateFileInfo(oSSFileList);
dataValue = connectId;
}
}
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
}
paramsConfigDataEO.setFileConnectId(dataValue);
paramsConfigDataEO.setFileConnectId(dataValue);
}
}
}
newConfigDataEOList.add(paramsConfigDataEO);
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum;
@@ -15,10 +16,7 @@ import com.jero.modules.cert.collect.enums.ManifestStateEnum;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsConfigDataEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
@@ -75,6 +73,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Autowired
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
@Autowired
private IParamsConfigEOService paramsConfigEOService;
/**
@@ -133,9 +134,12 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
*/
@Override
public boolean editById(ParamsManifestEO paramsManifestEO) {
ParamsManifestEO updateEO = new ParamsManifestEO();
updateEO.setId(paramsManifestEO.getId());
updateEO.setTitle(paramsManifestEO.getTitle());
Date now = new Date();
paramsManifestEO.setUpdateTime(now);
return updateById(paramsManifestEO);
updateEO.setUpdateTime(now);
return updateById(updateEO);
}
/**
@@ -343,4 +347,135 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
return paramsManifestHistoryEOService.getHistoryVersionList(title);
}
@Override
public IPage getAllManifest(IPage page, String projectName) {
IPage rows = paramsManifestEOMapper.pageInfoAll(projectName, ManifestStateEnum.FINISHED.getValue(), page);
return rows;
}
@Override
public ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId) {
String paramsTemplateId = paramsManifestEO.getParamsTemplateId();
int paramsTemplatePublishVersion = paramsManifestEO.getParamsTemplatePublishVersion();
// 查询所有模板参数项
List<ParamsInfoPublishEO> paramsInfoPublishEOList = paramsInfoPublishEOService.getListByPublishVersion(paramsTemplateId, paramsTemplatePublishVersion);
// 查询所有清单参数项
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(sourceManifestId);
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
// 查询清单配置
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(sourceManifestId);
// 定义
Map<String, String> configIdMap = new HashMap<>(); // 旧-新配置id对应关系
List<ParamsCollectManifestEO> addCollectManifestEOList = new ArrayList<>(); // 需要添加的参数项
List<ParamsConfigEO> addConfigEOList = new ArrayList<>(); // 需要添加的配置
List<ParamsConfigDataEO> addConfigDataEOList = new ArrayList<>(); // 需要添加的配置数据
String addManifestId = UUID.randomUUID().toString().replace("-",""); // 参数清单id
// 配置: 复制清单的
for (ParamsConfigEO configEO : paramsConfigEOList) {
ParamsConfigEO addConfigEO = new ParamsConfigEO();
BeanUtils.copyProperties(configEO, addConfigEO);
String addConfigId = UUID.randomUUID().toString().replace("-", "");
addConfigEO.setId(addConfigId);
addConfigEO.setParamsManifestId(addManifestId);
addConfigEO.setCreateBy(null);
addConfigEO.setCreateTime(null);
addConfigEO.setUpdateBy(null);
addConfigEO.setUpdateTime(null);
addConfigEO.setSysOrgCode(null);
addConfigEOList.add(addConfigEO);
configIdMap.put(configEO.getId(), addConfigId);
}
// 将清单参数项 和 模板参数项 对比
for (ParamsInfoPublishEO publishEO : paramsInfoPublishEOList) {
String nioNumber = publishEO.getNioNumber();
String controlType = publishEO.getControlType();
String controlValues = publishEO.getControlValues();
String controlVerify = publishEO.getControlVerify();
List<ParamsCollectManifestEO> manifestEOList = paramsCollectManifestEOList.stream()
.filter(e->nioNumber.equals(e.getNioNumber())
&& controlType.equals(e.getControlType())
&& ((controlValues != null && controlValues.equals(e.getControlValues())) || (controlValues == null && null == e.getControlValues()))
&& ((controlVerify != null && controlVerify.equals(e.getControlVerify())) || (controlVerify == null && null == e.getControlVerify())))
.collect(Collectors.toList());
String addCollectManifestId = UUID.randomUUID().toString().replace("-",""); // 参数项id
if (CollectionUtil.isNotEmpty(manifestEOList)) {
ParamsCollectManifestEO manifestEO = manifestEOList.get(0);
// 配置数据: nio编号,控件类型,控件备选值,控件校验 均一致时 将清单参数项项复制到模板参数项,否则不复制
for (ParamsConfigEO configEO : paramsConfigEOList) {
ParamsConfigDataEO configDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(configEO.getId(), manifestEO.getId());
ParamsConfigDataEO addConfigDataEO = new ParamsConfigDataEO();
BeanUtils.copyProperties(configDataEO, addConfigDataEO);
addConfigDataEO.setId(null);
addConfigDataEO.setCreateBy(null);
addConfigDataEO.setCreateTime(null);
addConfigDataEO.setUpdateBy(null);
addConfigDataEO.setUpdateTime(null);
addConfigDataEO.setSysOrgCode(null);
addConfigDataEO.setParamsConfigId(configIdMap.get(configEO.getId()));
addConfigDataEO.setParamsCollectManifestId(addCollectManifestId);
addConfigDataEOList.add(addConfigDataEO);
}
}
// 固定列数据: 保留模板参数项的
ParamsCollectManifestEO addCollectManifestEO = new ParamsCollectManifestEO();
BeanUtils.copyProperties(publishEO, addCollectManifestEO);
addCollectManifestEO.setId(addCollectManifestId);
addCollectManifestEO.setParamsManifestId(addManifestId);
addCollectManifestEO.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue());
// 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectId(), addCollectManifestEO.getDutyTerritory());
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段
SysUser sysUser = sysUserService.getById(sdtId);
if (ObjectUtil.isNotEmpty(sysUser)) {
addCollectManifestEO.setSdt(sysUser.getUsername());
}
}
}
addCollectManifestEO.setCreateBy(null);
addCollectManifestEO.setCreateTime(null);
addCollectManifestEO.setUpdateBy(null);
addCollectManifestEO.setUpdateTime(null);
addCollectManifestEO.setSysOrgCode(null);
addCollectManifestEOList.add(addCollectManifestEO);
}
// 添加参数项
paramsCollectManifestEOService.saveBatch(addCollectManifestEOList);
// 添加配置
paramsConfigEOService.saveBatch(addConfigEOList);
// 添加配置数据
paramsConfigDataEOService.saveBatch(addConfigDataEOList);
// 添加参数清单
paramsManifestEO.setId(addManifestId);
paramsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
paramsManifestEO.setVersion(1); // 默认版本为 1
save(paramsManifestEO);
return paramsManifestEO;
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.cert.collect.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -16,26 +17,56 @@ import java.util.Map;
*/
@Data
public class ParamsCollectManifestVO {
@ApiModelProperty(value = "参数模板id")
private String paramsTemplateId; // 参数模板id
@ApiModelProperty(value = "参数模板发布版本")
private String paramsTemplatePublishVersion; // 参数模板发布版本
@ApiModelProperty(value = "nio编号")
private String nioNumber; // nio编号
@ApiModelProperty(value = "参数名称")
private String paramsName; // 参数名称
@ApiModelProperty(value = "责任领域")
private String dutyTerritory; // 责任领域
@ApiModelProperty(value = "参数清单id")
private String paramsManifestId; // 参数清单id
@ApiModelProperty(value = "项目id")
private String projectId; // 项目id
@ApiModelProperty(value = "添加专用")
private List<ParamsInfoPublishEO> paramsInfoPublishEOList; // 添加专用
@ApiModelProperty(value = "提交专用")
private List<Map<String, Object>> configDataList; // 提交专用
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "截止时间")
private Date deadline; // 截止时间
@ApiModelProperty(value = "收集参数项ids")
private String ids; // 收集参数项ids
@ApiModelProperty(value = "工程接口人")
private String sdt; // 工程接口人
@ApiModelProperty(value = "填写人")
private String dre; // 填写人
@ApiModelProperty(value = "参数配置ids")
private String paramsConfigIds; // 参数配置ids
@ApiModelProperty(value = "配置列查询标识")
private String configFlag; // 1-全部配置 2-非冻结配置
@ApiModelProperty(value = "引用参数专用-从")
private String sourceConfigId; // 引用参数专用
@ApiModelProperty(value = "引用参数专用-到")
private String targetConfigIds; // 引用参数专用
}
@@ -0,0 +1,18 @@
package com.jero.modules.cert.collect.vo;
import lombok.Data;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 9:27 2022/5/17
*/
@Data
public class ParamsManifestVO {
private String id;
private String title;
private String projectName;
private String projectId;
private String state;
}
@@ -110,7 +110,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-校验nio编号")
@ApiOperation(value="参数项基本信息表-校验nio编号", notes="参数项基本信息表-校验nio编号")
@GetMapping(value = "/verifyNioNumber")
@RequiresPermissions("params:paramsInfo:add")
// @RequiresPermissions("params:paramsInfo:add")
public boolean verifyNioNumber(@RequestParam(name = "nioNumber") String nioNumber) {
LambdaQueryWrapper<ParamsInfoEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsInfoEO::getNioNumber, nioNumber);
@@ -130,7 +130,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-添加")
@ApiOperation(value="参数项基本信息表-添加", notes="参数项基本信息表-添加")
@PostMapping(value = "/add")
@RequiresPermissions("params:paramsInfo:add")
// @RequiresPermissions("params:paramsInfo:add")
public Result<?> add(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
boolean isSuccess = paramsInfoEOService.add(paramsInfoEO);
if (isSuccess) {
@@ -222,7 +222,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-发布版本")
@ApiOperation(value="参数项基本信息表-发布版本", notes="参数项基本信息表-发布版本")
@GetMapping(value = "/publish")
@RequiresPermissions("params:paramsInfo:publish")
// @RequiresPermissions("params:paramsInfo:publish")
public Result<?> publish(@RequestParam(name="paramsTemplateId") String paramsTemplateId) {
int publishVersion = paramsInfoPublishEOService.publishTemplate(paramsTemplateId);
return Result.OK("发布版本:" + publishVersion + "成功!");
@@ -56,6 +56,11 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut") String cut,
HttpServletRequest req) {
if (StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName())) {
paramsTemplateEO.setParamsTemplateName(paramsTemplateEO.getParamsTemplateName().replace("%","\\%"));
}
LambdaQueryWrapper<ParamsTemplateEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName())
.eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion())
@@ -2265,9 +2265,13 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
}
countError++;
}
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
value = value.replace("",",");
List<Map<String, Object>> listBySerialNumber = documentLibraryEOService.getListBySerialNumber(value);
if (value.endsWith(",")){
value = value.substring(0, value.length() - 1);
}
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
/*List<Map<String, Object>> listBySerialNumber = documentLibraryEOService.getListBySerialNumber(value);
String serialNumberStr = "";
StringBuilder sb = new StringBuilder();
List<String> list = new ArrayList<>();
@@ -2288,7 +2292,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
substring = substring.substring(0, substring.length() - 1);
}
value = substring;
}
}*/
} else if (FieldTypeEnum.PERSON.getValue().equals(fieldShowType)) {
//人员选择
//判断是否必填