认证-参数清单-变更扩展
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.vo.ParamsCollectManifestVO;
|
||||
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
+5
@@ -151,6 +151,11 @@ public class ParamsCollectManifestEO implements Serializable {
|
||||
@ApiModelProperty(value = "参数清单id")
|
||||
private String paramsManifestId;
|
||||
|
||||
/**变更标识*/
|
||||
@Excel(name = "变更标识", width = 15)
|
||||
@ApiModelProperty(value = "变更标识")
|
||||
private String changeFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
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="deadline" property="deadline" />
|
||||
<result column="params_manifest_id" property="paramsManifestId" />
|
||||
<result column="change_flag" property="changeFlag" />
|
||||
</resultMap>
|
||||
<sql id="BaseQuerySql">
|
||||
<where>
|
||||
@@ -73,7 +74,7 @@
|
||||
select *
|
||||
from params_collect_manifest
|
||||
<include refid="BaseQuerySql"/>
|
||||
order by create_time asc
|
||||
order by change_flag desc, create_time asc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
<result column="dre" property="dre" />
|
||||
<result column="deadline" property="deadline" />
|
||||
<result column="params_manifest_id" property="paramsManifestId" />
|
||||
<result column="is_lock" property="isLock" />
|
||||
<result column="change_flag" property="changeFlag" />
|
||||
</resultMap>
|
||||
<sql id="BaseQuerySql">
|
||||
<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.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.ParamsConfigEO;
|
||||
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.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.vo.ParamsManifestHistoryVO;
|
||||
@@ -65,6 +69,14 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
@Autowired
|
||||
private ParamsConfigEOMapper paramsConfigEOMapper;
|
||||
|
||||
@Autowired
|
||||
private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper;
|
||||
|
||||
@Autowired
|
||||
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -234,7 +246,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
|
||||
private IParamsConfigDataEOService paramsConfigDataEOService;
|
||||
|
||||
/**
|
||||
* 变更扩展
|
||||
@@ -248,8 +260,82 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
// 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
|
||||
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
|
||||
|
||||
+2
@@ -2,6 +2,7 @@ package com.jero.modules.cert.template.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @Description: 参数项基本信息表发布版
|
||||
@@ -11,4 +12,5 @@ import com.jero.modules.cert.template.entity.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="version" property="version" />
|
||||
</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>
|
||||
+1
@@ -63,4 +63,5 @@ public interface IParamsInfoPublishEOService extends IService<ParamsInfoPublishE
|
||||
|
||||
int publishTemplate(String paramsTemplateId);
|
||||
|
||||
Integer getNewestVersionByParamsTemplateId(String paramsTemplateId);
|
||||
}
|
||||
|
||||
+8
@@ -27,6 +27,9 @@ import java.util.UUID;
|
||||
@Service
|
||||
public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublishEOMapper, ParamsInfoPublishEO> implements IParamsInfoPublishEOService {
|
||||
|
||||
@Autowired
|
||||
private ParamsInfoPublishEOMapper paramsInfoPublishEOMapper;
|
||||
|
||||
@Autowired
|
||||
private IParamsTemplateEOService paramsTemplateEOService;
|
||||
@Autowired
|
||||
@@ -167,4 +170,9 @@ public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublis
|
||||
|
||||
return newVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getNewestVersionByParamsTemplateId(String paramsTemplateId) {
|
||||
return paramsInfoPublishEOMapper.getNewestVersion(paramsTemplateId) ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user