feat(project): 重构 POC测试信息功能
- 修改 POC 测试信息相关页面和接口- 新增 POC 测试进展详情功能 - 优化 POC 测试信息展示和搜索 - 重构 POC 测试信息相关数据结构master
parent
da0bde24e6
commit
1021938cb1
|
@ -70,7 +70,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.shortTd {
|
.shortTd {
|
||||||
width: 112px;
|
width: 130px;
|
||||||
}
|
}
|
||||||
.inputTd{
|
.inputTd{
|
||||||
width: 27vw;
|
width: 27vw;
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
></td>
|
></td>
|
||||||
<td>POC测试</td>
|
<td>POC测试</td>
|
||||||
<td>
|
<td>
|
||||||
<select name="countryProduct" class="form-control">
|
<select name="countryProduct" class="form-control" value="0">
|
||||||
<option value="">请选择</option>
|
<option value="">请选择</option>
|
||||||
<option value="1">是</option>
|
<option value="1">是</option>
|
||||||
<option value="0">否</option>
|
<option value="0">否</option>
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
<head>
|
<head>
|
||||||
<title>配置信息表格组件</title>
|
<head>
|
||||||
|
<th:block th:include="include :: header('修改poc测试信息')"/>
|
||||||
|
<th:block th:include="include :: datetimepicker-css"/>
|
||||||
|
</head>
|
||||||
</head>
|
</head>
|
||||||
<style>
|
<style>
|
||||||
.add-btn-div {
|
.add-btn-div {
|
||||||
|
@ -29,13 +32,185 @@
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div id="config-info-component" th:fragment="pocLog()">
|
<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>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<th:block th:include="include :: footer"/>
|
||||||
|
<th:block th:include="include :: datetimepicker-js"/>
|
||||||
|
|
||||||
<!-- JS 函数引用或内联 -->
|
<!-- JS 函数引用或内联 -->
|
||||||
<script th:inline="javascript"> /*<![CDATA[*/
|
<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 {
|
.shortTd {
|
||||||
width: 112px;
|
width: 130px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputTd {
|
.inputTd {
|
||||||
|
@ -552,11 +552,7 @@
|
||||||
`)
|
`)
|
||||||
$('#sysLog tbody').append(tr)
|
$('#sysLog tbody').append(tr)
|
||||||
})
|
})
|
||||||
let pocLog = [[${projectInfo.projectPocInfo}]];
|
|
||||||
if (pocLog) {
|
|
||||||
addPocLog(pocLog)
|
|
||||||
document.getElementById('addPocLog').setAttribute("style", "display:none")
|
|
||||||
}
|
|
||||||
changeBg()
|
changeBg()
|
||||||
$('[name="industryType"]').val([[${projectInfo.industryType}]])
|
$('[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) {
|
function addLog(data) {
|
||||||
let length = $('#workLog tbody').find('tr').length
|
let length = $('#workLog tbody').find('tr').length
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
|
|
|
@ -248,7 +248,7 @@
|
||||||
title: '汇智负责人'
|
title: '汇智负责人'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'poc',
|
field: 'POC',
|
||||||
title: 'poc'
|
title: 'poc'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,32 @@
|
||||||
.select-list li p, .select-list li label:not(.radio-box){
|
.select-list li p, .select-list li label:not(.radio-box){
|
||||||
width: 80px;
|
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>
|
</style>
|
||||||
<body class="gray-bg">
|
<body class="gray-bg">
|
||||||
<div class="container-div">
|
<div class="container-div">
|
||||||
|
@ -55,13 +81,34 @@
|
||||||
<input type="text" name="partnerName" placeholder="进货商" />
|
<input type="text" name="partnerName" placeholder="进货商" />
|
||||||
|
|
||||||
</li>
|
</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>
|
<li>
|
||||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
<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>
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<input type="hidden" name="orderByColumn"/>
|
||||||
|
<input type="hidden" name="isAsc"/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -90,7 +137,46 @@
|
||||||
var editFlag = [[${@permission.hasPermi('product:order:edit')}]];
|
var editFlag = [[${@permission.hasPermi('product:order:edit')}]];
|
||||||
var removeFlag = [[${@permission.hasPermi('product:order:remove')}]];
|
var removeFlag = [[${@permission.hasPermi('product:order:remove')}]];
|
||||||
var prefix = ctx + "project/order";
|
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() {
|
$(function() {
|
||||||
// $('#content').load(ctx + 'project/order/add');
|
// $('#content').load(ctx + 'project/order/add');
|
||||||
var urlChina = '/cnarea/select';
|
var urlChina = '/cnarea/select';
|
||||||
|
@ -139,10 +225,6 @@
|
||||||
return value?formatAmountNumber(value):'';
|
return value?formatAmountNumber(value):'';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
field: 'createTime',
|
|
||||||
title: '下单时间'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
field: 'orderStatus',
|
field: 'orderStatus',
|
||||||
title: '订单状态',
|
title: '订单状态',
|
||||||
|
@ -166,6 +248,21 @@
|
||||||
field: 'partnerName',
|
field: 'partnerName',
|
||||||
title: '进货商'
|
title: '进货商'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
field: 'deliveryTime',
|
||||||
|
title: '到货时间',
|
||||||
|
class: 'time3'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'estimatedOrderTime',
|
||||||
|
title: '下单时间',
|
||||||
|
class: 'time4'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'orderEndTime',
|
||||||
|
title: '执行单截止时间',
|
||||||
|
class: 'time5'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
@ -178,6 +275,47 @@
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
$.table.init(options);
|
$.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>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -58,8 +58,9 @@ public class ProjectOrderInfo extends BaseEntity {
|
||||||
@Excel(name = "金额")
|
@Excel(name = "金额")
|
||||||
private BigDecimal shipmentAmount;
|
private BigDecimal shipmentAmount;
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
@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;
|
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")
|
@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 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;
|
package com.ruoyi.sip.domain;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.ToString;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
@ -13,10 +13,9 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
* poc测试信息对象 project_poc_info
|
* poc测试信息对象 project_poc_info
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-06-09
|
* @date 2025-06-12
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ToString
|
|
||||||
public class ProjectPocInfo extends BaseEntity
|
public class ProjectPocInfo extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
@ -28,23 +27,59 @@ public class ProjectPocInfo extends BaseEntity
|
||||||
@Excel(name = "项目id")
|
@Excel(name = "项目id")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
/** 测试环境 */
|
/** 服务器配置 */
|
||||||
@Excel(name = "测试环境")
|
@Excel(name = "服务器配置")
|
||||||
private String testEnvironment;
|
private String serverConfig;
|
||||||
|
|
||||||
/** 测试进展 */
|
/** 终端配置 */
|
||||||
@Excel(name = "测试进展")
|
@Excel(name = "终端配置")
|
||||||
private String testProgress;
|
private String terminalConfig;
|
||||||
|
|
||||||
/** 项目成员信息 */
|
/** 操作系统 */
|
||||||
@Excel(name = "项目成员信息")
|
@Excel(name = "操作系统")
|
||||||
private String projectUserInfo;
|
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")
|
@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;
|
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")
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
@Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@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")
|
@Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
private Date realFinishTime;
|
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 java.util.List;
|
||||||
import com.ruoyi.sip.domain.ProjectPocInfo;
|
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||||
|
import com.ruoyi.sip.domain.ProjectPocInfoDetail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* poc测试信息Mapper接口
|
* poc测试信息Mapper接口
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-06-09
|
* @date 2025-06-12
|
||||||
*/
|
*/
|
||||||
public interface ProjectPocInfoMapper
|
public interface ProjectPocInfoMapper
|
||||||
{
|
{
|
||||||
|
@ -59,8 +60,32 @@ public interface ProjectPocInfoMapper
|
||||||
*/
|
*/
|
||||||
public int deleteProjectPocInfoByIds(String[] ids);
|
public int deleteProjectPocInfoByIds(String[] ids);
|
||||||
|
|
||||||
List<ProjectPocInfo> listByProjectId(List<Long> projectId);
|
/**
|
||||||
|
* 批量删除${subTable.functionName}
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteProjectPocInfoDetailByPocIds(String[] ids);
|
||||||
|
|
||||||
void insertBatch(List<ProjectPocInfo> addList);
|
/**
|
||||||
void updateBatch(List<ProjectPocInfo> addList);
|
* 批量新增${subTable.functionName}
|
||||||
|
*
|
||||||
|
* @param projectPocInfoDetailList ${subTable.functionName}列表
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int batchProjectPocInfoDetail(List<ProjectPocInfoDetail> projectPocInfoDetailList);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过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接口
|
* poc测试信息Service接口
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-06-09
|
* @date 2025-06-12
|
||||||
*/
|
*/
|
||||||
public interface IProjectPocInfoService
|
public interface IProjectPocInfoService
|
||||||
{
|
{
|
||||||
|
@ -41,7 +41,7 @@ public interface IProjectPocInfoService
|
||||||
* @param projectPocInfo poc测试信息
|
* @param projectPocInfo poc测试信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int updateProjectPocInfo(ProjectPocInfo projectPocInfo);
|
public int saveProjectPocInfo(ProjectPocInfo projectPocInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除poc测试信息
|
* 批量删除poc测试信息
|
||||||
|
@ -59,9 +59,6 @@ public interface IProjectPocInfoService
|
||||||
*/
|
*/
|
||||||
public int deleteProjectPocInfoById(Long id);
|
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())) {
|
if (CollUtil.isNotEmpty(projectInfo.getCompetitorList())) {
|
||||||
projectInfo.setCompetitor(projectInfo.getCompetitorList().stream().filter(StringUtils::isNotEmpty).collect(Collectors.joining(",")));
|
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);
|
int i = projectInfoMapper.insertProjectInfo(projectInfo);
|
||||||
saveOtherInfo(projectInfo);
|
saveOtherInfo(projectInfo);
|
||||||
return i;
|
return i;
|
||||||
|
@ -185,7 +188,7 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
ProjectPocInfo projectPocInfo = projectInfo1.getProjectPocInfo();
|
ProjectPocInfo projectPocInfo = projectInfo1.getProjectPocInfo();
|
||||||
if (projectPocInfo != null) {
|
if (projectPocInfo != null) {
|
||||||
projectPocInfo.setProjectId(projectInfo1.getId());
|
projectPocInfo.setProjectId(projectInfo1.getId());
|
||||||
pocInfoService.saveBatch(Collections.singletonList(projectPocInfo));
|
pocInfoService.saveProjectPocInfo(projectPocInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -223,6 +226,9 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
if (changeWork) {
|
if (changeWork) {
|
||||||
projectInfo.setUpdateTime(DateUtils.getNowDate());
|
projectInfo.setUpdateTime(DateUtils.getNowDate());
|
||||||
}
|
}
|
||||||
|
if (projectInfo.getProjectPocInfo()!=null && CollUtil.isNotEmpty(projectInfo.getProjectPocInfo().getProjectPocInfoDetailList())){
|
||||||
|
projectInfo.setPoc("1");
|
||||||
|
}
|
||||||
int result = projectInfoMapper.updateProjectInfo(projectInfo);
|
int result = projectInfoMapper.updateProjectInfo(projectInfo);
|
||||||
//变更其它信息
|
//变更其它信息
|
||||||
saveOtherInfo(projectInfo);
|
saveOtherInfo(projectInfo);
|
||||||
|
@ -340,12 +346,21 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
||||||
return ++index;
|
return ++index;
|
||||||
}
|
}
|
||||||
if (oldInfo != null) {
|
if (oldInfo != null) {
|
||||||
index=compareField(logContent, index, "POC记录测试环境", oldInfo.getTestEnvironment(), info.getTestEnvironment());
|
index=compareField(logContent, index, "POC服务器配置", oldInfo.getServerConfig(), info.getServerConfig());
|
||||||
index=compareField(logContent, index, "POC记录测试进展", oldInfo.getTestProgress(), info.getTestProgress());
|
index=compareField(logContent, index, "POC云桌面版本", oldInfo.getVdiVersion(), info.getVdiVersion());
|
||||||
index=compareField(logContent, index, "POC记录项目成员信息", oldInfo.getProjectUserInfo(), info.getProjectUserInfo());
|
index=compareField(logContent, index, "POC配置终端", oldInfo.getTerminalConfig(), info.getTerminalConfig());
|
||||||
index=compareField(logContent, index, "POC记录启动日期", formatterDate(oldInfo.getStartDate()), formatterDate(info.getStartDate()));
|
index=compareField(logContent, index, "POC操作系统", oldInfo.getOperateSystem(), info.getOperateSystem());
|
||||||
index=compareField(logContent, index, "POC记录预计完成日期", formatterDate(oldInfo.getPlanFinishTime()), formatterDate(info.getPlanFinishTime()));
|
index=compareField(logContent, index, "POC H3C接口人", oldInfo.getH3cPerson(), info.getH3cPerson());
|
||||||
index=compareField(logContent, index, "POC记录实际完成日期", formatterDate(oldInfo.getRealFinishTime()), formatterDate(info.getRealFinishTime()));
|
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;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,19 @@ package com.ruoyi.sip.service.impl;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.ruoyi.common.utils.ShiroUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
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.mapper.ProjectPocInfoMapper;
|
||||||
import com.ruoyi.sip.domain.ProjectPocInfo;
|
import com.ruoyi.sip.domain.ProjectPocInfo;
|
||||||
import com.ruoyi.sip.service.IProjectPocInfoService;
|
import com.ruoyi.sip.service.IProjectPocInfoService;
|
||||||
|
@ -17,7 +24,7 @@ import com.ruoyi.common.core.text.Convert;
|
||||||
* poc测试信息Service业务层处理
|
* poc测试信息Service业务层处理
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-06-09
|
* @date 2025-06-12
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||||
|
@ -55,11 +62,14 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||||
* @param projectPocInfo poc测试信息
|
* @param projectPocInfo poc测试信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo)
|
public int insertProjectPocInfo(ProjectPocInfo projectPocInfo)
|
||||||
{
|
{
|
||||||
projectPocInfo.setCreateTime(DateUtils.getNowDate());
|
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测试信息
|
* @param projectPocInfo poc测试信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional
|
||||||
@Override
|
@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);
|
return projectPocInfoMapper.updateProjectPocInfo(projectPocInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,9 +98,11 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||||
* @param ids 需要删除的poc测试信息主键
|
* @param ids 需要删除的poc测试信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public int deleteProjectPocInfoByIds(String ids)
|
public int deleteProjectPocInfoByIds(String ids)
|
||||||
{
|
{
|
||||||
|
projectPocInfoMapper.deleteProjectPocInfoDetailByPocIds(Convert.toStrArray(ids));
|
||||||
return projectPocInfoMapper.deleteProjectPocInfoByIds(Convert.toStrArray(ids));
|
return projectPocInfoMapper.deleteProjectPocInfoByIds(Convert.toStrArray(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,29 +112,49 @@ public class ProjectPocInfoServiceImpl implements IProjectPocInfoService
|
||||||
* @param id poc测试信息主键
|
* @param id poc测试信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public int deleteProjectPocInfoById(Long id)
|
public int deleteProjectPocInfoById(Long id)
|
||||||
{
|
{
|
||||||
|
projectPocInfoMapper.deleteProjectPocInfoDetailByPocId(id);
|
||||||
return projectPocInfoMapper.deleteProjectPocInfoById(id);
|
return projectPocInfoMapper.deleteProjectPocInfoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProjectPocInfo> listByProjectId(List<Long> projectId) {
|
public List<ProjectPocInfo> listByProjectId(List<Long> longs) {
|
||||||
return projectPocInfoMapper.listByProjectId(projectId);
|
return projectPocInfoMapper.listByProjectId(longs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
public void saveBatch(List<ProjectPocInfo> projectPocInfos) {
|
* 新增${subTable.functionName}信息
|
||||||
if (CollUtil.isEmpty(projectPocInfos)){
|
*
|
||||||
return;
|
* @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);
|
||||||
}
|
}
|
||||||
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(updateList)) {
|
||||||
if (CollUtil.isNotEmpty(addList)){
|
// projectPocInfoMapper.updateBatchProjectPocInfoDetail(updateList);
|
||||||
projectPocInfoMapper.insertBatch(addList);
|
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(updateList)){
|
if (CollUtil.isNotEmpty(addList)) {
|
||||||
projectPocInfoMapper.updateBatch(updateList);
|
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.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.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
|
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
|
,t3.partner_name,t3.level
|
||||||
,t4.agent_name
|
,t4.agent_name
|
||||||
,t5.user_name as duty_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="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="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>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -7,54 +7,100 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<resultMap type="ProjectPocInfo" id="ProjectPocInfoResult">
|
<resultMap type="ProjectPocInfo" id="ProjectPocInfoResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="projectId" column="project_id" />
|
<result property="projectId" column="project_id" />
|
||||||
<result property="testEnvironment" column="test_environment" />
|
<result property="serverConfig" column="server_config" />
|
||||||
<result property="testProgress" column="test_progress" />
|
<result property="terminalConfig" column="terminal_config" />
|
||||||
<result property="projectUserInfo" column="project_user_info" />
|
<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="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="planFinishTime" column="plan_finish_time" />
|
||||||
<result property="realFinishTime" column="real_finish_time" />
|
<result property="realFinishTime" column="real_finish_time" />
|
||||||
<result property="createBy" column="create_by" />
|
<result property="createBy" column="create_by" />
|
||||||
<result property="createTime" column="create_time" />
|
<result property="createTime" column="create_time" />
|
||||||
</resultMap>
|
</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">
|
<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>
|
</sql>
|
||||||
|
|
||||||
<select id="selectProjectPocInfoList" parameterType="ProjectPocInfo" resultMap="ProjectPocInfoResult">
|
<select id="selectProjectPocInfoList" parameterType="ProjectPocInfo" resultMap="ProjectPocInfoResult">
|
||||||
<include refid="selectProjectPocInfoVo"/>
|
<include refid="selectProjectPocInfoVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="projectId != null "> and project_id = #{projectId}</if>
|
<if test="projectId != null "> and project_id = #{projectId}</if>
|
||||||
<if test="testEnvironment != null and testEnvironment != ''"> and test_environment = #{testEnvironment}</if>
|
<if test="serverConfig != null and serverConfig != ''"> and server_config = #{serverConfig}</if>
|
||||||
<if test="testProgress != null and testProgress != ''"> and test_progress = #{testProgress}</if>
|
<if test="terminalConfig != null and terminalConfig != ''"> and terminal_config = #{terminalConfig}</if>
|
||||||
<if test="projectUserInfo != null and projectUserInfo != ''"> and project_user_info = #{projectUserInfo}</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="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="planFinishTime != null "> and plan_finish_time = #{planFinishTime}</if>
|
||||||
<if test="realFinishTime != null "> and real_finish_time = #{realFinishTime}</if>
|
<if test="realFinishTime != null "> and real_finish_time = #{realFinishTime}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectProjectPocInfoById" parameterType="Long" resultMap="ProjectPocInfoResult">
|
<select id="selectProjectPocInfoById" parameterType="Long" resultMap="ProjectPocInfoProjectPocInfoDetailResult">
|
||||||
<include refid="selectProjectPocInfoVo"/>
|
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}
|
where id = #{id}
|
||||||
</select>
|
</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"/>
|
<include refid="selectProjectPocInfoVo"/>
|
||||||
where project_id in (
|
where project_id in
|
||||||
<foreach item="projectId" collection="list" separator=",">
|
<foreach collection="list" item="item" separator="," open="(" close=")">
|
||||||
#{projectId}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertProjectPocInfo" parameterType="ProjectPocInfo" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertProjectPocInfo" parameterType="ProjectPocInfo" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into project_poc_info
|
insert into project_poc_info
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="projectId != null">project_id,</if>
|
<if test="projectId != null">project_id,</if>
|
||||||
<if test="testEnvironment != null">test_environment,</if>
|
<if test="serverConfig != null">server_config,</if>
|
||||||
<if test="testProgress != null">test_progress,</if>
|
<if test="terminalConfig != null">terminal_config,</if>
|
||||||
<if test="projectUserInfo != null">project_user_info,</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="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="planFinishTime != null">plan_finish_time,</if>
|
||||||
<if test="realFinishTime != null">real_finish_time,</if>
|
<if test="realFinishTime != null">real_finish_time,</if>
|
||||||
<if test="createBy != null">create_by,</if>
|
<if test="createBy != null">create_by,</if>
|
||||||
|
@ -62,31 +108,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="projectId != null">#{projectId},</if>
|
<if test="projectId != null">#{projectId},</if>
|
||||||
<if test="testEnvironment != null">#{testEnvironment},</if>
|
<if test="serverConfig != null">#{serverConfig},</if>
|
||||||
<if test="testProgress != null">#{testProgress},</if>
|
<if test="terminalConfig != null">#{terminalConfig},</if>
|
||||||
<if test="projectUserInfo != null">#{projectUserInfo},</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="startDate != null">#{startDate},</if>
|
||||||
|
<if test="h3cPerson != null">#{h3cPerson},</if>
|
||||||
|
<if test="h3cPhone != null">#{h3cPhone},</if>
|
||||||
<if test="planFinishTime != null">#{planFinishTime},</if>
|
<if test="planFinishTime != null">#{planFinishTime},</if>
|
||||||
<if test="realFinishTime != null">#{realFinishTime},</if>
|
<if test="realFinishTime != null">#{realFinishTime},</if>
|
||||||
<if test="createBy != null">#{createBy},</if>
|
<if test="createBy != null">#{createBy},</if>
|
||||||
<if test="createTime != null">#{createTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</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 id="updateProjectPocInfo" parameterType="ProjectPocInfo">
|
||||||
update project_poc_info
|
update project_poc_info
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="projectId != null">project_id = #{projectId},</if>
|
<if test="projectId != null">project_id = #{projectId},</if>
|
||||||
<if test="testEnvironment != null">test_environment = #{testEnvironment},</if>
|
<if test="serverConfig != null">server_config = #{serverConfig},</if>
|
||||||
<if test="testProgress != null">test_progress = #{testProgress},</if>
|
<if test="terminalConfig != null">terminal_config = #{terminalConfig},</if>
|
||||||
<if test="projectUserInfo != null">project_user_info = #{projectUserInfo},</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="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="planFinishTime != null">plan_finish_time = #{planFinishTime},</if>
|
||||||
<if test="realFinishTime != null">real_finish_time = #{realFinishTime},</if>
|
<if test="realFinishTime != null">real_finish_time = #{realFinishTime},</if>
|
||||||
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
@ -94,17 +152,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
<update id="updateBatch">
|
<update id="updateBatchProjectPocInfoDetail">
|
||||||
<foreach collection="list" item="item" index="index" separator=";">
|
<foreach collection="list" item="item" close=";">
|
||||||
update project_poc_info
|
update project_poc_info_detail
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
set test_progress = #{item.testProgress}
|
||||||
<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}
|
where id = #{item.id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
@ -120,4 +171,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</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>
|
</mapper>
|
Loading…
Reference in New Issue