认证-参数清单-历史版本

This commit is contained in:
liyawei
2022-05-12 18:09:44 +08:00
parent f26adf46a2
commit 8a6a075b37
28 changed files with 1268 additions and 7 deletions
@@ -0,0 +1,93 @@
package com.jero.modules.cert.collect.controller;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService;
import com.jero.modules.cert.collect.service.IParamsConfigHistoryEOService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* @Description: 参数项收集清单
* @Author: jero-boot
* @Date: 2022-05-05
* @Version: V1.0
*/
@Api(tags="历史参数项收集清单")
@RestController
@RequestMapping("/params/collectManifestHistory")
@Slf4j
public class ParamsCollectManifestHistoryEOController extends JeroController<ParamsCollectManifestEO, IParamsCollectManifestEOService> {
@Autowired
private IParamsCollectManifestHistoryEOService paramsCollectManifestHistoryEOService;
@Autowired
private IParamsConfigHistoryEOService paramsConfigHistoryEOService;
/**
* 表头中英文切换
*
* @return
*/
@AutoLog(value = "历史参数项收集清单-表头中英文切换")
@ApiOperation(value="历史参数项收集清单-表头中英文切换", notes="历史参数项收集清单-表头中英文切换")
@GetMapping(value = "/getHeader")
public Result<List<Map<String, Object>>> getHeader(@RequestParam(name = "paramsManifestId") String paramsManifestId,
@RequestParam(name = "flag") String flag,
@RequestParam(name = "cut") String cut) {
List<Map<String, Object>> list = paramsCollectManifestHistoryEOService.getHeader(paramsManifestId, flag, cut);
return Result.OK(list);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "历史参数项收集清单-列表查询")
@ApiOperation(value="历史参数项收集清单-列表查询", notes="历史参数项收集清单-列表查询")
@GetMapping(value = "/list")
public Result<List<Map<String, Object>>> queryList(ParamsCollectManifestEO paramsCollectManifestEO,
@RequestParam(name = "cut") String cut) {
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) {
paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%"));
}
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getParamsName())) {
paramsCollectManifestEO.setParamsName(paramsCollectManifestEO.getParamsName().replace("%","\\%"));
}
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getDre())) {
paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%"));
}
List<Map<String, Object>> list = paramsCollectManifestHistoryEOService.queryList(paramsCollectManifestEO, cut);
return Result.OK(list);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "历史参数配置-查看单个详情")
@ApiOperation(value="历史参数配置-查看单个详情", notes="历史参数配置-查看单个详情")
@GetMapping(value = "/getConfigById")
public Result<ParamsConfigHistoryEO> getConfigById(@RequestParam(name = "id") String configId) {
ParamsConfigHistoryEO paramsConfigHistoryEO = paramsConfigHistoryEOService.getById(configId);
return Result.OK(paramsConfigHistoryEO);
}
}
@@ -9,6 +9,7 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -158,10 +159,47 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@ApiOperation(value="参数清单-批量删除", notes="参数清单-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.paramsManifestEOService.deleteByIds(Arrays.asList(ids.split(",")));
paramsManifestEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 变更扩展
*
* @param id
* @return
*/
@AutoLog(value = "参数清单-变更扩展")
@ApiOperation(value="参数清单-变更扩展", notes="参数清单-变更扩展")
@GetMapping(value = "/changeExtension")
public Result<?> changeExtension(@RequestParam(name="id",required=true) String id) {
boolean isSuccess = paramsManifestEOService.changeExtension(id);
if(isSuccess) {
return Result.OK("变更扩展成功!");
} else {
return Result.error("变更扩展失败!");
}
}
/**
* 历史版本
* 根据标题查询
* @param title
* @return
*/
@AutoLog(value = "参数清单-历史版本")
@ApiOperation(value="参数清单-历史版本", notes="参数清单-历史版本")
@GetMapping(value = "/history")
public Result<?> history(@RequestParam(name="title",required=true) String title) {
List<ParamsManifestHistoryVO> historyVersionList = paramsManifestEOService.getHistoryVersionList(title);
return Result.OK(historyVersionList);
}
/**
* 通过id查询
*
@@ -0,0 +1,25 @@
package com.jero.modules.cert.collect.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Description: 参数项收集清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Data
@TableName("params_collect_manifest_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="params_collect_manifest_history对象", description="参数项收集清单历史版本")
public class ParamsCollectManifestHistoryEO extends ParamsCollectManifestEO implements Serializable {
}
@@ -0,0 +1,26 @@
package com.jero.modules.cert.collect.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Description: 参数配置数据历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Data
@TableName("params_config_data_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="params_config_data_history对象", description="参数配置数据历史版本")
public class ParamsConfigDataHistoryEO extends ParamsConfigDataEO implements Serializable {
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,26 @@
package com.jero.modules.cert.collect.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Description: 参数配置历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Data
@TableName("params_config_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="params_config_history对象", description="参数配置历史版本")
public class ParamsConfigHistoryEO extends ParamsConfigEO implements Serializable {
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,26 @@
package com.jero.modules.cert.collect.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Description: 参数清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Data
@TableName("params_manifest_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="params_manifest_history对象", description="参数清单历史版本")
public class ParamsManifestHistoryEO extends ParamsManifestEO implements Serializable {
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,19 @@
package com.jero.modules.cert.collect.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 参数项收集清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface ParamsCollectManifestHistoryEOMapper extends BaseMapper<ParamsCollectManifestHistoryEO> {
List<ParamsCollectManifestHistoryEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
}
@@ -0,0 +1,14 @@
package com.jero.modules.cert.collect.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO;
/**
* @Description: 参数配置数据历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface ParamsConfigDataHistoryEOMapper extends BaseMapper<ParamsConfigDataHistoryEO> {
}
@@ -0,0 +1,17 @@
package com.jero.modules.cert.collect.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 参数配置历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface ParamsConfigHistoryEOMapper extends BaseMapper<ParamsConfigHistoryEO> {
}
@@ -0,0 +1,14 @@
package com.jero.modules.cert.collect.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.cert.collect.entity.ParamsManifestHistoryEO;
/**
* @Description: 参数清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface ParamsManifestHistoryEOMapper extends BaseMapper<ParamsManifestHistoryEO> {
}
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.cert.collect.mapper.ParamsCollectManifestHistoryEOMapper">
<resultMap id="ParamsCollectManifestHistoryEOResultMap" type="com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="nio_number" property="nioNumber" />
<result column="cert_category" property="certCategory" />
<result column="is_must" property="isMust" />
<result column="params_name" property="paramsName" />
<result column="technology_territory" property="technologyTerritory" />
<result column="params_batch" property="paramsBatch" />
<result column="description" property="description" />
<result column="control_type" property="controlType" />
<result column="control_values" property="controlValues" />
<result column="control_verify" property="controlVerify" />
<result column="file_template" property="fileTemplate" />
<result column="params_template_id" property="paramsTemplateId" />
<result column="state" property="state" />
<result column="duty_territory" property="dutyTerritory" />
<result column="sdt" property="sdt" />
<result column="dre" property="dre" />
<result column="deadline" property="deadline" />
<result column="params_manifest_id" property="paramsManifestId" />
<result column="is_lock" property="isLock" />
</resultMap>
<sql id="BaseQuerySql">
<where>
<if test="paramsCollectManifestEO != null">
<if test="paramsCollectManifestEO.nioNumber !=null and paramsCollectManifestEO.nioNumber !=''">
AND nio_number LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.nioNumber}),'%')
</if>
<if test="paramsCollectManifestEO.paramsName !=null and paramsCollectManifestEO.paramsName !=''">
AND params_name LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.paramsName}),'%')
</if>
<if test="paramsCollectManifestEO.certCategory !=null and paramsCollectManifestEO.certCategory !=''">
AND cert_category LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.certCategory}),'%')
</if>
<if test="paramsCollectManifestEO.dre !=null and paramsCollectManifestEO.dre !=''">
AND dre LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.dre}),'%')
</if>
<if test="paramsCollectManifestEO.dutyTerritory !=null and paramsCollectManifestEO.dutyTerritory !=''">
AND duty_territory LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.dutyTerritory}),'%')
</if>
<if test="paramsCollectManifestEO.paramsManifestId !=null and paramsCollectManifestEO.paramsManifestId !=''">
AND params_manifest_id LIKE CONCAT(CONCAT('%',#{paramsCollectManifestEO.paramsManifestId}),'%')
</if>
<if test="paramsCollectManifestEO.userTypes !=null and paramsCollectManifestEO.userTypes !=''">
<choose>
<when test="paramsCollectManifestEO.userTypes == 'sdt'">
AND sdt = #{paramsCollectManifestEO.sdt}
</when>
<when test="paramsCollectManifestEO.userTypes == 'dre'">
AND dre = #{paramsCollectManifestEO.dre}
</when>
<when test="paramsCollectManifestEO.userTypes == 'sdt,dre'">
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dre})
</when>
</choose>
</if>
</if>
</where>
</sql>
<select id="listInfo" resultMap="ParamsCollectManifestHistoryEOResultMap">
select *
from params_collect_manifest_history
<include refid="BaseQuerySql"/>
order by create_time asc
</select>
</mapper>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.cert.collect.mapper.ParamsConfigDataHistoryEOMapper">
<resultMap id="ParamsConfigDataHistoryEOResultMap" type="com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="text_data" property="textData" />
<result column="pull_data" property="pullData" />
<result column="file_connect_id" property="fileConnectId" />
<result column="params_config_id" property="paramsConfigId" />
<result column="params_collect_manifest_id" property="paramsCollectManifestId" />
</resultMap>
</mapper>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.cert.collect.mapper.ParamsConfigHistoryEOMapper">
<resultMap id="ParamsConfigHistoryEOResultMap" type="com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="config_name" property="configName" />
<result column="car_type" property="carType" />
<result column="version" property="version" />
<result column="battery" property="battery" />
<result column="motor" property="motor" />
<result column="params_manifest_id" property="paramsManifestId" />
</resultMap>
</mapper>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.cert.collect.mapper.ParamsManifestHistoryEOMapper">
<resultMap id="ParamsManifestHistoryEOResultMap" type="com.jero.modules.cert.collect.entity.ParamsManifestHistoryEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="title" property="title" />
<result column="state" property="state" />
<result column="params_template_id" property="paramsTemplateId" />
<result column="finish_time" property="finishTime" />
<result column="version" property="version" />
<result column="project_id" property="projectId" />
<result column="params_template_publish_version" property="paramsTemplatePublishVersion" />
</resultMap>
</mapper>
@@ -91,4 +91,6 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
List<SysUser> querySdtList(ParamsCollectManifestVO paramsCollectManifestVO);
String getLoginUserTypes(ParamsCollectManifestVO paramsCollectManifestVO);
Map<String, Object> isCollectFinished(String paramsManifestId);
}
@@ -0,0 +1,35 @@
package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO;
import java.util.List;
import java.util.Map;
/**
* @Description: 参数项收集清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface IParamsCollectManifestHistoryEOService extends IService<ParamsCollectManifestHistoryEO> {
/**
* 列表查询
* @param paramsCollectManifestEO
* @param cut
* @return
*/
List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut);
/**
* 列表表头中英文切换
* @param paramsManifestId
* @param flag
* @param cut
* @return
*/
List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String cut);
}
@@ -0,0 +1,22 @@
package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO;
/**
* @Description: 参数配置数据历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface IParamsConfigDataHistoryEOService extends IService<ParamsConfigDataHistoryEO> {
/**
* 通过id查询
*
* @param paramsConfigId
* @param paramsCollectManifestId
* @return
*/
ParamsConfigDataHistoryEO queryByConfigIdAndCollectManifestId(String paramsConfigId, String paramsCollectManifestId);
}
@@ -0,0 +1,17 @@
package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO;
import java.util.List;
/**
* @Description: 参数配置历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface IParamsConfigHistoryEOService extends IService<ParamsConfigHistoryEO> {
List<ParamsConfigHistoryEO> queryList(String paramsManifestId);
}
@@ -3,6 +3,7 @@ package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import java.util.List;
@@ -69,4 +70,8 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
List<ParamsTemplateEO> getNewestPublishList(ParamsTemplateEO paramsTemplateEO);
IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO);
boolean changeExtension(String id);
List<ParamsManifestHistoryVO> getHistoryVersionList(String title);
}
@@ -0,0 +1,20 @@
package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsManifestHistoryEO;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import java.util.List;
/**
* @Description: 参数清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
public interface IParamsManifestHistoryEOService extends IService<ParamsManifestHistoryEO> {
void addForChangeExtension(String paramsManifestId);
List<ParamsManifestHistoryVO> getHistoryVersionList(String title);
}
@@ -93,6 +93,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
String projectId = paramsCollectManifestVO.getProjectId();
List<ParamsInfoPublishEO> paramsInfoPublishEOList = paramsCollectManifestVO.getParamsInfoPublishEOList();
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 复制参数项
List<ParamsCollectManifestEO> paramsCollectManifestEOList = new ArrayList<>();
for (ParamsInfoPublishEO source : paramsInfoPublishEOList) {
@@ -102,6 +105,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
target.setParamsManifestId(paramsManifestId);
target.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue());
Date date = new Date();
target.setCreateBy(user.getUsername());
target.setCreateTime(date);
target.setUpdateBy(user.getUsername());
target.setUpdateTime(date);
// 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(projectId, source.getDutyTerritory());
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
@@ -681,6 +690,25 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
return userTypesBuilder.substring(0, userTypesBuilder.toString().length() - 1);
}
@Override
public Map<String, Object> isCollectFinished(String paramsManifestId) {
Map<String, Object> map = new HashMap<>();
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId)
.orderByDesc(ParamsCollectManifestEO::getUpdateTime); // 按修改时间降序
List<ParamsCollectManifestEO> list = list(queryWrapper);
int collectFinishNumber = (int) list.stream().filter(e->CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.getState())).count();
if (collectFinishNumber == list.size()) {
map.put("finish", true);
map.put("time", list.get(0).getUpdateTime());
} else {
map.put("finish", false);
}
return map;
}
/**
* 实体对象转成Map
* @param obj 实体对象
@@ -0,0 +1,417 @@
package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.cert.collect.entity.*;
import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
import com.jero.modules.cert.collect.enums.ConfigDataTypeEnum;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestHistoryEOMapper;
import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService;
import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService;
import com.jero.modules.cert.collect.service.IParamsConfigHistoryEOService;
import com.jero.modules.cert.collect.vo.ParamsConfigDataVO;
import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.ISysDictItemService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 参数项收集清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Service
public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<ParamsCollectManifestHistoryEOMapper, ParamsCollectManifestHistoryEO> implements IParamsCollectManifestHistoryEOService {
@Autowired
private ParamsCollectManifestHistoryEOMapper paramsCollectManifestHistoryEOMapper;
@Autowired
private OnlCgformFieldServiceImpl onlCgformFieldService;
@Autowired
private IParamsConfigHistoryEOService paramsConfigHistoryEOService;
@Autowired
private IParamsConfigDataHistoryEOService paramsConfigDataHistoryEOService;
@Autowired
private ISysDictItemService sysDictItemService;
/**
* 列表查询
*
* @return
*/
@Override
public List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut) {
String paramsManifestId = paramsCollectManifestEO.getParamsManifestId();
// String userTypes = paramsCollectManifestEO.getUserTypes();
// LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
// if ("sdt".equals(userTypes)) {
// paramsCollectManifestEO.setSdt(loginUser.getUsername());
// } else if ("dre".equals(userTypes)) {
// paramsCollectManifestEO.setDre(loginUser.getUsername());
// } else if ("sdt,dre".equals(userTypes)) {
// paramsCollectManifestEO.setSdt(loginUser.getUsername());
// paramsCollectManifestEO.setDre(loginUser.getUsername());
// }
List<ParamsCollectManifestHistoryEO> list = paramsCollectManifestHistoryEOMapper.listInfo(paramsCollectManifestEO); // 查询固定列 TODO 添加用户类型权限
List<ParamsConfigHistoryEO> paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); // 查询配置列
// 普通数据字典
List<SysDictItem> dictItemList = new ArrayList<>();
List<String> dictCodeList = new ArrayList<>();
dictCodeList.add("duty_territory");
dictCodeList.add("cert_category");
for (String dictCode : dictCodeList) {
List<SysDictItem> dictItems = sysDictItemService.selectItemsByDictCode(dictCode);
dictItemList.addAll(dictItems);
}
List<Map<String, Object>> listMap = new ArrayList<>();
list.forEach(collectManifestEO -> { // 参数收集清单
// 处理数据字典字段 中英文切换 认证类型,责任领域
List<String> certCategory = Arrays.asList(collectManifestEO.getCertCategory().split(","));
List<String> dutyTerritory = Arrays.asList(collectManifestEO.getDutyTerritory().split(","));
String certCategoryName = "";
String dutyTerritoryName = "";
if (CutEnum.CN.getValue().equals(cut)) {
certCategoryName = dictItemList.stream()
.filter(e -> certCategory.contains(e.getItemValue()))
.map(SysDictItem::getItemText)
.collect(Collectors.joining(","));
dutyTerritoryName = dictItemList.stream()
.filter(e -> dutyTerritory.contains(e.getItemValue()))
.map(SysDictItem::getItemText)
.collect(Collectors.joining(","));
} else if (CutEnum.EN.getValue().equals(cut)) {
certCategoryName = dictItemList.stream()
.filter(e -> certCategory.contains(e.getItemValue()))
.map(SysDictItem::getEnName)
.collect(Collectors.joining(","));
dutyTerritoryName = dictItemList.stream()
.filter(e -> dutyTerritory.contains(e.getItemValue()))
.map(SysDictItem::getEnName)
.collect(Collectors.joining(","));
}
// String certCategoryName = sysDictService.queryDictItemByValue("cert_category", collectManifestEO.getCertCategory(), cut);
collectManifestEO.setCertCategory(certCategoryName);
// String dutyTerritoryName = sysDictService.queryDictItemByValue("duty_territory", collectManifestEO.getDutyTerritory(), cut);
collectManifestEO.setDutyTerritory(dutyTerritoryName);
// 处理状态字段
Map<String, String> collectManifestStateMap = CollectManifestStateEnum.toMap(cut);
String stateName = collectManifestStateMap.get(collectManifestEO.getState());
collectManifestEO.setState(stateName);
Map<String, Object> manifestMap = objectToMap(collectManifestEO); // 对象转map
String controlType = collectManifestEO.getControlType();
String paramsCollectManifestId = collectManifestEO.getId();
if (CollectionUtil.isNotEmpty(paramsConfigEOList)) {
paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置
Map<String, Object> configMap = new HashMap<>();
String paramsConfigId = paramsConfigEO.getId();
ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataHistoryEOService.queryByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId); // 参数配置数据
List<ParamsConfigDataVO> paramsConfigDataVOList = getConfigDataVOList(controlType, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
configMap.put("controlType", controlType);
configMap.put("list", paramsConfigDataVOList);
manifestMap.put(paramsConfigEO.getId(), configMap);
});
}
listMap.add(manifestMap);
});
return listMap;
}
/**
* 重新组装配置数据 用于返回前端
* @param controlType
* @param paramsConfigDataEO
* @param paramsCollectManifestEO
* @return
*/
private List<ParamsConfigDataVO> getConfigDataVOList(String controlType, ParamsConfigDataEO paramsConfigDataEO, ParamsCollectManifestEO paramsCollectManifestEO) {
List<ParamsConfigDataVO> paramsConfigDataVOList = new ArrayList<>();
if (ControlTypeEnum.TEXT.getValue().equals(controlType)) {
ParamsConfigDataVO configDataVO = new ParamsConfigDataVO();
configDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
configDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
configDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(configDataVO);
} else if (ControlTypeEnum.PULL_SINGLE.getValue().equals(controlType)) {
ParamsConfigDataVO configDataVO = new ParamsConfigDataVO();
configDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
configDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
configDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(configDataVO);
} else if (ControlTypeEnum.PULL_MORE.getValue().equals(controlType)) {
ParamsConfigDataVO configDataVO = new ParamsConfigDataVO();
configDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
configDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
configDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(configDataVO);
} else if (ControlTypeEnum.FILE.getValue().equals(controlType)) {
ParamsConfigDataVO configDataVO = new ParamsConfigDataVO();
configDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
configDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
}
paramsConfigDataVOList.add(configDataVO);
} else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(pullConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(pullMoreConfigDataVO);
} else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
}
paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
}
paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(pullMoreConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
}
paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
}
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
}
paramsConfigDataVOList.add(fileConfigDataVO);
}
return paramsConfigDataVOList;
}
private List<Map<String, String>> getControlValueMapList(String controlValue) {
List<Map<String, String>> controlValueMapList = new ArrayList<>();
if (StringUtils.isNotEmpty(controlValue)) {
controlValue = controlValue.replace("", ",");
String[] controlValueStr = controlValue.split(",");
for (int i = 0; i < controlValueStr.length; i++) {
Map<String, String> controlValueMap = new HashMap<>();
controlValueMap.put("lable", controlValueStr[i]);
controlValueMap.put("value", controlValueStr[i]);
controlValueMapList.add(controlValueMap);
}
}
return controlValueMapList;
}
/**
* 列表表头中英文切换
*
* @return
*/
@Override
public List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String cut) {
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag); // flag--->7
if (fieldList.size() != 0) {
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
}
List<ParamsConfigHistoryEO> paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId);
List<Map<String, Object>> listConfig = new LinkedList<>();
for (ParamsConfigEO paramsConfigEO : paramsConfigEOList) {
Map<String, Object> map = new HashMap<>();
map.put("db_field_name", paramsConfigEO.getId());
map.put("db_field_txt", paramsConfigEO.getConfigName());
map.put("type", true); //配置列 标识
listConfig.add(map);
}
List<Map<String, Object>> list = new LinkedList<>();
int indexOfDescription = 1; // 参数说明的位置
for (int i = 0; i < fieldList.size(); i++) {
OnlCgformField onlCgformField = fieldList.get(i);
Map<String, Object> map = new HashMap<>();
String dbFieldName = onlCgformField.getDbFieldName();
if ("description".equals(dbFieldName)) {
indexOfDescription = i;
}
if ("sdt".equals(dbFieldName)) {
map.put("click", true);
}
map.put("db_field_name", LineHumpUtil.lineToHump(dbFieldName));
if(CutEnum.CN.getValue().equals(cut)){
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
}else{
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
}
list.add(map);
}
list.addAll(indexOfDescription+1, listConfig);
return list;
}
/**
* 实体对象转成Map
* @param obj 实体对象
* @return
*/
private Map<String, Object> objectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
if (obj == null) {
return map;
}
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
try {
for (Field field : fields) {
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}
@@ -0,0 +1,34 @@
package com.jero.modules.cert.collect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO;
import com.jero.modules.cert.collect.mapper.ParamsConfigDataHistoryEOMapper;
import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService;
import org.springframework.stereotype.Service;
/**
* @Description: 参数配置数据历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Service
public class ParamsConfigDataHistoryEOServiceImpl extends ServiceImpl<ParamsConfigDataHistoryEOMapper, ParamsConfigDataHistoryEO> implements IParamsConfigDataHistoryEOService {
/**
* 通过id查询
*
* @param paramsConfigId
* @param paramsCollectManifestId
* @return
*/
@Override
public ParamsConfigDataHistoryEO queryByConfigIdAndCollectManifestId(String paramsConfigId, String paramsCollectManifestId) {
LambdaQueryWrapper<ParamsConfigDataHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsConfigDataHistoryEO::getParamsConfigId, paramsConfigId);
queryWrapper.eq(ParamsConfigDataHistoryEO::getParamsCollectManifestId, paramsCollectManifestId);
getOne(queryWrapper);
return getOne(queryWrapper);
}
}
@@ -0,0 +1,34 @@
package com.jero.modules.cert.collect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO;
import com.jero.modules.cert.collect.mapper.ParamsConfigHistoryEOMapper;
import com.jero.modules.cert.collect.service.IParamsConfigHistoryEOService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description: 参数配置历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Service
public class ParamsConfigHistoryEOServiceImpl extends ServiceImpl<ParamsConfigHistoryEOMapper, ParamsConfigHistoryEO> implements IParamsConfigHistoryEOService {
/**
* 列表查询
*
* @return
*/
@Override
public List<ParamsConfigHistoryEO> queryList(String paramsManifestId) {
LambdaQueryWrapper<ParamsConfigHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsConfigHistoryEO::getParamsManifestId, paramsManifestId);
queryWrapper.orderByAsc(ParamsConfigHistoryEO::getDisplaySeq);
List<ParamsConfigHistoryEO> list = list(queryWrapper);
return list;
}
}
@@ -14,6 +14,8 @@ 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.IParamsManifestEOService;
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
@@ -29,10 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -107,7 +106,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
// 对应参数模板发布版本 前端传过来
paramsManifestEO.setId(paramsManifestId);
paramsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
paramsManifestEO.setVersion(1);
paramsManifestEO.setVersion(1); // 默认版本为 1
Date now = new Date();
paramsManifestEO.setCreateTime(now);
paramsManifestEO.setUpdateTime(now);
@@ -211,6 +210,51 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Override
public IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO) {
return paramsManifestEOMapper.pageInfo(page, paramsManifestEO);
IPage rows = paramsManifestEOMapper.pageInfo(page, paramsManifestEO);
// 根据参数项状态更新清单状态
List<ParamsManifestEO> paramsManifestEOList = rows.getRecords();
paramsManifestEOList.forEach(manifestEO -> {
Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(manifestEO.getId());
Boolean finish = (Boolean) map.get("finish");
Date time = (Date) map.get("time");
if (finish) {
manifestEO.setState(ManifestStateEnum.FINISHED.getValue());
manifestEO.setFinishTime(time);
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(manifestEO.getId());
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
updateParamsManifestEO.setFinishTime(time);
updateById(updateParamsManifestEO);
}
});
return rows;
}
@Autowired
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
/**
* 变更扩展
* 仅能选择一条进行变更扩展
* 状态为已完成的清单可进行变更扩展
* @param id
* @return
*/
@Override
public boolean changeExtension(String id) {
// 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
paramsManifestHistoryEOService.addForChangeExtension(id);
// TODO 将模板最新版本和项目中参数项进行比对
return false;
}
@Override
public List<ParamsManifestHistoryVO> getHistoryVersionList(String title) {
return paramsManifestHistoryEOService.getHistoryVersionList(title);
}
}
@@ -0,0 +1,155 @@
package com.jero.modules.cert.collect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.cert.collect.entity.*;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestHistoryEOMapper;
import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 参数清单历史版本
* @Author: jero-boot
* @Date: 2022-05-12
* @Version: V1.0
*/
@Service
public class ParamsManifestHistoryEOServiceImpl extends ServiceImpl<ParamsManifestHistoryEOMapper, ParamsManifestHistoryEO> implements IParamsManifestHistoryEOService {
@Autowired
private IParamsManifestEOService paramsManifestEOService;
@Autowired
private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper;
@Autowired
private IParamsConfigEOService paramsConfigEOService;
@Autowired
private IParamsConfigDataEOService paramsConfigDataEOService;
@Autowired
private IParamsCollectManifestHistoryEOService paramsCollectManifestHistoryEOService;
@Autowired
private IParamsConfigDataHistoryEOService paramsConfigDataHistoryEOService;
@Autowired
private IParamsConfigHistoryEOService paramsConfigHistoryEOService;
@Autowired
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
/**
* 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
*
* @param paramsManifestId
*/
@Override
public void addForChangeExtension(String paramsManifestId) {
// 备份参数清单
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId);
ParamsManifestHistoryEO paramsManifestHistoryEO = new ParamsManifestHistoryEO();
BeanUtils.copyProperties(paramsManifestEO, paramsManifestHistoryEO);
String paramsManifestHistoryId = UUID.randomUUID().toString().replace("-","");
paramsManifestHistoryEO.setId(paramsManifestHistoryId);
// 查询清单下配置
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId);
// 备份清单的配置
List<ParamsConfigHistoryEO> paramsConfigHistoryEOList = new ArrayList<>();
Map<String, String> configIdMap = new HashMap<>();
paramsConfigEOList.forEach(sourceConfigEO -> {
ParamsConfigHistoryEO targetConfigEO = new ParamsConfigHistoryEO();
BeanUtils.copyProperties(sourceConfigEO, targetConfigEO);
String targetConfigId = UUID.randomUUID().toString().replace("-","");
targetConfigEO.setId(targetConfigId);
targetConfigEO.setParamsManifestId(paramsManifestHistoryId);
configIdMap.put(sourceConfigEO.getId(), targetConfigId);
paramsConfigHistoryEOList.add(targetConfigEO);
});
// 查询所有配置数据
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
LambdaQueryWrapper<ParamsConfigDataEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsConfigDataEO::getParamsConfigId, paramsConfigIdList);
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.list(queryWrapper);
// 备份清单参数项
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
List<ParamsCollectManifestHistoryEO> paramsCollectManifestHistoryEOList = new ArrayList<>();
List<ParamsConfigDataHistoryEO> paramsConfigDataHistoryEOList = new ArrayList<>();
paramsCollectManifestEOList.forEach(source -> {
ParamsCollectManifestHistoryEO target = new ParamsCollectManifestHistoryEO();
BeanUtils.copyProperties(source,target);
String paramsCollectManifestHistoryId = UUID.randomUUID().toString().replace("-","");
target.setId(paramsCollectManifestHistoryId);
target.setParamsManifestId(paramsManifestHistoryId);
paramsCollectManifestHistoryEOList.add(target);
// 备份参数项的配置数据
List<ParamsConfigDataEO> sourceConfigDataEOList = paramsConfigDataEOList.stream()
.filter(e->e.getParamsCollectManifestId().equals(source.getId()))
.collect(Collectors.toList());
sourceConfigDataEOList.forEach(sourceConfigDataEO -> {
ParamsConfigDataHistoryEO targetConfigDataHistoryEO = new ParamsConfigDataHistoryEO();
BeanUtils.copyProperties(sourceConfigDataEO, targetConfigDataHistoryEO);
targetConfigDataHistoryEO.setId(UUID.randomUUID().toString().replace("-",""));
targetConfigDataHistoryEO.setParamsCollectManifestId(paramsCollectManifestHistoryId);
targetConfigDataHistoryEO.setParamsConfigId(configIdMap.get(sourceConfigDataEO.getParamsConfigId()));
paramsConfigDataHistoryEOList.add(targetConfigDataHistoryEO);
});
});
// 批量添加参数项
paramsCollectManifestHistoryEOService.saveBatch(paramsCollectManifestHistoryEOList);
// 批量添加配置
paramsConfigHistoryEOService.saveBatch(paramsConfigHistoryEOList);
// 批量添加配置数据
paramsConfigDataHistoryEOService.saveBatch(paramsConfigDataHistoryEOList);
// 添加清单
paramsManifestHistoryEOService.save(paramsManifestHistoryEO);
// 参数清单版加 1
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(paramsManifestEO.getId());
updateParamsManifestEO.setVersion(paramsManifestEO.getVersion() + 1);
paramsManifestEOService.updateById(updateParamsManifestEO);
}
@Override
public List<ParamsManifestHistoryVO> getHistoryVersionList(String title) {
// 同一项目下标题时唯一的,历史版本和当前版本通过标题进行关联
LambdaQueryWrapper<ParamsManifestHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsManifestHistoryEO::getTitle, title)
.orderByAsc(ParamsManifestHistoryEO::getVersion);
List<ParamsManifestHistoryEO> list = list(queryWrapper);
List<ParamsManifestHistoryVO> historyVersionList = new ArrayList<>();
list.forEach(paramsManifestHistoryEO -> {
ParamsManifestHistoryVO paramsManifestHistoryVO = new ParamsManifestHistoryVO();
paramsManifestHistoryVO.setId(paramsManifestHistoryEO.getId());
paramsManifestHistoryVO.setVersion(paramsManifestHistoryEO.getVersion());
historyVersionList.add(paramsManifestHistoryVO);
});
return historyVersionList;
}
}
@@ -0,0 +1,15 @@
package com.jero.modules.cert.collect.vo;
import io.swagger.models.auth.In;
import lombok.Data;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 16:47 2022/5/12
*/
@Data
public class ParamsManifestHistoryVO {
private String id;
private Integer version;
}
@@ -1,7 +1,9 @@
package com.jero.modules.cert.template.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.cert.template.entity.*;
import com.jero.modules.cert.template.mapper.ParamsInfoPublishEOMapper;
@@ -118,6 +120,9 @@ public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublis
public int publishTemplate(String paramsTemplateId) {
ParamsTemplateEO source = paramsTemplateEOService.queryById(paramsTemplateId);
List<ParamsInfoEO> sourceParamsInfoEOList = paramsInfoEOService.selectListByParamsTemplateIds(paramsTemplateId);
if (CollectionUtil.isEmpty(sourceParamsInfoEOList)) {
throw new JeroBootException("没有可发布的参数项!"); // 模板中没有参数项,不让发布
}
List<CertCategoryParamsInfoEO> sourceCertCategoryParamsInfoEOList = certCategoryParamsInfoEOService.selectListByParamsTemplateIds(paramsTemplateId);
List<ParamsInfoPublishEO> targetParamsInfoPublishEOList = new ArrayList<>();