feat(sip): 新增项目 poc 测试信息功能
- 添加 ProjectPocInfo 模型类- 实现 IProjectPocInfoService 接口及其实现类 - 在 ProjectInfo 中添加项目 poc 信息字段 - 更新 ProjectInfoServiceImpl 中的项目信息获取和保存逻辑 - 添加 poc 信息的比较和日志记录功能master
parent
63bd43b4b8
commit
76801aca85
|
@ -139,5 +139,6 @@ public class ProjectInfo extends BaseEntity
|
||||||
private List<ProjectOperateLog> projectOperateLogList;
|
private List<ProjectOperateLog> projectOperateLogList;
|
||||||
/** 项目工作进度信息 */
|
/** 项目工作进度信息 */
|
||||||
private List<ProjectWorkProgress> projectWorkProgressList;
|
private List<ProjectWorkProgress> projectWorkProgressList;
|
||||||
|
private ProjectPocInfo projectPocInfo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.ruoyi.sip.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.ToString;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* poc测试信息对象 project_poc_info
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-06-09
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ToString
|
||||||
|
public class ProjectPocInfo extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 项目id */
|
||||||
|
@Excel(name = "项目id")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 测试环境 */
|
||||||
|
@Excel(name = "测试环境")
|
||||||
|
private String testEnvironment;
|
||||||
|
|
||||||
|
/** 测试进展 */
|
||||||
|
@Excel(name = "测试进展")
|
||||||
|
private String testProgress;
|
||||||
|
|
||||||
|
/** 项目成员信息 */
|
||||||
|
@Excel(name = "项目成员信息")
|
||||||
|
private String projectUserInfo;
|
||||||
|
|
||||||
|
/** 启动日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
|
@Excel(name = "启动日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date startDate;
|
||||||
|
|
||||||
|
/** 预计完成时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
|
@Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date planFinishTime;
|
||||||
|
|
||||||
|
/** 实际完成时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
|
@Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date realFinishTime;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
package com.ruoyi.sip.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* poc测试信息Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-06-09
|
||||||
|
*/
|
||||||
|
public interface ProjectPocInfoMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return poc测试信息
|
||||||
|
*/
|
||||||
|
public ProjectPocInfo selectProjectPocInfoById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息列表
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return poc测试信息集合
|
||||||
|
*/
|
||||||
|
public List<ProjectPocInfo> selectProjectPocInfoList(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除poc测试信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteProjectPocInfoById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除poc测试信息
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteProjectPocInfoByIds(String[] ids);
|
||||||
|
|
||||||
|
List<ProjectPocInfo> listByProjectId(List<Long> projectId);
|
||||||
|
|
||||||
|
void insertBatch(List<ProjectPocInfo> addList);
|
||||||
|
void updateBatch(List<ProjectPocInfo> addList);
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.ruoyi.sip.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* poc测试信息Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-06-09
|
||||||
|
*/
|
||||||
|
public interface IProjectPocInfoService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return poc测试信息
|
||||||
|
*/
|
||||||
|
public ProjectPocInfo selectProjectPocInfoById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息列表
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return poc测试信息集合
|
||||||
|
*/
|
||||||
|
public List<ProjectPocInfo> selectProjectPocInfoList(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除poc测试信息
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的poc测试信息主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteProjectPocInfoByIds(String ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除poc测试信息信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteProjectPocInfoById(Long id);
|
||||||
|
|
||||||
|
List<ProjectPocInfo> listByProjectId(List<Long> projectId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void saveBatch(List<ProjectPocInfo> projectPocInfos);
|
||||||
|
}
|
|
@ -17,7 +17,6 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.Period;
|
import java.time.Period;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
|
@ -45,7 +44,8 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
private IProjectWorkProgressService workProgressService;
|
private IProjectWorkProgressService workProgressService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProjectOperateLogService operateLogService;
|
private IProjectOperateLogService operateLogService;
|
||||||
|
@Autowired
|
||||||
|
private IProjectPocInfoService pocInfoService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProjectOrderInfoService orderInfoService;
|
private IProjectOrderInfoService orderInfoService;
|
||||||
|
@ -90,6 +90,10 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
return ProjectOperateLog.LogTypeEnum.BRIEF.getValue().equals(item.getLogType());
|
return ProjectOperateLog.LogTypeEnum.BRIEF.getValue().equals(item.getLogType());
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
projectInfo.setProjectOperateLogList(projectOperateLogs);
|
projectInfo.setProjectOperateLogList(projectOperateLogs);
|
||||||
|
List<ProjectPocInfo> projectPocInfos = pocInfoService.listByProjectId(Collections.singletonList(projectInfo.getId()));
|
||||||
|
if (CollUtil.isNotEmpty(projectPocInfos)) {
|
||||||
|
projectInfo.setProjectPocInfo(projectPocInfos.get(0));
|
||||||
|
}
|
||||||
return projectInfo;
|
return projectInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,6 +179,13 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
}
|
}
|
||||||
workProgressService.insertIgnoreBatch(projectWorkProgressList);
|
workProgressService.insertIgnoreBatch(projectWorkProgressList);
|
||||||
}
|
}
|
||||||
|
//保存poc信息
|
||||||
|
ProjectPocInfo projectPocInfo = projectInfo1.getProjectPocInfo();
|
||||||
|
if (projectPocInfo != null) {
|
||||||
|
projectPocInfo.setProjectId(projectInfo1.getId());
|
||||||
|
pocInfoService.saveBatch(Collections.singletonList(projectPocInfo));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -221,7 +232,7 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
private void recordOperationLogs(ProjectInfo projectInfo, ProjectInfo oldProjectInfo) {
|
private void recordOperationLogs(ProjectInfo projectInfo, ProjectInfo oldProjectInfo) {
|
||||||
StringBuilder logContent = new StringBuilder();
|
StringBuilder logContent = new StringBuilder();
|
||||||
//简略信息变更
|
//简略信息变更
|
||||||
StringBuilder logSimpleContent = new StringBuilder();
|
StringJoiner logSimpleContent = new StringJoiner("\n");
|
||||||
int logSimpleIndex = 1;
|
int logSimpleIndex = 1;
|
||||||
int logIndex = 1;
|
int logIndex = 1;
|
||||||
// 比较项目信息字段差异
|
// 比较项目信息字段差异
|
||||||
|
@ -257,7 +268,7 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
logIndex = compareField(logContent, logIndex, "项目简述", oldProjectInfo.getProjectDesc(), projectInfo.getProjectDesc());
|
logIndex = compareField(logContent, logIndex, "项目简述", oldProjectInfo.getProjectDesc(), projectInfo.getProjectDesc());
|
||||||
if (logIndex > 1) {
|
if (logIndex > 1) {
|
||||||
logSimpleIndex = logIndex;
|
logSimpleIndex = logIndex;
|
||||||
logSimpleContent.append("1.项目信息发生变更\n");
|
logSimpleContent.add("1.项目信息发生变更");
|
||||||
}
|
}
|
||||||
// 配置信息变更
|
// 配置信息变更
|
||||||
List<ProjectProductInfo> oldSoftWareProductList = oldProjectInfo.getSoftwareProjectProductInfoList();
|
List<ProjectProductInfo> oldSoftWareProductList = oldProjectInfo.getSoftwareProjectProductInfoList();
|
||||||
|
@ -281,9 +292,18 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
logIndex = compareProductInfoList(logContent, logIndex, "配置硬件信息", oldMaintenanceProductList, newMaintenanceProductList);
|
logIndex = compareProductInfoList(logContent, logIndex, "配置硬件信息", oldMaintenanceProductList, newMaintenanceProductList);
|
||||||
|
|
||||||
if (logSimpleIndex != logIndex) {
|
if (logSimpleIndex != logIndex) {
|
||||||
logSimpleContent.append(StringUtils.isNotEmpty(logSimpleContent)?"1.":"2.").append("配置信息发生变更");
|
logSimpleContent.add(StringUtils.format("{}.配置信息发生变更", logSimpleContent.length() + 1));
|
||||||
|
logSimpleIndex = logIndex;
|
||||||
}
|
}
|
||||||
|
//记录poc信息变更
|
||||||
|
|
||||||
|
logIndex = comparePocInfo(oldProjectInfo.getProjectPocInfo(), projectInfo.getProjectPocInfo(), logIndex, logContent);
|
||||||
|
|
||||||
|
|
||||||
|
if (logSimpleIndex != logIndex) {
|
||||||
|
logSimpleContent.add(StringUtils.format("{}.poc信息发生变更", logSimpleContent.length() + 1));
|
||||||
|
logSimpleIndex = logIndex;
|
||||||
|
}
|
||||||
// 插入操作日志
|
// 插入操作日志
|
||||||
if (logContent.length() > 0) {
|
if (logContent.length() > 0) {
|
||||||
ProjectOperateLog operateLog = new ProjectOperateLog();
|
ProjectOperateLog operateLog = new ProjectOperateLog();
|
||||||
|
@ -306,6 +326,26 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int comparePocInfo(ProjectPocInfo oldInfo, ProjectPocInfo info, int index, StringBuilder logContent) {
|
||||||
|
if (oldInfo == null && info != null) {
|
||||||
|
logContent.append(index).append(".poc新增");
|
||||||
|
return ++index;
|
||||||
|
}
|
||||||
|
if (oldInfo != null && info == null) {
|
||||||
|
logContent.append(index).append(".poc删除");
|
||||||
|
return ++index;
|
||||||
|
}
|
||||||
|
if (oldInfo != null) {
|
||||||
|
index=compareField(logContent, index, "测试环境", oldInfo.getTestEnvironment(), info.getTestEnvironment());
|
||||||
|
index=compareField(logContent, index, "测试进展", oldInfo.getTestProgress(), info.getTestProgress());
|
||||||
|
index=compareField(logContent, index, "项目成员信息", oldInfo.getProjectUserInfo(), info.getProjectUserInfo());
|
||||||
|
index=compareField(logContent, index, "启动日期", formatterDate(oldInfo.getStartDate()), formatterDate(info.getStartDate()));
|
||||||
|
index=compareField(logContent, index, "预计完成日期", formatterDate(oldInfo.getPlanFinishTime()), formatterDate(info.getPlanFinishTime()));
|
||||||
|
index=compareField(logContent, index, "实际完成日期", formatterDate(oldInfo.getRealFinishTime()), formatterDate(info.getRealFinishTime()));
|
||||||
|
}
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
private String formatterDate(Date date) {
|
private String formatterDate(Date date) {
|
||||||
if (date == null) {
|
if (date == null) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
package com.ruoyi.sip.service.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.sip.mapper.ProjectPocInfoMapper;
|
||||||
|
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||||
|
import com.ruoyi.sip.service.IProjectPocInfoService;
|
||||||
|
import com.ruoyi.common.core.text.Convert;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* poc测试信息Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-06-09
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private ProjectPocInfoMapper projectPocInfoMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return poc测试信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ProjectPocInfo selectProjectPocInfoById(Long id)
|
||||||
|
{
|
||||||
|
return projectPocInfoMapper.selectProjectPocInfoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询poc测试信息列表
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return poc测试信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<ProjectPocInfo> selectProjectPocInfoList(ProjectPocInfo projectPocInfo)
|
||||||
|
{
|
||||||
|
return projectPocInfoMapper.selectProjectPocInfoList(projectPocInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||||
|
{
|
||||||
|
projectPocInfo.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return projectPocInfoMapper.insertProjectPocInfo(projectPocInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改poc测试信息
|
||||||
|
*
|
||||||
|
* @param projectPocInfo poc测试信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||||
|
{
|
||||||
|
return projectPocInfoMapper.updateProjectPocInfo(projectPocInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除poc测试信息
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的poc测试信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteProjectPocInfoByIds(String ids)
|
||||||
|
{
|
||||||
|
return projectPocInfoMapper.deleteProjectPocInfoByIds(Convert.toStrArray(ids));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除poc测试信息信息
|
||||||
|
*
|
||||||
|
* @param id poc测试信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteProjectPocInfoById(Long id)
|
||||||
|
{
|
||||||
|
return projectPocInfoMapper.deleteProjectPocInfoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectPocInfo> listByProjectId(List<Long> projectId) {
|
||||||
|
return projectPocInfoMapper.listByProjectId(projectId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveBatch(List<ProjectPocInfo> projectPocInfos) {
|
||||||
|
if (CollUtil.isEmpty(projectPocInfos)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<ProjectPocInfo> addList = projectPocInfos.stream().filter(projectPocInfo -> projectPocInfo.getId() == null).collect(Collectors.toList());
|
||||||
|
List<ProjectPocInfo> updateList = projectPocInfos.stream().filter(projectPocInfo -> projectPocInfo.getId() != null).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isEmpty(addList)){
|
||||||
|
projectPocInfoMapper.insertBatch(addList);
|
||||||
|
}
|
||||||
|
if (CollUtil.isEmpty(updateList)){
|
||||||
|
projectPocInfoMapper.updateBatch(updateList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,123 @@
|
||||||
|
<?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.ruoyi.sip.mapper.ProjectPocInfoMapper">
|
||||||
|
|
||||||
|
<resultMap type="ProjectPocInfo" id="ProjectPocInfoResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="projectId" column="project_id" />
|
||||||
|
<result property="testEnvironment" column="test_environment" />
|
||||||
|
<result property="testProgress" column="test_progress" />
|
||||||
|
<result property="projectUserInfo" column="project_user_info" />
|
||||||
|
<result property="startDate" column="start_date" />
|
||||||
|
<result property="planFinishTime" column="plan_finish_time" />
|
||||||
|
<result property="realFinishTime" column="real_finish_time" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectProjectPocInfoVo">
|
||||||
|
select id, project_id, test_environment, test_progress, project_user_info, start_date, plan_finish_time, real_finish_time, create_by, create_time from project_poc_info
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectProjectPocInfoList" parameterType="ProjectPocInfo" resultMap="ProjectPocInfoResult">
|
||||||
|
<include refid="selectProjectPocInfoVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="projectId != null "> and project_id = #{projectId}</if>
|
||||||
|
<if test="testEnvironment != null and testEnvironment != ''"> and test_environment = #{testEnvironment}</if>
|
||||||
|
<if test="testProgress != null and testProgress != ''"> and test_progress = #{testProgress}</if>
|
||||||
|
<if test="projectUserInfo != null and projectUserInfo != ''"> and project_user_info = #{projectUserInfo}</if>
|
||||||
|
<if test="startDate != null "> and start_date = #{startDate}</if>
|
||||||
|
<if test="planFinishTime != null "> and plan_finish_time = #{planFinishTime}</if>
|
||||||
|
<if test="realFinishTime != null "> and real_finish_time = #{realFinishTime}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectProjectPocInfoById" parameterType="Long" resultMap="ProjectPocInfoResult">
|
||||||
|
<include refid="selectProjectPocInfoVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
<select id="listByProjectId" resultType="com.ruoyi.sip.domain.ProjectPocInfo">
|
||||||
|
<include refid="selectProjectPocInfoVo"/>
|
||||||
|
where project_id in (
|
||||||
|
<foreach item="projectId" collection="list" separator=",">
|
||||||
|
#{projectId}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertProjectPocInfo" parameterType="ProjectPocInfo" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into project_poc_info
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">project_id,</if>
|
||||||
|
<if test="testEnvironment != null">test_environment,</if>
|
||||||
|
<if test="testProgress != null">test_progress,</if>
|
||||||
|
<if test="projectUserInfo != null">project_user_info,</if>
|
||||||
|
<if test="startDate != null">start_date,</if>
|
||||||
|
<if test="planFinishTime != null">plan_finish_time,</if>
|
||||||
|
<if test="realFinishTime != null">real_finish_time,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">#{projectId},</if>
|
||||||
|
<if test="testEnvironment != null">#{testEnvironment},</if>
|
||||||
|
<if test="testProgress != null">#{testProgress},</if>
|
||||||
|
<if test="projectUserInfo != null">#{projectUserInfo},</if>
|
||||||
|
<if test="startDate != null">#{startDate},</if>
|
||||||
|
<if test="planFinishTime != null">#{planFinishTime},</if>
|
||||||
|
<if test="realFinishTime != null">#{realFinishTime},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<insert id="insertBatch">
|
||||||
|
insert into project_poc_info (project_id, test_environment, test_progress, project_user_info, start_date, plan_finish_time, real_finish_time, create_by, create_time) values
|
||||||
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
|
(#{item.projectId}, #{item.testEnvironment}, #{item.testProgress}, #{item.projectUserInfo}, #{item.startDate}, #{item.planFinishTime}, #{item.realFinishTime}, #{item.createBy},now())
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateProjectPocInfo" parameterType="ProjectPocInfo">
|
||||||
|
update project_poc_info
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">project_id = #{projectId},</if>
|
||||||
|
<if test="testEnvironment != null">test_environment = #{testEnvironment},</if>
|
||||||
|
<if test="testProgress != null">test_progress = #{testProgress},</if>
|
||||||
|
<if test="projectUserInfo != null">project_user_info = #{projectUserInfo},</if>
|
||||||
|
<if test="startDate != null">start_date = #{startDate},</if>
|
||||||
|
<if test="planFinishTime != null">plan_finish_time = #{planFinishTime},</if>
|
||||||
|
<if test="realFinishTime != null">real_finish_time = #{realFinishTime},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
<update id="updateBatch">
|
||||||
|
<foreach collection="list" item="item" index="index" separator=";">
|
||||||
|
update project_poc_info
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="item.testEnvironment != null">test_environment = #{item.testEnvironment},</if>
|
||||||
|
<if test="item.testProgress != null">test_progress = #{item.testProgress},</if>
|
||||||
|
<if test="item.projectUserInfo != null">project_user_info = #{item.projectUserInfo},</if>
|
||||||
|
<if test="item.startDate != null">start_date = #{item.startDate},</if>
|
||||||
|
<if test="item.planFinishTime != null">plan_finish_time = #{item.planFinishTime},</if>
|
||||||
|
<if test="item.realFinishTime != null">real_finish_time = #{item.realFinishTime},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{item.id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteProjectPocInfoById" parameterType="Long">
|
||||||
|
delete from project_poc_info where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteProjectPocInfoByIds" parameterType="String">
|
||||||
|
delete from project_poc_info where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue