认证-参数清单-变更扩展
This commit is contained in:
-1
@@ -7,7 +7,6 @@ import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
|||||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
||||||
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
|
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
|
||||||
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|||||||
+5
@@ -151,6 +151,11 @@ public class ParamsCollectManifestEO implements Serializable {
|
|||||||
@ApiModelProperty(value = "参数清单id")
|
@ApiModelProperty(value = "参数清单id")
|
||||||
private String paramsManifestId;
|
private String paramsManifestId;
|
||||||
|
|
||||||
|
/**变更标识*/
|
||||||
|
@Excel(name = "变更标识", width = 15)
|
||||||
|
@ApiModelProperty(value = "变更标识")
|
||||||
|
private String changeFlag;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String userTypes;
|
private String userTypes;
|
||||||
}
|
}
|
||||||
|
|||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
package com.jero.modules.cert.collect.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liyawei
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 17:49 2022/5/16
|
||||||
|
*/
|
||||||
|
public enum CollectManifestChangeFlagEnum {
|
||||||
|
CHANGE_BEFORE("变更前","0"),
|
||||||
|
CHANGE_AFTER("变更后","1");
|
||||||
|
|
||||||
|
String name;
|
||||||
|
String value;
|
||||||
|
|
||||||
|
CollectManifestChangeFlagEnum(String name, String value) {
|
||||||
|
this.name = name;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-1
@@ -26,6 +26,7 @@
|
|||||||
<result column="dre" property="dre" />
|
<result column="dre" property="dre" />
|
||||||
<result column="deadline" property="deadline" />
|
<result column="deadline" property="deadline" />
|
||||||
<result column="params_manifest_id" property="paramsManifestId" />
|
<result column="params_manifest_id" property="paramsManifestId" />
|
||||||
|
<result column="change_flag" property="changeFlag" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="BaseQuerySql">
|
<sql id="BaseQuerySql">
|
||||||
<where>
|
<where>
|
||||||
@@ -73,7 +74,7 @@
|
|||||||
select *
|
select *
|
||||||
from params_collect_manifest
|
from params_collect_manifest
|
||||||
<include refid="BaseQuerySql"/>
|
<include refid="BaseQuerySql"/>
|
||||||
order by create_time asc
|
order by change_flag desc, create_time asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
+1
-1
@@ -26,7 +26,7 @@
|
|||||||
<result column="dre" property="dre" />
|
<result column="dre" property="dre" />
|
||||||
<result column="deadline" property="deadline" />
|
<result column="deadline" property="deadline" />
|
||||||
<result column="params_manifest_id" property="paramsManifestId" />
|
<result column="params_manifest_id" property="paramsManifestId" />
|
||||||
<result column="is_lock" property="isLock" />
|
<result column="change_flag" property="changeFlag" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="BaseQuerySql">
|
<sql id="BaseQuerySql">
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
+89
-3
@@ -5,14 +5,18 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.ParamsCollectManifestEO;
|
||||||
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
|
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
|
||||||
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
|
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
|
||||||
|
import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum;
|
||||||
import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
|
import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
|
||||||
import com.jero.modules.cert.collect.enums.ManifestStateEnum;
|
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.ParamsConfigEOMapper;
|
||||||
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
|
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
|
||||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
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.IParamsManifestEOService;
|
||||||
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
|
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
|
||||||
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
|
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
|
||||||
@@ -65,6 +69,14 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ParamsConfigEOMapper paramsConfigEOMapper;
|
private ParamsConfigEOMapper paramsConfigEOMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -234,7 +246,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
|
private IParamsConfigDataEOService paramsConfigDataEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 变更扩展
|
* 变更扩展
|
||||||
@@ -248,8 +260,82 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
|||||||
// 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
|
// 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
|
||||||
paramsManifestHistoryEOService.addForChangeExtension(id);
|
paramsManifestHistoryEOService.addForChangeExtension(id);
|
||||||
|
|
||||||
// TODO 将模板最新版本和项目中参数项进行比对
|
// 将模板最新版本和项目中参数项进行比对
|
||||||
return false;
|
ParamsManifestEO paramsManifestEO = getById(id);
|
||||||
|
if (paramsManifestEO.getState().equals(ManifestStateEnum.COLLECTING.getValue())) {
|
||||||
|
throw new JeroBootException("清单收集中,无法发起变更!");
|
||||||
|
}
|
||||||
|
// 查询项目引用的模板是否是最新版本
|
||||||
|
Integer newestVersion = paramsInfoPublishEOService.getNewestVersionByParamsTemplateId(id);
|
||||||
|
if (newestVersion == null) {
|
||||||
|
throw new JeroBootException("查询不到模板最新发布版本!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newestVersion == paramsManifestEO.getParamsTemplatePublishVersion()) {
|
||||||
|
throw new JeroBootException("当前已是模板最新发布版本!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询最新版模板参数项
|
||||||
|
List<ParamsInfoPublishEO> newParamsInfoPublishEOList = paramsInfoPublishEOService.getListByPublishVersion(id, newestVersion);
|
||||||
|
// 查询项目所有参数项(这时候参数项都收集完了)
|
||||||
|
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
|
||||||
|
paramsCollectManifestEO.setParamsManifestId(id);
|
||||||
|
List<ParamsCollectManifestEO> oldParamsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
|
||||||
|
|
||||||
|
// 比较模板参数项 和 项目参数项
|
||||||
|
// nio编号一样时,比较参数填写规则(控件类型,控件备选值,控件校验)是否一样;nio编号不一样时,不用管,用户自己添加
|
||||||
|
List<String> nioNumberList = oldParamsCollectManifestEOList.stream().map(ParamsCollectManifestEO::getNioNumber).collect(Collectors.toList());
|
||||||
|
List<ParamsInfoPublishEO> sameList = newParamsInfoPublishEOList.stream().filter(e->nioNumberList.contains(e.getNioNumber())).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<String> delCollectManifestIdList = new ArrayList<>();
|
||||||
|
List<ParamsCollectManifestEO> updateCollectManifestEOList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (ParamsInfoPublishEO paramsInfoPublishEO : sameList) {
|
||||||
|
ParamsCollectManifestEO oldCollectManifestEO = oldParamsCollectManifestEOList.stream()
|
||||||
|
.filter(e->e.getNioNumber().equals(paramsInfoPublishEO.getNioNumber()))
|
||||||
|
.collect(Collectors.toList()).get(0);
|
||||||
|
String newControlType = paramsInfoPublishEO.getControlType();
|
||||||
|
String newControlVerify = paramsInfoPublishEO.getControlVerify();
|
||||||
|
String newControlValues = paramsInfoPublishEO.getControlValues();
|
||||||
|
|
||||||
|
String oldControlType = oldCollectManifestEO.getControlType();
|
||||||
|
String oldControlVerify = oldCollectManifestEO.getControlVerify();
|
||||||
|
String oldControlValues = oldCollectManifestEO.getControlValues();
|
||||||
|
|
||||||
|
ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
|
||||||
|
// 比较参数填写规则
|
||||||
|
if (!newControlType.equals(oldControlType)
|
||||||
|
|| (newControlVerify != null && !newControlVerify.equals(oldControlVerify))
|
||||||
|
|| (oldControlVerify != null && !oldControlVerify.equals(newControlVerify))
|
||||||
|
|| (newControlValues != null && !newControlValues.equals(oldControlValues))
|
||||||
|
|| (oldControlValues != null && !oldControlValues.equals(newControlValues))) {
|
||||||
|
|
||||||
|
// 参数填写规则改变,删除参数项配置数据,状态变为:待发起收集,拍列表前边
|
||||||
|
updateCollectManifestEO.setId(oldCollectManifestEO.getId());
|
||||||
|
updateCollectManifestEO.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue());
|
||||||
|
updateCollectManifestEO.setChangeFlag(CollectManifestChangeFlagEnum.CHANGE_AFTER.getValue());
|
||||||
|
|
||||||
|
delCollectManifestIdList.add(oldCollectManifestEO.getId());
|
||||||
|
} else {
|
||||||
|
// 参数填写规则没有改变,状态变为:变更
|
||||||
|
updateCollectManifestEO.setId(oldCollectManifestEO.getId());
|
||||||
|
updateCollectManifestEO.setState(CollectManifestStateEnum.CHANGE.getValue());
|
||||||
|
updateCollectManifestEO.setChangeFlag(CollectManifestChangeFlagEnum.CHANGE_BEFORE.getValue());
|
||||||
|
|
||||||
|
}
|
||||||
|
updateCollectManifestEOList.add(updateCollectManifestEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除参数项配置数据
|
||||||
|
paramsConfigDataEOService.deleteByParamsCollectManifestIdList(delCollectManifestIdList);
|
||||||
|
// 更新项目参数项
|
||||||
|
paramsCollectManifestEOService.updateBatchById(updateCollectManifestEOList);
|
||||||
|
// 参数清单版本加 1
|
||||||
|
ParamsManifestEO updateManifestEO = new ParamsManifestEO();
|
||||||
|
updateManifestEO.setId(id);
|
||||||
|
updateManifestEO.setVersion(paramsManifestEO.getVersion() + 1);
|
||||||
|
updateManifestEO.setParamsTemplatePublishVersion(newestVersion);
|
||||||
|
return updateById(updateManifestEO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+2
@@ -2,6 +2,7 @@ package com.jero.modules.cert.template.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 参数项基本信息表发布版
|
* @Description: 参数项基本信息表发布版
|
||||||
@@ -11,4 +12,5 @@ import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
|||||||
*/
|
*/
|
||||||
public interface ParamsInfoPublishEOMapper extends BaseMapper<ParamsInfoPublishEO> {
|
public interface ParamsInfoPublishEOMapper extends BaseMapper<ParamsInfoPublishEO> {
|
||||||
|
|
||||||
|
Integer getNewestVersion(@Param("paramsTemplateId") String paramsTemplateId);
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -23,4 +23,10 @@
|
|||||||
<result column="params_template_id" property="paramsTemplateId" />
|
<result column="params_template_id" property="paramsTemplateId" />
|
||||||
<result column="version" property="version" />
|
<result column="version" property="version" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="getNewestVersion" resultType="java.lang.Integer" parameterType="java.lang.String">
|
||||||
|
select max(version)
|
||||||
|
from params_info_publish
|
||||||
|
where params_template_id = #{paramsTemplateId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+1
@@ -63,4 +63,5 @@ public interface IParamsInfoPublishEOService extends IService<ParamsInfoPublishE
|
|||||||
|
|
||||||
int publishTemplate(String paramsTemplateId);
|
int publishTemplate(String paramsTemplateId);
|
||||||
|
|
||||||
|
Integer getNewestVersionByParamsTemplateId(String paramsTemplateId);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -27,6 +27,9 @@ import java.util.UUID;
|
|||||||
@Service
|
@Service
|
||||||
public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublishEOMapper, ParamsInfoPublishEO> implements IParamsInfoPublishEOService {
|
public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublishEOMapper, ParamsInfoPublishEO> implements IParamsInfoPublishEOService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ParamsInfoPublishEOMapper paramsInfoPublishEOMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IParamsTemplateEOService paramsTemplateEOService;
|
private IParamsTemplateEOService paramsTemplateEOService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -167,4 +170,9 @@ public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublis
|
|||||||
|
|
||||||
return newVersion;
|
return newVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getNewestVersionByParamsTemplateId(String paramsTemplateId) {
|
||||||
|
return paramsInfoPublishEOMapper.getNewestVersion(paramsTemplateId) ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user