feat(project): 重构 POC测试信息功能
- 修改 POC 测试信息相关页面和接口- 新增 POC 测试进展详情功能 - 优化 POC 测试信息展示和搜索 - 重构 POC 测试信息相关数据结构master
parent
da0bde24e6
commit
1021938cb1
|
@ -70,7 +70,7 @@
|
|||
}
|
||||
|
||||
.shortTd {
|
||||
width: 112px;
|
||||
width: 130px;
|
||||
}
|
||||
.inputTd{
|
||||
width: 27vw;
|
||||
|
@ -223,7 +223,7 @@
|
|||
></td>
|
||||
<td>POC测试</td>
|
||||
<td>
|
||||
<select name="countryProduct" class="form-control">
|
||||
<select name="countryProduct" class="form-control" value="0">
|
||||
<option value="">请选择</option>
|
||||
<option value="1">是</option>
|
||||
<option value="0">否</option>
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>配置信息表格组件</title>
|
||||
<head>
|
||||
<th:block th:include="include :: header('修改poc测试信息')"/>
|
||||
<th:block th:include="include :: datetimepicker-css"/>
|
||||
</head>
|
||||
</head>
|
||||
<style>
|
||||
.add-btn-div {
|
||||
|
@ -29,13 +32,185 @@
|
|||
<body>
|
||||
|
||||
<div id="config-info-component" th:fragment="pocLog()">
|
||||
<div class="layui-tab">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
|
||||
<input name="projectPocInfo.id" type="hidden">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">服务器配置<span class="is-required">*</span></td>
|
||||
<td colspan="5"><input type="text"
|
||||
name="projectPocInfo.serverConfig"
|
||||
placeholder="服务器配置"
|
||||
class="form-control"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">云桌面版本<span class="is-required">*</span></td>
|
||||
<td class="inputTd"><input type="text"
|
||||
name="projectPocInfo.vdiVersion"
|
||||
placeholder="云桌面版本"
|
||||
class="form-control"></td>
|
||||
<td class="shortTd" style=" text-align: right;">配置终端<span class="is-required">*</span></td>
|
||||
<td class="inputTd"><input type="text"
|
||||
name="projectPocInfo.terminalConfig"
|
||||
placeholder="配置终端"
|
||||
class="form-control"></td>
|
||||
<td class="shortTd" style=" text-align: right;">操作系统<span class="is-required">*</span></td>
|
||||
<td class="inputTd"><input type="text"
|
||||
name="projectPocInfo.operateSystem"
|
||||
placeholder="操作系统"
|
||||
class="form-control"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">H3C接口人<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input type="text"
|
||||
name="projectPocInfo.h3cPerson"
|
||||
placeholder="H3C接口人"
|
||||
class="form-control"></td>
|
||||
<td class="shortTd" style=" text-align: right;">H3C TEL<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input type="text" name="projectPocInfo.h3cPhone"
|
||||
placeholder="H3C TEL"
|
||||
class="form-control"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">汇智接口人<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input type="text"
|
||||
name="projectPocInfo.hzInterfacePerson"
|
||||
placeholder="汇智接口人"
|
||||
class="form-control"></td>
|
||||
<td class="shortTd" style=" text-align: right;">汇智 TEL<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input type="text"
|
||||
name="projectPocInfo.hzInterfacePhone"
|
||||
placeholder="汇智 TEL"
|
||||
class="form-control"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">研发接口人<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input name="projectPocInfo.processPerson" placeholder="研发接口人"
|
||||
class="form-control" type="text">
|
||||
<td class="shortTd" style=" text-align: right;">研发 TEL<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input name="projectPocInfo.processPhone" placeholder="研发 TEL"
|
||||
class="form-control" type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">现场接口人<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input name="projectPocInfo.handlePerson" placeholder="现场接口人"
|
||||
class="form-control" type="text">
|
||||
<td class="shortTd" style=" text-align: right;">现场 TEL<span class="is-required">*</span></td>
|
||||
<td colspan="2"><input name="projectPocInfo.handlePhone" placeholder="现场 TEL"
|
||||
class="form-control" type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="shortTd" style=" text-align: right;">启动时间<span class="is-required">*</span></td>
|
||||
<td><input name="projectPocInfo.startDate"
|
||||
autocomplete="off"
|
||||
class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
</td>
|
||||
<td class="shortTd" style=" text-align: right;">预计完成时间<span class="is-required">*</span></td>
|
||||
<td><input name="projectPocInfo.planFinishTime"
|
||||
autocomplete="off"
|
||||
class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
</td>
|
||||
<td class="shortTd" style=" text-align: right;">实际完成时间<span class="is-required">*</span></td>
|
||||
<td><input name="projectPocInfo.realFinishTime"
|
||||
autocomplete="off"
|
||||
class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="add-btn-div">
|
||||
<h3>测试进展</h3>
|
||||
<button type="button" class="add-btn" onclick="addPocLogDetail({})">添加</button>
|
||||
</div>
|
||||
<table id="pocLogDetail">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px">序号</th>
|
||||
<th>测试进展</th>
|
||||
<th style="width: 100px">更新人员</th>
|
||||
<th style="width: 120px">更新时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
<!-- 可动态添加行 -->
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<th:block th:include="include :: footer"/>
|
||||
<th:block th:include="include :: datetimepicker-js"/>
|
||||
|
||||
<!-- JS 函数引用或内联 -->
|
||||
<script th:inline="javascript"> /*<![CDATA[*/
|
||||
function addPocLogDetail(data) {
|
||||
let length = $('#pocLogDetail tbody').find('tr').length
|
||||
let tr = $(`
|
||||
<tr>
|
||||
<td style="text-align: center;">${length + 1}</td>
|
||||
<td><input type="hidden" value="${data.id || ''}" name="projectPocInfo.projectPocInfoDetailList[${length}].id">
|
||||
<input type="text" onclick="showDetailValue(this)" name="projectPocInfo.projectPocInfoDetailList[${length}].testProgress" class="form-control" required value="${data.testProgress || ''}"></input></td>
|
||||
<td><input type="text" class="form-control" placeholder="保存后自动填入" value="${data.createByName || ''}" readonly></td>
|
||||
<td><input type="text" class="form-control" placeholder="保存后自动填入" value="${data.createTime||''}" readonly></td>
|
||||
</tr>`)
|
||||
$('#pocLogDetail tbody').append(tr)
|
||||
}
|
||||
|
||||
|
||||
$("input[name='projectPocInfo.startDate']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition: "top-right"
|
||||
});
|
||||
|
||||
$("input[name='projectPocInfo.planFinishTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition: "top-right"
|
||||
});
|
||||
|
||||
$("input[name='projectPocInfo.realFinishTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition: "top-right"
|
||||
});
|
||||
|
||||
$(function () {
|
||||
let projectInfo = [[${projectInfo}]];
|
||||
if (projectInfo) {
|
||||
let projectPocInfo = projectInfo.projectPocInfo;
|
||||
if (projectPocInfo) {
|
||||
$("input[name = 'projectPocInfo.id']").val(projectPocInfo.id);
|
||||
$("input[name = 'projectPocInfo.serverConfig']").val(projectPocInfo.serverConfig);
|
||||
$("input[name = 'projectPocInfo.terminalConfig']").val(projectPocInfo.terminalConfig);
|
||||
$("input[name = 'projectPocInfo.operateSystem']").val(projectPocInfo.operateSystem);
|
||||
$("input[name = 'projectPocInfo.vdiVersion']").val(projectPocInfo.vdiVersion);
|
||||
$("input[name = 'projectPocInfo.processPerson']").val(projectPocInfo.processPerson);
|
||||
$("input[name = 'projectPocInfo.processPhone']").val(projectPocInfo.processPhone);
|
||||
$("input[name = 'projectPocInfo.handlePerson']").val(projectPocInfo.handlePerson);
|
||||
$("input[name = 'projectPocInfo.handlePhone']").val(projectPocInfo.handlePhone);
|
||||
$("input[name = 'projectPocInfo.hzInterfacePerson']").val(projectPocInfo.hzInterfacePerson);
|
||||
$("input[name = 'projectPocInfo.hzInterfacePhone']").val(projectPocInfo.hzInterfacePhone);
|
||||
$("input[name = 'projectPocInfo.startDate']").val(projectPocInfo.startDate);
|
||||
$("input[name = 'projectPocInfo.h3cPerson']").val(projectPocInfo.h3cPerson);
|
||||
$("input[name = 'projectPocInfo.h3cPhone']").val(projectPocInfo.h3cPhone);
|
||||
$("input[name = 'projectPocInfo.planFinishTime']").val(projectPocInfo.planFinishTime);
|
||||
$("input[name = 'projectPocInfo.realFinishTime']").val(projectPocInfo.realFinishTime);
|
||||
|
||||
|
||||
if (projectPocInfo.projectPocInfoDetailList) {
|
||||
projectPocInfo.projectPocInfoDetailList.forEach(item => {
|
||||
addPocLogDetail(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*]]>*/
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
}
|
||||
|
||||
.shortTd {
|
||||
width: 112px;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.inputTd {
|
||||
|
@ -552,11 +552,7 @@
|
|||
`)
|
||||
$('#sysLog tbody').append(tr)
|
||||
})
|
||||
let pocLog = [[${projectInfo.projectPocInfo}]];
|
||||
if (pocLog) {
|
||||
addPocLog(pocLog)
|
||||
document.getElementById('addPocLog').setAttribute("style", "display:none")
|
||||
}
|
||||
|
||||
changeBg()
|
||||
$('[name="industryType"]').val([[${projectInfo.industryType}]])
|
||||
}
|
||||
|
@ -576,42 +572,7 @@
|
|||
|
||||
}
|
||||
|
||||
function addPocLog(data) {
|
||||
let length = $('#workLog tbody').find('tr').length
|
||||
let tr = $(`
|
||||
<tr>
|
||||
|
||||
<td><input type="hidden" value="${data.id || ''}" name="projectPocInfo.id"/>
|
||||
<input type="text" onclick="showDetailValue(this,true)" name="projectPocInfo.testEnvironment" class="form-control" required value="${data.testEnvironment || ''}"></input></td>
|
||||
<td><input type="text" onclick="showDetailValue(this,true)" name="projectPocInfo.testProgress" class="form-control" required value="${data.testProgress || ''}"></input></td>
|
||||
<td><input type="text" onclick="showDetailValue(this,true)" name="projectPocInfo.projectUserInfo" class="form-control" required value="${data.projectUserInfo || ''}"></input></td>
|
||||
<td><input name="projectPocInfo.startDate" autocomplete="off" class="form-control" placeholder="yyyy-MM-dd"
|
||||
value="${data.startDate||''}"></td>
|
||||
<td><input name="projectPocInfo.planFinishTime" value="${data.planFinishTime||''}" autocomplete="off" class="form-control" placeholder="yyyy-MM-dd"></td>
|
||||
<td><input name="projectPocInfo.realFinishTime" value="${data.realFinishTime||''}" autocomplete="off" class="form-control" placeholder="yyyy-MM-dd"></td>
|
||||
|
||||
</tr>`)
|
||||
$('#pocLog tbody').append(tr)
|
||||
$("input[name='projectPocInfo.startDate']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition:"top-right"
|
||||
});
|
||||
$("input[name='projectPocInfo.planFinishTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition:"top-right"
|
||||
});
|
||||
$("input[name='projectPocInfo.realFinishTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true,
|
||||
pickerPosition:"top-right"
|
||||
});
|
||||
|
||||
}
|
||||
function addLog(data) {
|
||||
let length = $('#workLog tbody').find('tr').length
|
||||
let tr = $(`
|
||||
|
|
|
@ -248,7 +248,7 @@
|
|||
title: '汇智负责人'
|
||||
},
|
||||
{
|
||||
field: 'poc',
|
||||
field: 'POC',
|
||||
title: 'poc'
|
||||
},
|
||||
|
||||
|
|
|
@ -7,6 +7,32 @@
|
|||
.select-list li p, .select-list li label:not(.radio-box){
|
||||
width: 80px;
|
||||
}
|
||||
.sortBox {
|
||||
display: flex;
|
||||
float: right;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
height: 20px;
|
||||
justify-content: center;
|
||||
margin-right: 30px;
|
||||
}
|
||||
|
||||
.sortBox div {
|
||||
font-size: 10px;
|
||||
transform: scale(1.2, 1);
|
||||
cursor: pointer;
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.sortBox .timeAction {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.timeSearch {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
<body class="gray-bg">
|
||||
<div class="container-div">
|
||||
|
@ -55,13 +81,34 @@
|
|||
<input type="text" name="partnerName" placeholder="进货商" />
|
||||
|
||||
</li>
|
||||
<li class="timeSearch" style="width: 80%">
|
||||
<div>
|
||||
<label>时间选择:</label>
|
||||
<select name="timeType" onchange="changeTimeType()" value="0">
|
||||
<option value="0">到货时间</option>
|
||||
<option value="1">下单时间</option>
|
||||
<option value="2">执行单截止时间</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="timeSearch">
|
||||
<input name="deliveryTimeStart" type="text" class="input-sm form-control"
|
||||
id="laydate-startTime"
|
||||
placeholder="yyyy-MM-dd"/>
|
||||
<span>到</span>
|
||||
<input name="deliveryTimeEnd" type="text" class="input-sm form-control"
|
||||
id="laydate-endTime"
|
||||
placeholder="yyyy-MM-dd"/>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="hidden" name="orderByColumn"/>
|
||||
<input type="hidden" name="isAsc"/>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -90,7 +137,46 @@
|
|||
var editFlag = [[${@permission.hasPermi('product:order:edit')}]];
|
||||
var removeFlag = [[${@permission.hasPermi('product:order:remove')}]];
|
||||
var prefix = ctx + "project/order";
|
||||
function initSrot() {
|
||||
let sort3 = $(`<div class="sortBox"><div class="sortBtn" sort="asc">▲</div><div class="sortBtn" sort="desc">▼</div></div>`)
|
||||
$('thead .time3 .th-inner').append(sort3)
|
||||
let sort4 = $(`<div class="sortBox"><div class="sortBtn" sort="asc">▲</div><div class="sortBtn" sort="desc">▼</div></div>`)
|
||||
$('thead .time4 .th-inner').append(sort4)
|
||||
let sort5 = $(`<div class="sortBox"><div class="sortBtn" sort="asc">▲</div><div class="sortBtn" sort="desc">▼</div></div>`)
|
||||
$('thead .time5 .th-inner').append(sort5)
|
||||
bindSort([ sort3, sort4, sort5])
|
||||
|
||||
|
||||
}
|
||||
function changeTimeType() {
|
||||
let timeType = $("[name='timeType']").val()
|
||||
if (timeType == 0) {
|
||||
$('#laydate-startTime').attr('name', 'deliveryTimeStart')
|
||||
$('#laydate-endTime').attr('name', 'deliveryTimeEnd')
|
||||
}else if(timeType==1){
|
||||
$('#laydate-startTime').attr('name', 'estimatedOrderTimeStart')
|
||||
$('#laydate-endTime').attr('name', 'estimatedOrderTimeEnd')
|
||||
}else if(timeType==2){
|
||||
$('#laydate-startTime').attr('name', 'orderEndTimeStart')
|
||||
$('#laydate-endTime').attr('name', 'orderEndTimeEnd')
|
||||
}
|
||||
}
|
||||
function bindSort(list) {
|
||||
list.forEach((ele, index) => {
|
||||
$(ele).find('.sortBtn').on('click', function () {
|
||||
changeSort(this, index)
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
function changeSort(ele, index) {
|
||||
let arr = ['deliveryTime','t2.estimatedOrderTime','orderEndTime']
|
||||
$('.sortBox').find('.timeAction').removeClass('timeAction')
|
||||
$(ele).addClass('timeAction')
|
||||
$('input[name="orderByColumn"]').val(arr[index])
|
||||
$('input[name="isAsc"]').val($(ele).attr('sort'))
|
||||
$.table.search()
|
||||
}
|
||||
$(function() {
|
||||
// $('#content').load(ctx + 'project/order/add');
|
||||
var urlChina = '/cnarea/select';
|
||||
|
@ -139,10 +225,6 @@
|
|||
return value?formatAmountNumber(value):'';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'createTime',
|
||||
title: '下单时间'
|
||||
},
|
||||
{
|
||||
field: 'orderStatus',
|
||||
title: '订单状态',
|
||||
|
@ -166,6 +248,21 @@
|
|||
field: 'partnerName',
|
||||
title: '进货商'
|
||||
},
|
||||
{
|
||||
field: 'deliveryTime',
|
||||
title: '到货时间',
|
||||
class: 'time3'
|
||||
},
|
||||
{
|
||||
field: 'estimatedOrderTime',
|
||||
title: '下单时间',
|
||||
class: 'time4'
|
||||
},
|
||||
{
|
||||
field: 'orderEndTime',
|
||||
title: '执行单截止时间',
|
||||
class: 'time5'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
|
@ -178,6 +275,47 @@
|
|||
}]
|
||||
};
|
||||
$.table.init(options);
|
||||
initSrot()
|
||||
layui.use('laydate', function () {
|
||||
var laydate = layui.laydate;
|
||||
var startDate = laydate.render({
|
||||
elem: '#laydate-startTime',
|
||||
max: $('#laydate-endTime').val(),
|
||||
theme: 'molv',
|
||||
trigger: 'click',
|
||||
done: function (value, date) {
|
||||
// 结束时间大于开始时间
|
||||
if (value !== '') {
|
||||
endDate.config.min.year = date.year;
|
||||
endDate.config.min.month = date.month - 1;
|
||||
endDate.config.min.date = date.date;
|
||||
} else {
|
||||
endDate.config.min.year = '';
|
||||
endDate.config.min.month = '';
|
||||
endDate.config.min.date = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
var endDate = laydate.render({
|
||||
elem: '#laydate-endTime',
|
||||
min: $('#laydate-startTime').val(),
|
||||
theme: 'molv',
|
||||
trigger: 'click',
|
||||
done: function (value, date) {
|
||||
// 开始时间小于结束时间
|
||||
if (value !== '') {
|
||||
startDate.config.max.year = date.year;
|
||||
startDate.config.max.month = date.month - 1;
|
||||
startDate.config.max.date = date.date;
|
||||
} else {
|
||||
startDate.config.max.year = '';
|
||||
startDate.config.max.month = '';
|
||||
startDate.config.max.date = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -58,8 +58,9 @@ public class ProjectOrderInfo extends BaseEntity {
|
|||
@Excel(name = "金额")
|
||||
private BigDecimal shipmentAmount;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name="下单时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
// @Excel(name="下单时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
|
@ -129,17 +130,26 @@ public class ProjectOrderInfo extends BaseEntity {
|
|||
/**
|
||||
* 执行单有效截止时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
// @Excel(name = "执行单有效截止时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date orderEndTime;
|
||||
|
||||
|
||||
/**
|
||||
* 要求到货时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
// @Excel(name = "要求到货时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@Excel(name="到货时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date deliveryTime;
|
||||
|
||||
private Date deliveryTimeStart;
|
||||
private Date deliveryTimeEnd;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date estimatedOrderTime;
|
||||
private Date estimatedOrderTimeStart;
|
||||
private Date estimatedOrderTimeEnd;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "执行单有效截止时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date orderEndTime;
|
||||
private Date orderEndTimeStart;
|
||||
private Date orderEndTimeEnd;
|
||||
/**
|
||||
* 公司直发
|
||||
*/
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package com.ruoyi.sip.domain;
|
||||
|
||||
import java.util.List;
|
||||
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;
|
||||
|
@ -13,10 +13,9 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
* poc测试信息对象 project_poc_info
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-06-09
|
||||
* @date 2025-06-12
|
||||
*/
|
||||
@Data
|
||||
@ToString
|
||||
public class ProjectPocInfo extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
@ -28,23 +27,59 @@ public class ProjectPocInfo extends BaseEntity
|
|||
@Excel(name = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/** 测试环境 */
|
||||
@Excel(name = "测试环境")
|
||||
private String testEnvironment;
|
||||
/** 服务器配置 */
|
||||
@Excel(name = "服务器配置")
|
||||
private String serverConfig;
|
||||
|
||||
/** 测试进展 */
|
||||
@Excel(name = "测试进展")
|
||||
private String testProgress;
|
||||
/** 终端配置 */
|
||||
@Excel(name = "终端配置")
|
||||
private String terminalConfig;
|
||||
|
||||
/** 项目成员信息 */
|
||||
@Excel(name = "项目成员信息")
|
||||
private String projectUserInfo;
|
||||
/** 操作系统 */
|
||||
@Excel(name = "操作系统")
|
||||
private String operateSystem;
|
||||
|
||||
/** 启动日期 */
|
||||
/** 云桌面版本 */
|
||||
@Excel(name = "云桌面版本")
|
||||
private String vdiVersion;
|
||||
|
||||
/** 研发人员 */
|
||||
@Excel(name = "研发人员")
|
||||
private String processPerson;
|
||||
|
||||
/** 研发联系电话 */
|
||||
@Excel(name = "研发联系电话")
|
||||
private String processPhone;
|
||||
|
||||
/** 现场处理人员 */
|
||||
@Excel(name = "现场处理人员")
|
||||
private String handlePerson;
|
||||
|
||||
/** 现场联系电话 */
|
||||
@Excel(name = "现场联系电话")
|
||||
private String handlePhone;
|
||||
|
||||
/** 汇智接口人 */
|
||||
@Excel(name = "汇智接口人")
|
||||
private String hzInterfacePerson;
|
||||
|
||||
/** 汇智联系电话 */
|
||||
@Excel(name = "汇智联系电话")
|
||||
private String hzInterfacePhone;
|
||||
|
||||
/** 启动时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "启动日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@Excel(name = "启动时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date startDate;
|
||||
|
||||
/** H3C销售/SE */
|
||||
@Excel(name = "H3C销售/SE")
|
||||
private String h3cPerson;
|
||||
|
||||
/** 联系电话 */
|
||||
@Excel(name = "联系电话")
|
||||
private String h3cPhone;
|
||||
|
||||
/** 预计完成时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
|
@ -55,4 +90,7 @@ public class ProjectPocInfo extends BaseEntity
|
|||
@Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date realFinishTime;
|
||||
|
||||
/** $table.subTable.functionName信息 */
|
||||
private List<ProjectPocInfoDetail> projectPocInfoDetailList;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package com.ruoyi.sip.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
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;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* ${subTable.functionName}对象 project_poc_info_detail
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-06-12
|
||||
*/
|
||||
@Data
|
||||
public class ProjectPocInfoDetail extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** $column.columnComment */
|
||||
private Long id;
|
||||
|
||||
/** poc_log表Id */
|
||||
@Excel(name = "poc_log表Id")
|
||||
private Long pocId;
|
||||
|
||||
/** 测试进展 */
|
||||
@Excel(name = "测试进展")
|
||||
private String testProgress;
|
||||
private String createByName;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
}
|
|
@ -2,12 +2,13 @@ package com.ruoyi.sip.mapper;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||
import com.ruoyi.sip.domain.ProjectPocInfoDetail;
|
||||
|
||||
/**
|
||||
* poc测试信息Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-06-09
|
||||
* @date 2025-06-12
|
||||
*/
|
||||
public interface ProjectPocInfoMapper
|
||||
{
|
||||
|
@ -59,8 +60,32 @@ public interface ProjectPocInfoMapper
|
|||
*/
|
||||
public int deleteProjectPocInfoByIds(String[] ids);
|
||||
|
||||
List<ProjectPocInfo> listByProjectId(List<Long> projectId);
|
||||
/**
|
||||
* 批量删除${subTable.functionName}
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectPocInfoDetailByPocIds(String[] ids);
|
||||
|
||||
/**
|
||||
* 批量新增${subTable.functionName}
|
||||
*
|
||||
* @param projectPocInfoDetailList ${subTable.functionName}列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchProjectPocInfoDetail(List<ProjectPocInfoDetail> projectPocInfoDetailList);
|
||||
|
||||
|
||||
void insertBatch(List<ProjectPocInfo> addList);
|
||||
void updateBatch(List<ProjectPocInfo> addList);
|
||||
/**
|
||||
* 通过poc测试信息主键删除${subTable.functionName}信息
|
||||
*
|
||||
* @param id poc测试信息ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectPocInfoDetailByPocId(Long id);
|
||||
|
||||
List<ProjectPocInfo> listByProjectId(List<Long> longs);
|
||||
|
||||
void updateBatchProjectPocInfoDetail(List<ProjectPocInfoDetail> updateList);
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import com.ruoyi.sip.domain.ProjectPocInfo;
|
|||
* poc测试信息Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-06-09
|
||||
* @date 2025-06-12
|
||||
*/
|
||||
public interface IProjectPocInfoService
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ public interface IProjectPocInfoService
|
|||
* @param projectPocInfo poc测试信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||
public int saveProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||
|
||||
/**
|
||||
* 批量删除poc测试信息
|
||||
|
@ -59,9 +59,6 @@ public interface IProjectPocInfoService
|
|||
*/
|
||||
public int deleteProjectPocInfoById(Long id);
|
||||
|
||||
List<ProjectPocInfo> listByProjectId(List<Long> projectId);
|
||||
List<ProjectPocInfo> listByProjectId(List<Long> longs);
|
||||
|
||||
|
||||
|
||||
void saveBatch(List<ProjectPocInfo> projectPocInfos);
|
||||
}
|
||||
|
|
|
@ -141,6 +141,9 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
if (CollUtil.isNotEmpty(projectInfo.getCompetitorList())) {
|
||||
projectInfo.setCompetitor(projectInfo.getCompetitorList().stream().filter(StringUtils::isNotEmpty).collect(Collectors.joining(",")));
|
||||
}
|
||||
if (projectInfo.getProjectPocInfo()!=null && CollUtil.isNotEmpty(projectInfo.getProjectPocInfo().getProjectPocInfoDetailList())){
|
||||
projectInfo.setPoc("1");
|
||||
}
|
||||
int i = projectInfoMapper.insertProjectInfo(projectInfo);
|
||||
saveOtherInfo(projectInfo);
|
||||
return i;
|
||||
|
@ -185,7 +188,7 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
ProjectPocInfo projectPocInfo = projectInfo1.getProjectPocInfo();
|
||||
if (projectPocInfo != null) {
|
||||
projectPocInfo.setProjectId(projectInfo1.getId());
|
||||
pocInfoService.saveBatch(Collections.singletonList(projectPocInfo));
|
||||
pocInfoService.saveProjectPocInfo(projectPocInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -223,6 +226,9 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
if (changeWork) {
|
||||
projectInfo.setUpdateTime(DateUtils.getNowDate());
|
||||
}
|
||||
if (projectInfo.getProjectPocInfo()!=null && CollUtil.isNotEmpty(projectInfo.getProjectPocInfo().getProjectPocInfoDetailList())){
|
||||
projectInfo.setPoc("1");
|
||||
}
|
||||
int result = projectInfoMapper.updateProjectInfo(projectInfo);
|
||||
//变更其它信息
|
||||
saveOtherInfo(projectInfo);
|
||||
|
@ -340,12 +346,21 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
return ++index;
|
||||
}
|
||||
if (oldInfo != null) {
|
||||
index=compareField(logContent, index, "POC记录测试环境", oldInfo.getTestEnvironment(), info.getTestEnvironment());
|
||||
index=compareField(logContent, index, "POC记录测试进展", oldInfo.getTestProgress(), info.getTestProgress());
|
||||
index=compareField(logContent, index, "POC记录项目成员信息", oldInfo.getProjectUserInfo(), info.getProjectUserInfo());
|
||||
index=compareField(logContent, index, "POC记录启动日期", formatterDate(oldInfo.getStartDate()), formatterDate(info.getStartDate()));
|
||||
index=compareField(logContent, index, "POC记录预计完成日期", formatterDate(oldInfo.getPlanFinishTime()), formatterDate(info.getPlanFinishTime()));
|
||||
index=compareField(logContent, index, "POC记录实际完成日期", formatterDate(oldInfo.getRealFinishTime()), formatterDate(info.getRealFinishTime()));
|
||||
index=compareField(logContent, index, "POC服务器配置", oldInfo.getServerConfig(), info.getServerConfig());
|
||||
index=compareField(logContent, index, "POC云桌面版本", oldInfo.getVdiVersion(), info.getVdiVersion());
|
||||
index=compareField(logContent, index, "POC配置终端", oldInfo.getTerminalConfig(), info.getTerminalConfig());
|
||||
index=compareField(logContent, index, "POC操作系统", oldInfo.getOperateSystem(), info.getOperateSystem());
|
||||
index=compareField(logContent, index, "POC H3C接口人", oldInfo.getH3cPerson(), info.getH3cPerson());
|
||||
index=compareField(logContent, index, "POC H3C TEL", oldInfo.getH3cPhone(), info.getH3cPhone());
|
||||
index=compareField(logContent, index, "POC汇智接口人", oldInfo.getHzInterfacePerson(), info.getHzInterfacePerson());
|
||||
index=compareField(logContent, index, "POC汇智 TEL", oldInfo.getHzInterfacePhone(), info.getHzInterfacePhone());
|
||||
index=compareField(logContent, index, "POC研发接口人", oldInfo.getProcessPerson(), info.getProcessPerson());
|
||||
index=compareField(logContent, index, "POC研发 TEL", oldInfo.getProcessPhone(), info.getProcessPhone());
|
||||
index=compareField(logContent, index, "POC现场接口人", oldInfo.getHandlePerson(), info.getHandlePerson());
|
||||
index=compareField(logContent, index, "POC现场 TEL", oldInfo.getHandlePhone(), info.getHandlePhone());
|
||||
index=compareField(logContent, index, "POC启动时间", formatterDate(oldInfo.getStartDate()), formatterDate(info.getStartDate()));
|
||||
index=compareField(logContent, index, "POC预计完成时间", formatterDate(oldInfo.getPlanFinishTime()), formatterDate(info.getPlanFinishTime()));
|
||||
index=compareField(logContent, index, "POC实际完成时间", formatterDate(oldInfo.getRealFinishTime()), formatterDate(info.getRealFinishTime()));
|
||||
}
|
||||
return index;
|
||||
}
|
||||
|
|
|
@ -2,12 +2,19 @@ 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 cn.hutool.core.collection.CollectionUtil;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.ShiroUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.ruoyi.sip.domain.ProjectPocInfoDetail;
|
||||
import com.ruoyi.sip.mapper.ProjectPocInfoMapper;
|
||||
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||
import com.ruoyi.sip.service.IProjectPocInfoService;
|
||||
|
@ -17,7 +24,7 @@ import com.ruoyi.common.core.text.Convert;
|
|||
* poc测试信息Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-06-09
|
||||
* @date 2025-06-12
|
||||
*/
|
||||
@Service
|
||||
public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||
|
@ -55,11 +62,14 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
|||
* @param projectPocInfo poc测试信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||
{
|
||||
projectPocInfo.setCreateTime(DateUtils.getNowDate());
|
||||
return projectPocInfoMapper.insertProjectPocInfo(projectPocInfo);
|
||||
int rows = projectPocInfoMapper.insertProjectPocInfo(projectPocInfo);
|
||||
insertProjectPocInfoDetail(projectPocInfo);
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,9 +78,17 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
|||
* @param projectPocInfo poc测试信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||
public int saveProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||
{
|
||||
// projectPocInfoMapper.deleteProjectPocInfoDetailByPocId(projectPocInfo.getId());
|
||||
insertProjectPocInfoDetail(projectPocInfo);
|
||||
if (projectPocInfo.getId() == null) {
|
||||
int i = projectPocInfoMapper.insertProjectPocInfo(projectPocInfo);
|
||||
insertProjectPocInfoDetail(projectPocInfo);
|
||||
return i;
|
||||
}
|
||||
return projectPocInfoMapper.updateProjectPocInfo(projectPocInfo);
|
||||
}
|
||||
|
||||
|
@ -80,9 +98,11 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
|||
* @param ids 需要删除的poc测试信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int deleteProjectPocInfoByIds(String ids)
|
||||
{
|
||||
projectPocInfoMapper.deleteProjectPocInfoDetailByPocIds(Convert.toStrArray(ids));
|
||||
return projectPocInfoMapper.deleteProjectPocInfoByIds(Convert.toStrArray(ids));
|
||||
}
|
||||
|
||||
|
@ -92,29 +112,49 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
|||
* @param id poc测试信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int deleteProjectPocInfoById(Long id)
|
||||
{
|
||||
projectPocInfoMapper.deleteProjectPocInfoDetailByPocId(id);
|
||||
return projectPocInfoMapper.deleteProjectPocInfoById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectPocInfo> listByProjectId(List<Long> projectId) {
|
||||
return projectPocInfoMapper.listByProjectId(projectId);
|
||||
public List<ProjectPocInfo> listByProjectId(List<Long> longs) {
|
||||
return projectPocInfoMapper.listByProjectId(longs);
|
||||
}
|
||||
|
||||
@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.isNotEmpty(addList)){
|
||||
projectPocInfoMapper.insertBatch(addList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(updateList)){
|
||||
projectPocInfoMapper.updateBatch(updateList);
|
||||
/**
|
||||
* 新增${subTable.functionName}信息
|
||||
*
|
||||
* @param projectPocInfo poc测试信息对象
|
||||
*/
|
||||
public void insertProjectPocInfoDetail(ProjectPocInfo projectPocInfo) {
|
||||
List<ProjectPocInfoDetail> projectPocInfoDetailList = projectPocInfo.getProjectPocInfoDetailList();
|
||||
Long id = projectPocInfo.getId();
|
||||
if (CollUtil.isNotEmpty(projectPocInfoDetailList)) {
|
||||
List<ProjectPocInfoDetail> addList = new ArrayList<>();
|
||||
List<ProjectPocInfoDetail> updateList = new ArrayList<>();
|
||||
projectPocInfoDetailList.forEach(projectPocInfoDetail -> {
|
||||
projectPocInfoDetail.setPocId(id);
|
||||
if (projectPocInfoDetail.getId() != null) {
|
||||
updateList.add(projectPocInfoDetail);
|
||||
} else {
|
||||
projectPocInfoDetail.setCreateBy(ShiroUtils.getUserId().toString());
|
||||
projectPocInfoDetail.setCreateTime(DateUtils.getNowDate());
|
||||
addList.add(projectPocInfoDetail);
|
||||
}
|
||||
});
|
||||
if (CollUtil.isNotEmpty(updateList)) {
|
||||
// projectPocInfoMapper.updateBatchProjectPocInfoDetail(updateList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(addList)) {
|
||||
projectPocInfoMapper.batchProjectPocInfoDetail(addList);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
t1.shipment_amount, t1.actual_purchase_amount, t1.order_end_time, t1.delivery_time, t1.company_delivery, t1.notifier,
|
||||
t1.notifier_email, t1.notifier_phone, t1.duty, t1.duty_email, t1.duty_phone, t1.order_channel, t1.partner_code, t1.supplier,
|
||||
t1.remark, t1.order_status, t1.create_by, t1.create_time, t1.update_by, t1.update_time,t1.partner_user_name,t1.partner_email,t1.partner_phone
|
||||
,t2.project_code,t2.project_name,t2.province,t2.customer_name,t2.customer_code,t2.industry_type,t2.bg_property,t2.agent_code
|
||||
,t2.project_code,t2.project_name,t2.province,t2.customer_name,t2.customer_code,t2.industry_type,t2.bg_property,t2.agent_code,t2.estimated_order_time
|
||||
,t3.partner_name,t3.level
|
||||
,t4.agent_name
|
||||
,t5.user_name as duty_name
|
||||
|
@ -90,6 +90,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="supplier != null and supplier != ''"> and t1.supplier = #{supplier}</if>
|
||||
<if test="supplier != null and supplier != ''"> and t1.supplier = #{supplier}</if>
|
||||
<if test="orderStatus != null and orderStatus != ''"> and t1.order_status = #{orderStatus}</if>
|
||||
<if test="deliveryTimeStart != null or deliveryTimeEnd != null">
|
||||
<choose>
|
||||
<when test="deliveryTimeStart != null and deliveryTimeEnd != null">
|
||||
and t1.delivery_time between date_format(#{deliveryTimeStart}, '%Y-%m-%d 00:00:00') and date_format(#{deliveryTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
<when test="deliveryTimeStart != null">
|
||||
and t1.delivery_time <![CDATA[ >= ]]> date_format(#{deliveryTimeStart}, '%Y-%m-%d 00:00:00')
|
||||
</when>
|
||||
<when test="deliveryTimeEnd != null">
|
||||
and t1.delivery_time <![CDATA[ <= ]]> date_format(#{deliveryTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
|
||||
</choose>
|
||||
</if>
|
||||
<if test="estimatedOrderTimeStart != null or estimatedOrderTimeEnd != null">
|
||||
<choose>
|
||||
<when test="estimatedOrderTimeStart != null and estimatedOrderTimeEnd != null">
|
||||
and t2.estimated_order_time between date_format(#{estimatedOrderTimeStart}, '%Y-%m-%d 00:00:00') and date_format(#{estimatedOrderTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
<when test="estimatedOrderTimeStart != null">
|
||||
and t2.estimated_order_time <![CDATA[ >= ]]> date_format(#{estimatedOrderTimeStart}, '%Y-%m-%d 00:00:00')
|
||||
</when>
|
||||
<when test="estimatedOrderTimeEnd != null">
|
||||
and t2.estimated_order_time <![CDATA[ <= ]]> date_format(#{estimatedOrderTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
|
||||
</choose>
|
||||
</if>
|
||||
<if test="orderEndTimeStart != null or orderEndTimeEnd != null">
|
||||
<choose>
|
||||
<when test="orderEndTimeStart != null and orderEndTimeEnd != null">
|
||||
and t1.order_end_time between date_format(#{orderEndTimeStart}, '%Y-%m-%d 00:00:00') and date_format(#{orderEndTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
<when test="orderEndTimeStart != null">
|
||||
and t1.order_end_time <![CDATA[ >= ]]> date_format(#{orderEndTimeStart}, '%Y-%m-%d 00:00:00')
|
||||
</when>
|
||||
<when test="orderEndTimeEnd != null">
|
||||
and t1.order_end_time <![CDATA[ <= ]]> date_format(#{orderEndTimeEnd}, '%Y-%m-%d 23:59:59')
|
||||
</when>
|
||||
|
||||
</choose>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
@ -7,54 +7,100 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<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="serverConfig" column="server_config" />
|
||||
<result property="terminalConfig" column="terminal_config" />
|
||||
<result property="operateSystem" column="operate_system" />
|
||||
<result property="vdiVersion" column="vdi_version" />
|
||||
<result property="processPerson" column="process_person" />
|
||||
<result property="processPhone" column="process_phone" />
|
||||
<result property="handlePerson" column="handle_person" />
|
||||
<result property="handlePhone" column="handle_phone" />
|
||||
<result property="hzInterfacePerson" column="hz_interface_person" />
|
||||
<result property="hzInterfacePhone" column="hz_interface_phone" />
|
||||
<result property="startDate" column="start_date" />
|
||||
<result property="h3cPerson" column="h3c_person" />
|
||||
<result property="h3cPhone" column="h3c_phone" />
|
||||
<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>
|
||||
|
||||
<resultMap id="ProjectPocInfoProjectPocInfoDetailResult" type="ProjectPocInfo" extends="ProjectPocInfoResult">
|
||||
<collection property="projectPocInfoDetailList" ofType="ProjectPocInfoDetail" column="id" select="selectProjectPocInfoDetailList" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ProjectPocInfoDetail" id="ProjectPocInfoDetailResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="pocId" column="poc_id" />
|
||||
<result property="testProgress" column="test_progress" />
|
||||
<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
|
||||
select id, project_id, server_config, terminal_config, operate_system, vdi_version, process_person, process_phone, handle_person, handle_phone, hz_interface_person, hz_interface_phone, start_date, h3c_person, h3c_phone, 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="serverConfig != null and serverConfig != ''"> and server_config = #{serverConfig}</if>
|
||||
<if test="terminalConfig != null and terminalConfig != ''"> and terminal_config = #{terminalConfig}</if>
|
||||
<if test="operateSystem != null and operateSystem != ''"> and operate_system = #{operateSystem}</if>
|
||||
<if test="vdiVersion != null and vdiVersion != ''"> and vdi_version = #{vdiVersion}</if>
|
||||
<if test="processPerson != null and processPerson != ''"> and process_person = #{processPerson}</if>
|
||||
<if test="processPhone != null and processPhone != ''"> and process_phone = #{processPhone}</if>
|
||||
<if test="handlePerson != null and handlePerson != ''"> and handle_person = #{handlePerson}</if>
|
||||
<if test="handlePhone != null and handlePhone != ''"> and handle_phone = #{handlePhone}</if>
|
||||
<if test="hzInterfacePerson != null and hzInterfacePerson != ''"> and hz_interface_person = #{hzInterfacePerson}</if>
|
||||
<if test="hzInterfacePhone != null and hzInterfacePhone != ''"> and hz_interface_phone = #{hzInterfacePhone}</if>
|
||||
<if test="startDate != null "> and start_date = #{startDate}</if>
|
||||
<if test="h3cPerson != null and h3cPerson != ''"> and h3c_person = #{h3cPerson}</if>
|
||||
<if test="h3cPhone != null and h3cPhone != ''"> and h3c_phone = #{h3cPhone}</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"/>
|
||||
<select id="selectProjectPocInfoById" parameterType="Long" resultMap="ProjectPocInfoProjectPocInfoDetailResult">
|
||||
select id, project_id, server_config, terminal_config, operate_system, vdi_version, process_person, process_phone, handle_person, handle_phone, hz_interface_person, hz_interface_phone, start_date, h3c_person, h3c_phone, plan_finish_time, real_finish_time, create_by, create_time
|
||||
from project_poc_info
|
||||
where id = #{id}
|
||||
</select>
|
||||
<select id="listByProjectId" resultType="com.ruoyi.sip.domain.ProjectPocInfo">
|
||||
|
||||
<select id="selectProjectPocInfoDetailList" resultMap="ProjectPocInfoDetailResult">
|
||||
select t1.id, t1.poc_id, t1.test_progress, t1.create_by, t1.create_time,t2.user_name as create_by_name
|
||||
from project_poc_info_detail t1
|
||||
left join sys_user t2 on t1.create_by = t2.user_id
|
||||
where t1.poc_id = #{poc_id}
|
||||
</select>
|
||||
<select id="listByProjectId" resultMap="ProjectPocInfoProjectPocInfoDetailResult">
|
||||
<include refid="selectProjectPocInfoVo"/>
|
||||
where project_id in (
|
||||
<foreach item="projectId" collection="list" separator=",">
|
||||
#{projectId}
|
||||
where project_id in
|
||||
<foreach collection="list" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</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="serverConfig != null">server_config,</if>
|
||||
<if test="terminalConfig != null">terminal_config,</if>
|
||||
<if test="operateSystem != null">operate_system,</if>
|
||||
<if test="vdiVersion != null">vdi_version,</if>
|
||||
<if test="processPerson != null">process_person,</if>
|
||||
<if test="processPhone != null">process_phone,</if>
|
||||
<if test="handlePerson != null">handle_person,</if>
|
||||
<if test="handlePhone != null">handle_phone,</if>
|
||||
<if test="hzInterfacePerson != null">hz_interface_person,</if>
|
||||
<if test="hzInterfacePhone != null">hz_interface_phone,</if>
|
||||
<if test="startDate != null">start_date,</if>
|
||||
<if test="h3cPerson != null">h3c_person,</if>
|
||||
<if test="h3cPhone != null">h3c_phone,</if>
|
||||
<if test="planFinishTime != null">plan_finish_time,</if>
|
||||
<if test="realFinishTime != null">real_finish_time,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
|
@ -62,31 +108,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</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="serverConfig != null">#{serverConfig},</if>
|
||||
<if test="terminalConfig != null">#{terminalConfig},</if>
|
||||
<if test="operateSystem != null">#{operateSystem},</if>
|
||||
<if test="vdiVersion != null">#{vdiVersion},</if>
|
||||
<if test="processPerson != null">#{processPerson},</if>
|
||||
<if test="processPhone != null">#{processPhone},</if>
|
||||
<if test="handlePerson != null">#{handlePerson},</if>
|
||||
<if test="handlePhone != null">#{handlePhone},</if>
|
||||
<if test="hzInterfacePerson != null">#{hzInterfacePerson},</if>
|
||||
<if test="hzInterfacePhone != null">#{hzInterfacePhone},</if>
|
||||
<if test="startDate != null">#{startDate},</if>
|
||||
<if test="h3cPerson != null">#{h3cPerson},</if>
|
||||
<if test="h3cPhone != null">#{h3cPhone},</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="serverConfig != null">server_config = #{serverConfig},</if>
|
||||
<if test="terminalConfig != null">terminal_config = #{terminalConfig},</if>
|
||||
<if test="operateSystem != null">operate_system = #{operateSystem},</if>
|
||||
<if test="vdiVersion != null">vdi_version = #{vdiVersion},</if>
|
||||
<if test="processPerson != null">process_person = #{processPerson},</if>
|
||||
<if test="processPhone != null">process_phone = #{processPhone},</if>
|
||||
<if test="handlePerson != null">handle_person = #{handlePerson},</if>
|
||||
<if test="handlePhone != null">handle_phone = #{handlePhone},</if>
|
||||
<if test="hzInterfacePerson != null">hz_interface_person = #{hzInterfacePerson},</if>
|
||||
<if test="hzInterfacePhone != null">hz_interface_phone = #{hzInterfacePhone},</if>
|
||||
<if test="startDate != null">start_date = #{startDate},</if>
|
||||
<if test="h3cPerson != null">h3c_person = #{h3cPerson},</if>
|
||||
<if test="h3cPhone != null">h3c_phone = #{h3cPhone},</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>
|
||||
|
@ -94,17 +152,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</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>
|
||||
<update id="updateBatchProjectPocInfoDetail">
|
||||
<foreach collection="list" item="item" close=";">
|
||||
update project_poc_info_detail
|
||||
set test_progress = #{item.testProgress}
|
||||
where id = #{item.id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
@ -119,5 +170,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteProjectPocInfoDetailByPocIds" parameterType="String">
|
||||
delete from project_poc_info_detail where poc_id in
|
||||
<foreach item="pocId" collection="array" open="(" separator="," close=")">
|
||||
#{pocId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteProjectPocInfoDetailByPocId" parameterType="Long">
|
||||
delete from project_poc_info_detail where poc_id = #{pocId}
|
||||
</delete>
|
||||
|
||||
<insert id="batchProjectPocInfoDetail">
|
||||
insert into project_poc_info_detail( id, poc_id, test_progress, create_by, create_time) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
( #{item.id}, #{item.pocId}, #{item.testProgress}, #{item.createBy}, #{item.createTime})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue