dev_xds
haha 2023-10-16 19:44:58 +08:00
commit 190e6b8bc5
15 changed files with 2371 additions and 11 deletions

View File

@ -0,0 +1,53 @@
import request from '@/utils/request'
// 查询随手拍问题整改质量留痕信息列表
export function listSmzSspProblemmodifyDraft(query) {
return request({
url: '/trouble/smzSspProblemmodifyDraft/list',
method: 'get',
params: query
})
}
// 查询随手拍问题整改质量留痕信息详细
export function getSmzSspProblemmodifyDraft(id) {
return request({
url: '/trouble/smzSspProblemmodifyDraft/' + id,
method: 'get'
})
}
// 新增随手拍问题整改质量留痕信息
export function addSmzSspProblemmodifyDraft(data) {
return request({
url: '/trouble/smzSspProblemmodifyDraft',
method: 'post',
data: data
})
}
// 新增随手拍问题整改质量留痕信息
export function batchUpdateSmzSspProblemmodifyDraft(data) {
return request({
url: '/trouble/smzSspProblemmodifyDraft/batchUpdate',
method: 'post',
data: data
})
}
// 修改随手拍问题整改质量留痕信息
export function updateSmzSspProblemmodifyDraft(data) {
return request({
url: '/trouble/smzSspProblemmodifyDraft',
method: 'put',
data: data
})
}
// 删除随手拍问题整改质量留痕信息
export function delSmzSspProblemmodifyDraft(id) {
return request({
url: '/trouble/smzSspProblemmodifyDraft/' + id,
method: 'delete'
})
}

View File

@ -25,7 +25,7 @@
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item label="流程类型" prop="category">
<el-select
v-model="queryParams.category"
@ -186,7 +186,7 @@ export default {
},
daterangeCheckTime:[],
showPro:false,
projectOptions: null,
projectOptions: [],
};
},
created() {

View File

@ -16,8 +16,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分类" prop="createUser">
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择分类" clearable collapse-tags>
<el-form-item label="隐患分类" prop="createUser">
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择隐患分类" clearable collapse-tags>
<el-option
v-for="dict in roleTypeOpts"
:key="dict.value"

View File

@ -0,0 +1,533 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="所属项目" prop="projectId" v-if="showPro">
<el-select
v-model="queryParams.projectId"
placeholder="请选择所属项目"
filterable
clearable
>
<el-option
v-for="(item, index) in projectOptions"
:key="index"
:label="item.projectName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="责任主体" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
<el-select v-model="queryParams.deptId" placeholder="请选择责任主体" clearable>
<el-option
v-for="dict in projectDeptOptions"
:key="dict.deptId"
:label="dict.deptName"
:value="dict.deptId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="问题分类" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
<el-select v-model="queryParams.roleTypes" placeholder="请选择问题分类" clearable>
<el-option
v-for="dict in roleTypeOpts"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="整改人" prop="lordSent">
<el-input
v-model="queryParams.lordSent"
placeholder="请输入整改人姓名/联系方式"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button type="success" icon="el-icon-finished" size="mini" @click="batchSubmitForm" :disabled="multiple" >批量提交</el-button>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-table v-loading="loading" :data="smzSspProblemmodifyDraftList" :row-class-name="rowIndex" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center"/>
<el-table-column label="序号" align="center" prop="index" width="50"/>
<el-table-column label="问题图片" align="center" prop="smarkUrl" width="240">
<template slot-scope="scope">
<image-upload v-model="scope.row.smarkUrl" :limit="9" :isShowTip="false" />
</template>
</el-table-column>
<el-table-column label="所属项目" align="center" prop="problemArea" width="150"/>
<el-table-column label="隐患类型" align="center" prop="dangerType" width="170">
<template slot-scope="scope">
<el-select
v-if="scope.row.infoType==1"
v-model="scope.row.dangerType"
placeholder="请选择隐患类型"
>
<el-option
v-for="dict in dict.type.ssp_zlyhlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
<el-select
v-if="scope.row.infoType==0"
v-model="scope.row.dangerType"
placeholder="请选择隐患类型"
>
<el-option
v-for="dict in dict.type.ssp_aqyhlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="施工部位" align="center" prop="workParts" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.workParts" placeholder="请输入施工部位" type="textarea" :rows="3"/>
</template>
</el-table-column>
<el-table-column label="整改要求" align="center" prop="changeInfo" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.changeInfo" placeholder="请输入整改要求" type="textarea" :rows="3"/>
</template>
</el-table-column>
<el-table-column label="问题人员" align="center" prop="lordSentUser" width="260">
<template slot-scope="scope">
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">整改人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.lordSentUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectLordSentUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">抄送人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.copySendUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectCopySendUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">复检人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.recheckSendUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectRecheckSendUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="180">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.nickedTime"
type="date"
value-format="yyyy-MM-dd HH:ss"
placeholder="选择截至时间" style="width:160px;">
</el-date-picker>
</template>
</el-table-column>
<el-table-column label="草稿信息" align="left" prop="createUser" width="180">
<template slot-scope="scope">
<div><i class="el-icon-user"></i>{{scope.row.createUserName}}</div>
<div><i class="el-icon-phone-outline"></i>{{scope.row.createUser}}</div>
<div><el-tag type="info">{{scope.row.createUserDeptName}}</el-tag></div>
<div><i class="el-icon-alarm-clock"></i>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="70">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="submitForm(scope.row)"
v-hasPermi="['trouble:smzSspProblemmodifyDraft:edit']"
>提交</el-button>
<el-button
class="bt2"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['trouble:smzSspProblemmodifyDraft:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { listSmzSspProblemmodifyDraft, updateSmzSspProblemmodifyDraft, batchUpdateSmzSspProblemmodifyDraft, delSmzSspProblemmodifyDraft } from "@/api/trouble/smzSspProblemmodifyDraft";
export default {
name: "SmzSspProblemmodifyDraft",
dicts: ["ssp_zlyhlx", "ssp_aqyhlx"],
data() {
return {
//
loading: true,
//
ids: [],
//
indexs: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
smzSspProblemmodifyDraftList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 50,
projectId: null,
infoType: "0",
lordSent: null,
roleType: null,
projectDeptId: null,
},
//
form: {},
//
rules: {
},
roleTypeOpts:[
{label:'集团',value:3},
{label:'子公司',value:4},
{label:'甲方代表',value:5},
{label:'监理单位',value:6},
{label:'总包单位',value:7}
],
showPro:false,
projectOptions: [],
projectDeptOptions:[],
projectIds:[],
projectUnitUsers:[],
};
},
created() {
this.getList();
this.initMyProject();
this.$api.publics.getZgsDeptList().then((d) => {
this.projectDeptOptions = d?.data || [];
});
},
methods: {
//
initMyProject() {
//
this.$api.publics.getMyProjectList({}).then((response) => {
this.projectOptions = response.rows;
if (response.rows.length > 1) {
this.showPro = true;
}
});
},
/** 查询随手拍问题整改质量留痕信息列表 */
getList() {
this.loading = true;
listSmzSspProblemmodifyDraft(this.queryParams).then(response => {
response.rows.forEach(row => {
if(!this.projectIds.includes(row.projectId)){
this.projectIds.push(row.projectId);
}
});
this.projectIds.forEach(proj => {
this.$api.publics.selectProjectAllUnitUser({projectId: proj})
.then((d) => {
this.projectUnitUsers.push({projectId:proj,data:d.data});
});
})
this.smzSspProblemmodifyDraftList = response.rows;
this.total = response.total;
this.loading = false;
});
},
findProjectAllUnitUser(projectId){
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==projectId){
return this.projectUnitUsers[i].data;
}
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.indexs = selection.map(item => item.index)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 提交按钮 */
submitForm(row) {
if(!row.smarkUrl){
this.$message.error("请上传隐患图片!");
return false;
}
if(!row.dangerType){
this.$message.error("请选择隐患类型!");
return false;
}
if(!row.workParts){
this.$message.error("请输入施工部位!");
return false;
}
if(!row.changeInfo){
this.$message.error("请输入整改要求!");
return false;
}
if(!row.lordSent || !row.lordSentUser){
this.$message.error("请选择整改人!");
return false;
}
if(!row.copySend || !row.copySendUser){
this.$message.error("请选择抄送人!");
return false;
}
if(!row.recheckSend || !row.recheckSendUser){
this.$message.error("请选择复检人!");
return false;
}
if(!row.nickedTime){
row.nickedTime = row.nickedTime+" 23:59"
this.$message.error("请选择整改截至时间!");
return false;
}
if(row.lordSent==row.copySend){
this.$message.error("整改人和抄送人不能是同一人!");
return false;
}
if(row.lordSent==row.recheckSend){
this.$message.error("整改人和复检人不能是同一人!");
return false;
}
this.loading = true;
updateSmzSspProblemmodifyDraft(row).then(response => {
this.$modal.msgSuccess("提交成功!");
this.loading = false;
this.getList();
});
},
/** 批量提交按钮 */
batchSubmitForm() {
let indexs = this.indexs;
let rows = [];
for(let i=0;i<indexs.length;i++){
let row = this.smzSspProblemmodifyDraftList[(indexs[i]-1)];
if(!row.smarkUrl){
this.$message.error("请上传隐患图片!");
return false;
}
if(!row.dangerType){
this.$message.error("请选择隐患类型!");
return false;
}
if(!row.workParts){
this.$message.error("请输入施工部位!");
return false;
}
if(!row.changeInfo){
this.$message.error("请输入整改要求!");
return false;
}
if(!row.lordSent || !row.lordSentUser){
this.$message.error("请选择整改人!");
return false;
}
if(!row.copySend || !row.copySendUser){
this.$message.error("请选择抄送人!");
return false;
}
if(!row.recheckSend || !row.recheckSendUser){
this.$message.error("请选择复检人!");
return false;
}
if(!row.nickedTime || !row.nickedTime){
this.$message.error("请选择整改截至时间!");
return false;
}
if(row.lordSent==row.copySend){
this.$message.error("整改人和抄送人不能是同一人!");
return false;
}
if(row.lordSent==row.recheckSend){
this.$message.error("整改人和复检人不能是同一人!");
return false;
}
rows.push(row);
}
this.loading = true;
batchUpdateSmzSspProblemmodifyDraft(row).then(response => {
this.$modal.msgSuccess("提交成功!");
this.loading = false;
this.getList();
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const indexs = row.index || this.index;
this.$modal.confirm('是否确认删除隐患问题编号为"' + indexs + '"的数据项?').then(function() {
return delSmzSspProblemmodifyDraft(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 行内序号 */
rowIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
selectLordSentUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.lordSent = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
},
selectCopySendUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.copySendUser
row.copySend = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
},
selectRecheckSendUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.recheckSend = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
}
}
};
</script>
<style lang="scss">
.el-upload--picture-card{
width: 100px !important;
height: 100px !important;
line-height: 100px !important;
}
.el-upload-list--picture-card .el-upload-list__item{
width: 100px !important;
height: 100px !important;
}
.bt2{
padding-left: 0px !important;
margin-left: 0px !important;
}
</style>

View File

@ -16,8 +16,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分类" prop="createUser">
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择分类" clearable collapse-tags>
<el-form-item label="隐患分类" prop="createUser">
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择隐患分类" clearable collapse-tags>
<el-option
v-for="dict in roleTypeOpts"
:key="dict.value"

View File

@ -0,0 +1,533 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="所属项目" prop="projectId" v-if="showPro">
<el-select
v-model="queryParams.projectId"
placeholder="请选择所属项目"
filterable
clearable
>
<el-option
v-for="(item, index) in projectOptions"
:key="index"
:label="item.projectName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="责任主体" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
<el-select v-model="queryParams.deptId" placeholder="请选择责任主体" clearable>
<el-option
v-for="dict in projectDeptOptions"
:key="dict.deptId"
:label="dict.deptName"
:value="dict.deptId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="问题分类" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
<el-select v-model="queryParams.roleTypes" placeholder="请选择问题分类" clearable>
<el-option
v-for="dict in roleTypeOpts"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="整改人" prop="lordSent">
<el-input
v-model="queryParams.lordSent"
placeholder="请输入整改人姓名/联系方式"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button type="success" icon="el-icon-finished" size="mini" @click="batchSubmitForm" :disabled="multiple" >批量提交</el-button>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-table v-loading="loading" :data="smzSspProblemmodifyDraftList" :row-class-name="rowIndex" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center"/>
<el-table-column label="序号" align="center" prop="index" width="50"/>
<el-table-column label="问题图片" align="center" prop="smarkUrl" width="240">
<template slot-scope="scope">
<image-upload v-model="scope.row.smarkUrl" :limit="9" :isShowTip="false" />
</template>
</el-table-column>
<el-table-column label="所属项目" align="center" prop="problemArea" width="150"/>
<el-table-column label="隐患类型" align="center" prop="dangerType" width="170">
<template slot-scope="scope">
<el-select
v-if="scope.row.infoType==1"
v-model="scope.row.dangerType"
placeholder="请选择隐患类型"
>
<el-option
v-for="dict in dict.type.ssp_zlyhlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
<el-select
v-if="scope.row.infoType==0"
v-model="scope.row.dangerType"
placeholder="请选择隐患类型"
>
<el-option
v-for="dict in dict.type.ssp_aqyhlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="施工部位" align="center" prop="workParts" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.workParts" placeholder="请输入施工部位" type="textarea" :rows="3"/>
</template>
</el-table-column>
<el-table-column label="整改要求" align="center" prop="changeInfo" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.changeInfo" placeholder="请输入整改要求" type="textarea" :rows="3"/>
</template>
</el-table-column>
<el-table-column label="问题人员" align="center" prop="lordSentUser" width="260">
<template slot-scope="scope">
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">整改人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.lordSentUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectLordSentUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">抄送人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.copySendUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectCopySendUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
<el-row style="line-height: 36px;margin-bottom: 5px;">
<el-col :span="6">复检人</el-col>
<el-col :span="18">
<el-select
v-model="scope.row.recheckSendUser"
placeholder="请选择整改人"
style="width: 100%"
@change="selectRecheckSendUser($event,scope.row)"
>
<el-option-group
v-for="group in findProjectAllUnitUser(scope.row.projectId)"
:key="group.unitId + ''"
:label="group.unitName + ' [' + group.unitTypeName + '] '"
>
<el-option
v-for="item in group.userinfoList"
:key="item.phonenumber"
:label="item.nickName + ' [' + item.jobTypeName + '] '"
:value="item.phonenumber"
>
</el-option>
</el-option-group>
</el-select>
</el-col>
</el-row>
</template>
</el-table-column>
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="180">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.nickedTime"
type="date"
value-format="yyyy-MM-dd HH:ss"
placeholder="选择截至时间" style="width:160px;">
</el-date-picker>
</template>
</el-table-column>
<el-table-column label="草稿信息" align="left" prop="createUser" width="180">
<template slot-scope="scope">
<div><i class="el-icon-user"></i>{{scope.row.createUserName}}</div>
<div><i class="el-icon-phone-outline"></i>{{scope.row.createUser}}</div>
<div><el-tag type="info">{{scope.row.createUserDeptName}}</el-tag></div>
<div><i class="el-icon-alarm-clock"></i>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="70">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="submitForm(scope.row)"
v-hasPermi="['trouble:smzSspProblemmodifyDraft:edit']"
>提交</el-button>
<el-button
class="bt2"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['trouble:smzSspProblemmodifyDraft:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { listSmzSspProblemmodifyDraft, updateSmzSspProblemmodifyDraft, batchUpdateSmzSspProblemmodifyDraft, delSmzSspProblemmodifyDraft } from "@/api/trouble/smzSspProblemmodifyDraft";
export default {
name: "SmzSspProblemmodifyDraft",
dicts: ["ssp_zlyhlx", "ssp_aqyhlx"],
data() {
return {
//
loading: true,
//
ids: [],
//
indexs: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
smzSspProblemmodifyDraftList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 50,
projectId: null,
infoType: "1",
lordSent: null,
roleType: null,
projectDeptId: null,
},
//
form: {},
//
rules: {
},
roleTypeOpts:[
{label:'集团',value:3},
{label:'子公司',value:4},
{label:'甲方代表',value:5},
{label:'监理单位',value:6},
{label:'总包单位',value:7}
],
showPro:false,
projectOptions: [],
projectDeptOptions:[],
projectIds:[],
projectUnitUsers:[],
};
},
created() {
this.getList();
this.initMyProject();
this.$api.publics.getZgsDeptList().then((d) => {
this.projectDeptOptions = d?.data || [];
});
},
methods: {
//
initMyProject() {
//
this.$api.publics.getMyProjectList({}).then((response) => {
this.projectOptions = response.rows;
if (response.rows.length > 1) {
this.showPro = true;
}
});
},
/** 查询随手拍问题整改质量留痕信息列表 */
getList() {
this.loading = true;
listSmzSspProblemmodifyDraft(this.queryParams).then(response => {
response.rows.forEach(row => {
if(!this.projectIds.includes(row.projectId)){
this.projectIds.push(row.projectId);
}
});
this.projectIds.forEach(proj => {
this.$api.publics.selectProjectAllUnitUser({projectId: proj})
.then((d) => {
this.projectUnitUsers.push({projectId:proj,data:d.data});
});
})
this.smzSspProblemmodifyDraftList = response.rows;
this.total = response.total;
this.loading = false;
});
},
findProjectAllUnitUser(projectId){
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==projectId){
return this.projectUnitUsers[i].data;
}
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.indexs = selection.map(item => item.index)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 提交按钮 */
submitForm(row) {
if(!row.smarkUrl){
this.$message.error("请上传隐患图片!");
return false;
}
if(!row.dangerType){
this.$message.error("请选择隐患类型!");
return false;
}
if(!row.workParts){
this.$message.error("请输入施工部位!");
return false;
}
if(!row.changeInfo){
this.$message.error("请输入整改要求!");
return false;
}
if(!row.lordSent || !row.lordSentUser){
this.$message.error("请选择整改人!");
return false;
}
if(!row.copySend || !row.copySendUser){
this.$message.error("请选择抄送人!");
return false;
}
if(!row.recheckSend || !row.recheckSendUser){
this.$message.error("请选择复检人!");
return false;
}
if(!row.nickedTime){
row.nickedTime = row.nickedTime+" 23:59"
this.$message.error("请选择整改截至时间!");
return false;
}
if(row.lordSent==row.copySend){
this.$message.error("整改人和抄送人不能是同一人!");
return false;
}
if(row.lordSent==row.recheckSend){
this.$message.error("整改人和复检人不能是同一人!");
return false;
}
this.loading = true;
updateSmzSspProblemmodifyDraft(row).then(response => {
this.$modal.msgSuccess("提交成功!");
this.loading = false;
this.getList();
});
},
/** 批量提交按钮 */
batchSubmitForm() {
let indexs = this.indexs;
let rows = [];
for(let i=0;i<indexs.length;i++){
let row = this.smzSspProblemmodifyDraftList[(indexs[i]-1)];
if(!row.smarkUrl){
this.$message.error("请上传隐患图片!");
return false;
}
if(!row.dangerType){
this.$message.error("请选择隐患类型!");
return false;
}
if(!row.workParts){
this.$message.error("请输入施工部位!");
return false;
}
if(!row.changeInfo){
this.$message.error("请输入整改要求!");
return false;
}
if(!row.lordSent || !row.lordSentUser){
this.$message.error("请选择整改人!");
return false;
}
if(!row.copySend || !row.copySendUser){
this.$message.error("请选择抄送人!");
return false;
}
if(!row.recheckSend || !row.recheckSendUser){
this.$message.error("请选择复检人!");
return false;
}
if(!row.nickedTime || !row.nickedTime){
this.$message.error("请选择整改截至时间!");
return false;
}
if(row.lordSent==row.copySend){
this.$message.error("整改人和抄送人不能是同一人!");
return false;
}
if(row.lordSent==row.recheckSend){
this.$message.error("整改人和复检人不能是同一人!");
return false;
}
rows.push(row);
}
this.loading = true;
batchUpdateSmzSspProblemmodifyDraft(row).then(response => {
this.$modal.msgSuccess("提交成功!");
this.loading = false;
this.getList();
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const indexs = row.index || this.index;
this.$modal.confirm('是否确认删除隐患问题编号为"' + indexs + '"的数据项?').then(function() {
return delSmzSspProblemmodifyDraft(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 行内序号 */
rowIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
selectLordSentUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.lordSent = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
},
selectCopySendUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.copySendUser
row.copySend = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
},
selectRecheckSendUser(val,row){
let data=[];
for(let i=0;i<this.projectUnitUsers.length;i++){
if(this.projectUnitUsers[i].projectId==row.projectId){
data = this.projectUnitUsers[i].data;
}
}
data.forEach((item) => {
item.userinfoList.forEach((u) => {
if (u.phonenumber == val) {
row.recheckSend = u.nickName + " [" + u.jobTypeName + "] ";
}
});
});
}
}
};
</script>
<style lang="scss">
.el-upload--picture-card{
width: 100px !important;
height: 100px !important;
line-height: 100px !important;
}
.el-upload-list--picture-card .el-upload-list__item{
width: 100px !important;
height: 100px !important;
}
.bt2{
padding-left: 0px !important;
margin-left: 0px !important;
}
</style>

View File

@ -9,12 +9,16 @@ import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.system.service.ISysDictDataService;
import com.yanzhu.jh.trouble.domain.SmzSspAuditinfo;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodify;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodifyDraft;
import com.yanzhu.jh.trouble.domain.where.SmzSspProblemmodifyWhere;
import com.yanzhu.jh.trouble.service.ISmzSspAuditinfoService;
import com.yanzhu.jh.trouble.service.ISmzSspProblemmodifyDraftService;
import com.yanzhu.jh.trouble.service.ISmzSspProblemmodifyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @version : V1.0
* @ClassName: ProjectProblemmodifyController
@ -35,6 +39,9 @@ public class ProjectProblemmodifyController extends BaseController {
@Autowired
ISmzSspProblemmodifyService smzSspProblemmodifyService;
@Autowired
ISmzSspProblemmodifyDraftService smzSspProblemmodifyDraftService;
/**
*
* @param smzSspProblemmodify
@ -98,6 +105,17 @@ public class ProjectProblemmodifyController extends BaseController {
return success(smzSspProblemmodifyService.insertSmzSspProblemmodify(smzSspProblemmodify));
}
/**
*
* @param smzSspProblemmodifyDraft
* @return
*/
@PostMapping("/addSafetyDraft")
@Log(title = "安全隐患草稿", businessType = BusinessType.INSERT)
public AjaxResult addSafetyDraft(@RequestBody SmzSspProblemmodifyDraft smzSspProblemmodifyDraft){
return success(smzSspProblemmodifyDraftService.insertSmzSspProblemmodifyDraft(smzSspProblemmodifyDraft));
}
/**
*
* @param smzSspProblemmodify
@ -109,6 +127,17 @@ public class ProjectProblemmodifyController extends BaseController {
return success(smzSspProblemmodifyService.insertSmzSspProblemmodify(smzSspProblemmodify));
}
/**
*
* @param smzSspProblemmodifyDraft
* @return
*/
@PostMapping("/addQualityDraft")
@Log(title = "质量隐患草稿", businessType = BusinessType.INSERT)
public AjaxResult addQualityDraft(@RequestBody SmzSspProblemmodifyDraft smzSspProblemmodifyDraft){
return success(smzSspProblemmodifyDraftService.insertSmzSspProblemmodifyDraft(smzSspProblemmodifyDraft));
}
/**
*
* @param id
@ -162,4 +191,16 @@ public class ProjectProblemmodifyController extends BaseController {
public AjaxResult findLastDataByParams(SmzSspProblemmodify smzSspProblemmodify){
return success(smzSspProblemmodifyService.findLastDataByParams(smzSspProblemmodify));
}
/**
*
* @param smzSspProblemmodifyDraft
* @return
*/
@GetMapping("/findDraftLastDataByParams")
public AjaxResult findDraftLastDataByParams(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft){
List<SmzSspProblemmodifyDraft> list = smzSspProblemmodifyDraftService.selectSmzSspProblemmodifyDraftList(smzSspProblemmodifyDraft);
return success(list!=null?list.get(0):null);
}
}

View File

@ -1,10 +1,12 @@
package com.yanzhu.jh.publics;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.common.enums.SysRoleEnum;
@ -26,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@ -57,6 +60,8 @@ PublicsController extends BaseController {
@Autowired
private ISurProjectAuditinfoService surProjectAuditinfoService;
@Autowired
private RedisCache redisCache;
/**
*
@ -75,9 +80,16 @@ PublicsController extends BaseController {
@GetMapping("/queryZgsDeptList")
public AjaxResult queryZgsDeptList(SysDept dept)
{
String key="publics_queryZgsDeptList";
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
dept.setStatus(PublicStateEnum.OK.getCode());
dept.setComFlag(PublicStateEnum.COMZGS.getCode());
return success(deptService.selectAllDeptList(dept));
List<SysDept> list = deptService.selectAllDeptList(dept);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return success();
}
/**
@ -149,7 +161,14 @@ PublicsController extends BaseController {
@GetMapping("/selectProjectAllUnitUser")
public AjaxResult selectProjectAllUnitUser(SurProjectUserinfo surProjectUserinfo)
{
return success(surProjectUserinfoService.selectProjectUnitUser(surProjectUserinfo));
String key="publics_selectProjectAllUnitUser_"+surProjectUserinfo.getProjectId();
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
List<SurProjectUnitInfo> list = surProjectUserinfoService.selectProjectUnitUser(surProjectUserinfo);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return success(list);
}
/**
@ -158,7 +177,14 @@ PublicsController extends BaseController {
@GetMapping("/selectProjectUnitUser")
public AjaxResult selectProjectUnitUser(SurProjectUnitInfo surProjectUnitInfo)
{
return success(surProjectUserinfoService.selectProjectUnitUser(surProjectUnitInfo));
String key="publics_selectProjectUnitUser_"+surProjectUnitInfo.getProjectId();
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
List<SurProjectUnitInfo> list = surProjectUserinfoService.selectProjectUnitUser(surProjectUnitInfo);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return success(list);
}
/**

View File

@ -0,0 +1,117 @@
package com.yanzhu.jh.trouble.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodify;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodifyDraft;
import com.yanzhu.jh.trouble.service.ISmzSspProblemmodifyDraftService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author JiangYuQi
* @date 2023-10-15
*/
@RestController
@RequestMapping("/trouble/smzSspProblemmodifyDraft")
public class SmzSspProblemmodifyDraftController extends BaseController
{
@Autowired
private ISmzSspProblemmodifyDraftService smzSspProblemmodifyDraftService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:list')")
@GetMapping("/list")
public TableDataInfo list(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft)
{
startPage();
List<SmzSspProblemmodifyDraft> list = smzSspProblemmodifyDraftService.selectSmzSspProblemmodifyDraftList(smzSspProblemmodifyDraft);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:export')")
@Log(title = "随手拍问题整改质量留痕信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SmzSspProblemmodifyDraft smzSspProblemmodifyDraft)
{
List<SmzSspProblemmodifyDraft> list = smzSspProblemmodifyDraftService.selectSmzSspProblemmodifyDraftList(smzSspProblemmodifyDraft);
ExcelUtil<SmzSspProblemmodifyDraft> util = new ExcelUtil<SmzSspProblemmodifyDraft>(SmzSspProblemmodifyDraft.class);
util.exportExcel(response, list, "随手拍问题整改质量留痕信息数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(smzSspProblemmodifyDraftService.selectSmzSspProblemmodifyDraftById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:add')")
@Log(title = "随手拍问题整改质量留痕信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SmzSspProblemmodifyDraft smzSspProblemmodifyDraft)
{
return toAjax(smzSspProblemmodifyDraftService.insertSmzSspProblemmodifyDraft(smzSspProblemmodifyDraft));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:add')")
@Log(title = "随手拍问题整改质量留痕信息", businessType = BusinessType.INSERT)
@PostMapping("/batchUpdate")
public AjaxResult batchAdd(@RequestBody List<SmzSspProblemmodify> smzSspProblemmodifytList)
{
return toAjax(smzSspProblemmodifyDraftService.batchUpdateSmzSspProblemmodifyDraft(smzSspProblemmodifytList));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:edit')")
@Log(title = "随手拍问题整改质量留痕信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SmzSspProblemmodify smzSspProblemmodify)
{
return toAjax(smzSspProblemmodifyDraftService.updateSmzSspProblemmodifyDraft(smzSspProblemmodify));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('trouble:smzSspProblemmodifyDraft:remove')")
@Log(title = "随手拍问题整改质量留痕信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(smzSspProblemmodifyDraftService.deleteSmzSspProblemmodifyDraftByIds(ids));
}
}

View File

@ -0,0 +1,484 @@
package com.yanzhu.jh.trouble.domain;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* smz_ssp_problemmodify_draft
*
* @author JiangYuQi
* @date 2023-10-15
*/
public class SmzSspProblemmodifyDraft extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 项目id */
@Excel(name = "项目id")
private Long projectId;
/** 信息类型0安全1质量 */
@Excel(name = "信息类型", readConverterExp = "0=安全1质量")
private Long infoType;
/** 留痕图片 */
@Excel(name = "留痕图片")
private String marksPicture;
/** 留痕视频 */
@Excel(name = "留痕视频")
private String marksVideo;
/** 拍摄位置 */
@Excel(name = "拍摄位置")
private String problemArea;
/** 施工部位 */
@Excel(name = "施工部位")
private String workParts;
/** 整改要求 */
@Excel(name = "整改要求")
private String changeInfo;
/** 主送人姓名 */
@Excel(name = "主送人姓名")
private String lordSent;
/** 主送人手机号 */
@Excel(name = "主送人手机号")
private String lordSentUser;
/** 抄送人姓名 */
@Excel(name = "抄送人姓名")
private String copySend;
/** 抄送人手机号 */
@Excel(name = "抄送人手机号")
private String copySendUser;
/** 流程状态0待整改1待复检3复检驳回4复检通过 */
@Excel(name = "流程状态", readConverterExp = "0=待整改1待复检3复检驳回4复检通过")
private Long checkState;
/** 整改定位 */
@Excel(name = "整改定位")
private String nickedArea;
/** 整改截至时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "整改截至时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date nickedTime;
/** 工程类型 */
@Excel(name = "工程类型")
private String projectType;
/** 工序名称 */
@Excel(name = "工序名称")
private String processName;
/** 工程名称 */
@Excel(name = "工程名称")
private String projectName;
/** 留痕说明 */
@Excel(name = "留痕说明")
private String nickedInfo;
/** 审核人 */
@Excel(name = "审核人")
private String checkUser;
/** 审核人手机号 */
@Excel(name = "审核人手机号")
private String checkUserPhone;
/** 智能公司展示的图片url */
@Excel(name = "智能公司展示的图片url")
private String smarkUrl;
/** 删除状态0未删除1已删除 */
@Excel(name = "删除状态", readConverterExp = "0=未删除1已删除")
private Long isDel;
/** 创建人 */
@Excel(name = "创建人")
private String createUser;
/** 创建人名称 */
@Excel(name = "创建人名称")
private String createUserName;
/** 创建人部门名称 */
@Excel(name = "创建人部门名称")
private String createUserDeptName;
/** 修改人 */
@Excel(name = "修改人")
private String updateUser;
/** 隐患类型 */
@Excel(name = "隐患类型")
private String dangerType;
/** 复检人 */
@Excel(name = "复检人")
private String recheckSend;
/** 复检人手机号 */
@Excel(name = "复检人手机号")
private String recheckSendUser;
/** 角色类型 */
@Excel(name = "角色类型")
private Long roleType;
/** 问题类型1常规问题2专项问题 */
@Excel(name = "问题类型", readConverterExp = "1=常规问题2专项问题")
private String problemType;
private List<List<String>> fileUrls;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setProjectId(Long projectId)
{
this.projectId = projectId;
}
public Long getProjectId()
{
return projectId;
}
public void setInfoType(Long infoType)
{
this.infoType = infoType;
}
public Long getInfoType()
{
return infoType;
}
public void setMarksPicture(String marksPicture)
{
this.marksPicture = marksPicture;
}
public String getMarksPicture()
{
return marksPicture;
}
public void setMarksVideo(String marksVideo)
{
this.marksVideo = marksVideo;
}
public String getMarksVideo()
{
return marksVideo;
}
public void setProblemArea(String problemArea)
{
this.problemArea = problemArea;
}
public String getProblemArea()
{
return problemArea;
}
public void setWorkParts(String workParts)
{
this.workParts = workParts;
}
public String getWorkParts()
{
return workParts;
}
public void setChangeInfo(String changeInfo)
{
this.changeInfo = changeInfo;
}
public String getChangeInfo()
{
return changeInfo;
}
public void setLordSent(String lordSent)
{
this.lordSent = lordSent;
}
public String getLordSent()
{
return lordSent;
}
public void setLordSentUser(String lordSentUser)
{
this.lordSentUser = lordSentUser;
}
public String getLordSentUser()
{
return lordSentUser;
}
public void setCopySend(String copySend)
{
this.copySend = copySend;
}
public String getCopySend()
{
return copySend;
}
public void setCopySendUser(String copySendUser)
{
this.copySendUser = copySendUser;
}
public String getCopySendUser()
{
return copySendUser;
}
public void setCheckState(Long checkState)
{
this.checkState = checkState;
}
public Long getCheckState()
{
return checkState;
}
public void setNickedArea(String nickedArea)
{
this.nickedArea = nickedArea;
}
public String getNickedArea()
{
return nickedArea;
}
public void setNickedTime(Date nickedTime)
{
this.nickedTime = nickedTime;
}
public Date getNickedTime()
{
return nickedTime;
}
public void setProjectType(String projectType)
{
this.projectType = projectType;
}
public String getProjectType()
{
return projectType;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setProjectName(String projectName)
{
this.projectName = projectName;
}
public String getProjectName()
{
return projectName;
}
public void setNickedInfo(String nickedInfo)
{
this.nickedInfo = nickedInfo;
}
public String getNickedInfo()
{
return nickedInfo;
}
public void setCheckUser(String checkUser)
{
this.checkUser = checkUser;
}
public String getCheckUser()
{
return checkUser;
}
public void setCheckUserPhone(String checkUserPhone)
{
this.checkUserPhone = checkUserPhone;
}
public String getCheckUserPhone()
{
return checkUserPhone;
}
public void setSmarkUrl(String smarkUrl)
{
this.smarkUrl = smarkUrl;
}
public String getSmarkUrl()
{
return smarkUrl;
}
public void setIsDel(Long isDel)
{
this.isDel = isDel;
}
public Long getIsDel()
{
return isDel;
}
public void setCreateUser(String createUser)
{
this.createUser = createUser;
}
public String getCreateUser()
{
return createUser;
}
public void setUpdateUser(String updateUser)
{
this.updateUser = updateUser;
}
public String getUpdateUser()
{
return updateUser;
}
public void setDangerType(String dangerType)
{
this.dangerType = dangerType;
}
public String getDangerType()
{
return dangerType;
}
public void setRecheckSend(String recheckSend)
{
this.recheckSend = recheckSend;
}
public String getRecheckSend()
{
return recheckSend;
}
public void setRecheckSendUser(String recheckSendUser)
{
this.recheckSendUser = recheckSendUser;
}
public String getRecheckSendUser()
{
return recheckSendUser;
}
public void setRoleType(Long roleType)
{
this.roleType = roleType;
}
public Long getRoleType()
{
return roleType;
}
public void setProblemType(String problemType)
{
this.problemType = problemType;
}
public String getProblemType()
{
return problemType;
}
public String getCreateUserName() {
return createUserName;
}
public void setCreateUserName(String createUserName) {
this.createUserName = createUserName;
}
public String getCreateUserDeptName() {
return createUserDeptName;
}
public void setCreateUserDeptName(String createUserDeptName) {
this.createUserDeptName = createUserDeptName;
}
public List<List<String>> getFileUrls() {
return fileUrls;
}
public void setFileUrls(List<List<String>> fileUrls) {
this.fileUrls = fileUrls;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectId", getProjectId())
.append("infoType", getInfoType())
.append("marksPicture", getMarksPicture())
.append("marksVideo", getMarksVideo())
.append("problemArea", getProblemArea())
.append("workParts", getWorkParts())
.append("changeInfo", getChangeInfo())
.append("lordSent", getLordSent())
.append("lordSentUser", getLordSentUser())
.append("copySend", getCopySend())
.append("copySendUser", getCopySendUser())
.append("checkState", getCheckState())
.append("nickedArea", getNickedArea())
.append("nickedTime", getNickedTime())
.append("projectType", getProjectType())
.append("processName", getProcessName())
.append("projectName", getProjectName())
.append("nickedInfo", getNickedInfo())
.append("checkUser", getCheckUser())
.append("checkUserPhone", getCheckUserPhone())
.append("smarkUrl", getSmarkUrl())
.append("isDel", getIsDel())
.append("createUser", getCreateUser())
.append("createTime", getCreateTime())
.append("updateUser", getUpdateUser())
.append("updateTime", getUpdateTime())
.append("dangerType", getDangerType())
.append("recheckSend", getRecheckSend())
.append("recheckSendUser", getRecheckSendUser())
.append("roleType", getRoleType())
.append("problemType", getProblemType())
.toString();
}
}

View File

@ -0,0 +1,61 @@
package com.yanzhu.jh.trouble.mapper;
import java.util.List;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodifyDraft;
/**
* Mapper
*
* @author JiangYuQi
* @date 2023-10-15
*/
public interface SmzSspProblemmodifyDraftMapper
{
/**
*
*
* @param id
* @return
*/
public SmzSspProblemmodifyDraft selectSmzSspProblemmodifyDraftById(Long id);
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
public List<SmzSspProblemmodifyDraft> selectSmzSspProblemmodifyDraftList(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft);
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
public int insertSmzSspProblemmodifyDraft(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft);
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
public int updateSmzSspProblemmodifyDraft(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft);
/**
*
*
* @param id
* @return
*/
public int deleteSmzSspProblemmodifyDraftById(Long id);
/**
*
*
* @param ids
* @return
*/
public int deleteSmzSspProblemmodifyDraftByIds(Long[] ids);
}

View File

@ -0,0 +1,71 @@
package com.yanzhu.jh.trouble.service;
import java.util.List;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodify;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodifyDraft;
/**
* Service
*
* @author JiangYuQi
* @date 2023-10-15
*/
public interface ISmzSspProblemmodifyDraftService
{
/**
*
*
* @param id
* @return
*/
public SmzSspProblemmodifyDraft selectSmzSspProblemmodifyDraftById(Long id);
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
public List<SmzSspProblemmodifyDraft> selectSmzSspProblemmodifyDraftList(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft);
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
public int insertSmzSspProblemmodifyDraft(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft);
/**
*
*
* @param smzSspProblemmodifyList
* @return
*/
public int batchUpdateSmzSspProblemmodifyDraft(List<SmzSspProblemmodify> smzSspProblemmodifyList);
/**
*
*
* @param smzSspProblemmodify
* @return
*/
public int updateSmzSspProblemmodifyDraft(SmzSspProblemmodify smzSspProblemmodify);
/**
*
*
* @param ids
* @return
*/
public int deleteSmzSspProblemmodifyDraftByIds(Long[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteSmzSspProblemmodifyDraftById(Long id);
}

View File

@ -0,0 +1,249 @@
package com.yanzhu.jh.trouble.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.DeptTypeEnum;
import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.yanzhu.jh.project.domain.SurProjectUserinfo;
import com.yanzhu.jh.project.mapper.SurProjectUserinfoMapper;
import com.yanzhu.jh.trouble.domain.SmzSspAuditinfo;
import com.yanzhu.jh.trouble.domain.SmzSspFileinfo;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodify;
import com.yanzhu.jh.trouble.mapper.SmzSspAuditinfoMapper;
import com.yanzhu.jh.trouble.mapper.SmzSspProblemmodifyMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yanzhu.jh.trouble.mapper.SmzSspProblemmodifyDraftMapper;
import com.yanzhu.jh.trouble.domain.SmzSspProblemmodifyDraft;
import com.yanzhu.jh.trouble.service.ISmzSspProblemmodifyDraftService;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author JiangYuQi
* @date 2023-10-15
*/
@Service
public class SmzSspProblemmodifyDraftServiceImpl implements ISmzSspProblemmodifyDraftService
{
@Autowired
private SysDeptMapper deptMapper;
@Autowired
private SmzSspAuditinfoMapper smzSspAuditinfoMapper;
@Autowired
private SmzSspProblemmodifyMapper smzSspProblemmodifyMapper;
@Autowired
private SurProjectUserinfoMapper surProjectUserinfoMapper;
@Autowired
private SmzSspProblemmodifyDraftMapper smzSspProblemmodifyDraftMapper;
/**
*
*
* @param id
* @return
*/
@Override
public SmzSspProblemmodifyDraft selectSmzSspProblemmodifyDraftById(Long id)
{
return smzSspProblemmodifyDraftMapper.selectSmzSspProblemmodifyDraftById(id);
}
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
@Override
public List<SmzSspProblemmodifyDraft> selectSmzSspProblemmodifyDraftList(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft)
{
return smzSspProblemmodifyDraftMapper.selectSmzSspProblemmodifyDraftList(smzSspProblemmodifyDraft);
}
/**
*
*
* @param smzSspProblemmodifyDraft
* @return
*/
@Override
@Transactional
public int insertSmzSspProblemmodifyDraft(SmzSspProblemmodifyDraft smzSspProblemmodifyDraft)
{
SysDept sysDept = deptMapper.selectDeptByUserName(smzSspProblemmodifyDraft.getCreateUser());
//当前角色时管理员时,修改角色为集团公司
String roleType = "";
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag())){
SurProjectUserinfo surProjectUserinfo = new SurProjectUserinfo();
surProjectUserinfo.setProjectId(smzSspProblemmodifyDraft.getProjectId());
surProjectUserinfo.setCreateBy(smzSspProblemmodifyDraft.getCreateUser());
List<SurProjectUserinfo> datalist = surProjectUserinfoMapper.querySurProjectUserinfoByParams(surProjectUserinfo);
if(datalist!=null && datalist.size()>0 && datalist.get(0)!=null && PublicStateEnum.USERTYPE_JFJL.getCode().equals(datalist.get(0).getJobType())){
//说明是甲方经理
roleType = DeptTypeEnum.JFDBTYPE.getCode();
}else{
roleType = DeptTypeEnum.JTGSTYPE.getCode();
}
}else if(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
SurProjectUserinfo surProjectUserinfo = new SurProjectUserinfo();
surProjectUserinfo.setProjectId(smzSspProblemmodifyDraft.getProjectId());
surProjectUserinfo.setCreateBy(smzSspProblemmodifyDraft.getCreateUser());
List<SurProjectUserinfo> datalist = surProjectUserinfoMapper.querySurProjectUserinfoByParams(surProjectUserinfo);
if(datalist!=null && datalist.size()>0 && datalist.get(0)!=null && PublicStateEnum.USERTYPE_JFJL.getCode().equals(datalist.get(0).getJobType())){
//说明是甲方经理
roleType = DeptTypeEnum.JFDBTYPE.getCode();
}else{
roleType = DeptTypeEnum.ZGSTYPE.getCode();
}
}else if(DeptTypeEnum.JLDW.getCode().equals(sysDept.getTypeFlag())){
roleType = DeptTypeEnum.JLDWTYPE.getCode();
}else if(DeptTypeEnum.ZBDW.getCode().equals(sysDept.getTypeFlag())){
roleType = DeptTypeEnum.ZBDWTYPE.getCode();
}else if(DeptTypeEnum.FBDW.getCode().equals(sysDept.getTypeFlag())){
roleType = DeptTypeEnum.FBDWTYPE.getCode();
}
AtomicInteger count = new AtomicInteger();
for(List<String> urls:smzSspProblemmodifyDraft.getFileUrls()){
SmzSspProblemmodifyDraft insert = new SmzSspProblemmodifyDraft();
insert.setProjectId(smzSspProblemmodifyDraft.getProjectId());
insert.setInfoType(smzSspProblemmodifyDraft.getInfoType());
insert.setProblemArea(smzSspProblemmodifyDraft.getProblemArea());
insert.setLordSent(smzSspProblemmodifyDraft.getLordSent());
insert.setLordSentUser(smzSspProblemmodifyDraft.getLordSentUser());
insert.setCheckState(smzSspProblemmodifyDraft.getCheckState());
insert.setCreateUser(smzSspProblemmodifyDraft.getCreateUser());
insert.setCreateTime(new Date());
insert.setSmarkUrl(String.join(",", urls));
insert.setMarksPicture(urls.get(0));
insert.setProblemType("1");
insert.setRoleType(Convert.toLong(roleType));
count.addAndGet(smzSspProblemmodifyDraftMapper.insertSmzSspProblemmodifyDraft(insert));
}
return count.intValue();
}
/**
*
*
* @param smzSspProblemmodifyList
* @return
*/
@Override
@Transactional
public int batchUpdateSmzSspProblemmodifyDraft(List<SmzSspProblemmodify> smzSspProblemmodifyList) {
int res = 0;
for(SmzSspProblemmodify smzSspProblemmodify:smzSspProblemmodifyList){
//删除草稿
smzSspProblemmodifyDraftMapper.deleteSmzSspProblemmodifyDraftById(smzSspProblemmodify.getId());
//设置主图
smzSspProblemmodify.setMarksPicture(smzSspProblemmodify.getSmarkUrl().split(",")[0]);
smzSspProblemmodifyMapper.insertSmzSspProblemmodify(smzSspProblemmodify);
SmzSspAuditinfo smzSspAuditinfo = new SmzSspAuditinfo();
smzSspAuditinfo.setMainId(smzSspProblemmodify.getId());
smzSspAuditinfo.setProcessState("1");
smzSspAuditinfo.setCreateUser(smzSspProblemmodify.getCreateUser());
smzSspAuditinfo.setCreateTime(new Date());
res = smzSspAuditinfoMapper.insertSmzSspAuditinfo(smzSspAuditinfo);
smzSspAuditinfo.setFileUrls(smzSspProblemmodify.getSmarkUrl());
insertSmzSspFileinfo(smzSspAuditinfo);
}
return res;
}
/**
*
*
* @param smzSspProblemmodify
* @return
*/
@Override
@Transactional
public int updateSmzSspProblemmodifyDraft(SmzSspProblemmodify smzSspProblemmodify)
{
//删除草稿
smzSspProblemmodifyDraftMapper.deleteSmzSspProblemmodifyDraftById(smzSspProblemmodify.getId());
//设置主图
smzSspProblemmodify.setMarksPicture(smzSspProblemmodify.getSmarkUrl().split(",")[0]);
smzSspProblemmodifyMapper.insertSmzSspProblemmodify(smzSspProblemmodify);
SmzSspAuditinfo smzSspAuditinfo = new SmzSspAuditinfo();
smzSspAuditinfo.setMainId(smzSspProblemmodify.getId());
smzSspAuditinfo.setProcessState("1");
smzSspAuditinfo.setCreateUser(smzSspProblemmodify.getCreateUser());
smzSspAuditinfo.setCreateTime(new Date());
int res = smzSspAuditinfoMapper.insertSmzSspAuditinfo(smzSspAuditinfo);
smzSspAuditinfo.setFileUrls(smzSspProblemmodify.getSmarkUrl());
insertSmzSspFileinfo(smzSspAuditinfo);
return res;
}
/**
*
*
* @param smzSspAuditinfo
*/
private void insertSmzSspFileinfo(SmzSspAuditinfo smzSspAuditinfo)
{
if(smzSspAuditinfo.getFileUrls()!=null){
String fileUrls[] = smzSspAuditinfo.getFileUrls().split(",");
Long id = smzSspAuditinfo.getId();
if (StringUtils.isNotNull(fileUrls))
{
List<SmzSspFileinfo> list = new ArrayList<SmzSspFileinfo>();
for (String fileUrl: fileUrls)
{
SmzSspFileinfo smzSspFileinfo = new SmzSspFileinfo();
smzSspFileinfo.setAuditId(id);
smzSspFileinfo.setFileType(0L);
smzSspFileinfo.setFileUrl(fileUrl);
smzSspFileinfo.setIsDel(0L);
smzSspFileinfo.setCreateUser(smzSspAuditinfo.getCreateUser());
smzSspFileinfo.setCreateTime(new Date());
list.add(smzSspFileinfo);
}
if (list.size() > 0)
{
smzSspAuditinfoMapper.batchSmzSspFileinfo(list);
}
}
}
}
/**
*
*
* @param ids
* @return
*/
@Override
public int deleteSmzSspProblemmodifyDraftByIds(Long[] ids)
{
return smzSspProblemmodifyDraftMapper.deleteSmzSspProblemmodifyDraftByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
public int deleteSmzSspProblemmodifyDraftById(Long id)
{
return smzSspProblemmodifyDraftMapper.deleteSmzSspProblemmodifyDraftById(id);
}
}

View File

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yanzhu.jh.trouble.mapper.SmzSspProblemmodifyDraftMapper">
<resultMap type="SmzSspProblemmodifyDraft" id="SmzSspProblemmodifyDraftResult">
<result property="id" column="id" />
<result property="projectId" column="projectId" />
<result property="infoType" column="infoType" />
<result property="marksPicture" column="marks_picture" />
<result property="marksVideo" column="marks_video" />
<result property="problemArea" column="problemArea" />
<result property="workParts" column="workParts" />
<result property="changeInfo" column="changeInfo" />
<result property="lordSent" column="lordSent" />
<result property="lordSentUser" column="lordSentUser" />
<result property="copySend" column="copySend" />
<result property="copySendUser" column="copySendUser" />
<result property="checkState" column="checkState" />
<result property="nickedArea" column="nickedArea" />
<result property="nickedTime" column="nickedTime" />
<result property="projectType" column="projectType" />
<result property="processName" column="processName" />
<result property="projectName" column="projectName" />
<result property="nickedInfo" column="nickedInfo" />
<result property="checkUser" column="checkUser" />
<result property="checkUserPhone" column="checkUserPhone" />
<result property="smarkUrl" column="smark_url" />
<result property="isDel" column="isDel" />
<result property="createUser" column="createUser" />
<result property="createUserName" column="createUserName" />
<result property="createUserDeptName" column="createUserDeptName" />
<result property="createTime" column="createTime" />
<result property="updateUser" column="updateUser" />
<result property="updateTime" column="updateTime" />
<result property="dangerType" column="danger_type" />
<result property="recheckSend" column="recheckSend" />
<result property="recheckSendUser" column="recheckSendUser" />
<result property="roleType" column="roleType" />
<result property="problemType" column="problemType" />
</resultMap>
<sql id="selectSmzSspProblemmodifyDraftVo">
select d.id, d.projectId, d.infoType, d.marks_picture, d.marks_video, d.problemArea, d.workParts, d.changeInfo, d.lordSent, d.lordSentUser, d.copySend, d.copySendUser, d.checkState, d.nickedArea, d.nickedTime, d.projectType, d.processName, d.projectName, d.nickedInfo, d.checkUser, d.checkUserPhone, d.smark_url, d.isDel, d.createUser, u.nick_name as createUserName, sd.dept_name as createUserDeptName, d.createTime, d.updateUser, d.updateTime, d.danger_type, d.recheckSend, d.recheckSendUser, d.roleType, d.problemType from smz_ssp_problemmodify_draft d
left join sur_project sp on d.projectId = sp.id
left join sys_user u on u.phonenumber = d.createUser
left join sys_dept sd on sd.dept_id = u.dept_id
</sql>
<select id="selectSmzSspProblemmodifyDraftList" parameterType="SmzSspProblemmodifyDraft" resultMap="SmzSspProblemmodifyDraftResult">
<include refid="selectSmzSspProblemmodifyDraftVo"/>
<where>
<if test="projectId != null "> and d.projectId = #{projectId}</if>
<if test="infoType != null "> and d.infoType = #{infoType}</if>
<if test="roleType != null "> and d.roleType = #{roleType}</if>
<if test="lordSent != null and lordSent != ''"> and (d.lordSent like concat('%', #{lordSent}, '%') or d.lordSentUser like concat('%', #{lordSent}, '%'))</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
<!--部门数据-->
<if test='nowRole != "1" and nowRole != "2"'>
<if test="nowUserName != null and nowUserName != ''"> and d.createUser = #{nowUserName}</if>
<if test="createUser != null and createUser != ''"> and d.createUser = #{createUser}</if>
</if>
</where>
order by d.createTime desc
</select>
<select id="selectSmzSspProblemmodifyDraftById" parameterType="Long" resultMap="SmzSspProblemmodifyDraftResult">
<include refid="selectSmzSspProblemmodifyDraftVo"/>
where d.id = #{id}
</select>
<insert id="insertSmzSspProblemmodifyDraft" parameterType="SmzSspProblemmodifyDraft" useGeneratedKeys="true" keyProperty="id">
insert into smz_ssp_problemmodify_draft
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectId != null">projectId,</if>
<if test="infoType != null">infoType,</if>
<if test="marksPicture != null">marks_picture,</if>
<if test="marksVideo != null">marks_video,</if>
<if test="problemArea != null">problemArea,</if>
<if test="workParts != null">workParts,</if>
<if test="changeInfo != null">changeInfo,</if>
<if test="lordSent != null">lordSent,</if>
<if test="lordSentUser != null">lordSentUser,</if>
<if test="copySend != null">copySend,</if>
<if test="copySendUser != null">copySendUser,</if>
<if test="checkState != null">checkState,</if>
<if test="nickedArea != null">nickedArea,</if>
<if test="nickedTime != null">nickedTime,</if>
<if test="projectType != null">projectType,</if>
<if test="processName != null">processName,</if>
<if test="projectName != null">projectName,</if>
<if test="nickedInfo != null">nickedInfo,</if>
<if test="checkUser != null">checkUser,</if>
<if test="checkUserPhone != null">checkUserPhone,</if>
<if test="smarkUrl != null">smark_url,</if>
<if test="isDel != null">isDel,</if>
<if test="createUser != null">createUser,</if>
<if test="createTime != null">createTime,</if>
<if test="updateUser != null">updateUser,</if>
<if test="updateTime != null">updateTime,</if>
<if test="dangerType != null">danger_type,</if>
<if test="recheckSend != null">recheckSend,</if>
<if test="recheckSendUser != null">recheckSendUser,</if>
<if test="roleType != null">roleType,</if>
<if test="problemType != null">problemType,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectId != null">#{projectId},</if>
<if test="infoType != null">#{infoType},</if>
<if test="marksPicture != null">#{marksPicture},</if>
<if test="marksVideo != null">#{marksVideo},</if>
<if test="problemArea != null">#{problemArea},</if>
<if test="workParts != null">#{workParts},</if>
<if test="changeInfo != null">#{changeInfo},</if>
<if test="lordSent != null">#{lordSent},</if>
<if test="lordSentUser != null">#{lordSentUser},</if>
<if test="copySend != null">#{copySend},</if>
<if test="copySendUser != null">#{copySendUser},</if>
<if test="checkState != null">#{checkState},</if>
<if test="nickedArea != null">#{nickedArea},</if>
<if test="nickedTime != null">#{nickedTime},</if>
<if test="projectType != null">#{projectType},</if>
<if test="processName != null">#{processName},</if>
<if test="projectName != null">#{projectName},</if>
<if test="nickedInfo != null">#{nickedInfo},</if>
<if test="checkUser != null">#{checkUser},</if>
<if test="checkUserPhone != null">#{checkUserPhone},</if>
<if test="smarkUrl != null">#{smarkUrl},</if>
<if test="isDel != null">#{isDel},</if>
<if test="createUser != null">#{createUser},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateUser != null">#{updateUser},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="dangerType != null">#{dangerType},</if>
<if test="recheckSend != null">#{recheckSend},</if>
<if test="recheckSendUser != null">#{recheckSendUser},</if>
<if test="roleType != null">#{roleType},</if>
<if test="problemType != null">#{problemType},</if>
</trim>
</insert>
<update id="updateSmzSspProblemmodifyDraft" parameterType="SmzSspProblemmodifyDraft">
update smz_ssp_problemmodify_draft
<trim prefix="SET" suffixOverrides=",">
<if test="projectId != null">projectId = #{projectId},</if>
<if test="infoType != null">infoType = #{infoType},</if>
<if test="marksPicture != null">marks_picture = #{marksPicture},</if>
<if test="marksVideo != null">marks_video = #{marksVideo},</if>
<if test="problemArea != null">problemArea = #{problemArea},</if>
<if test="workParts != null">workParts = #{workParts},</if>
<if test="changeInfo != null">changeInfo = #{changeInfo},</if>
<if test="lordSent != null">lordSent = #{lordSent},</if>
<if test="lordSentUser != null">lordSentUser = #{lordSentUser},</if>
<if test="copySend != null">copySend = #{copySend},</if>
<if test="copySendUser != null">copySendUser = #{copySendUser},</if>
<if test="checkState != null">checkState = #{checkState},</if>
<if test="nickedArea != null">nickedArea = #{nickedArea},</if>
<if test="nickedTime != null">nickedTime = #{nickedTime},</if>
<if test="projectType != null">projectType = #{projectType},</if>
<if test="processName != null">processName = #{processName},</if>
<if test="projectName != null">projectName = #{projectName},</if>
<if test="nickedInfo != null">nickedInfo = #{nickedInfo},</if>
<if test="checkUser != null">checkUser = #{checkUser},</if>
<if test="checkUserPhone != null">checkUserPhone = #{checkUserPhone},</if>
<if test="smarkUrl != null">smark_url = #{smarkUrl},</if>
<if test="isDel != null">isDel = #{isDel},</if>
<if test="createUser != null">createUser = #{createUser},</if>
<if test="createTime != null">createTime = #{createTime},</if>
<if test="updateUser != null">updateUser = #{updateUser},</if>
<if test="updateTime != null">updateTime = #{updateTime},</if>
<if test="dangerType != null">danger_type = #{dangerType},</if>
<if test="recheckSend != null">recheckSend = #{recheckSend},</if>
<if test="recheckSendUser != null">recheckSendUser = #{recheckSendUser},</if>
<if test="roleType != null">roleType = #{roleType},</if>
<if test="problemType != null">problemType = #{problemType},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSmzSspProblemmodifyDraftById" parameterType="Long">
delete from smz_ssp_problemmodify_draft where id = #{id}
</delete>
<delete id="deleteSmzSspProblemmodifyDraftByIds" parameterType="String">
delete from smz_ssp_problemmodify_draft where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -103,7 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join dev_ai_project_config_passage dacp on dacp.video_passage_id = b.id
where dacp.is_del=0 and dacp.channel_id is NOT NULL and dacp.channel_id!=''
<if test="projectId != null "> and a.project_id = #{projectId}</if>
<if test="deptId != null "> and p.dept_id = #{deptId}</if>
<if test="deptId != null "> and p.deptId = #{deptId}</if>
<if test='importance == "Y" '> and dacp.is_importance = #{importance}</if>
<if test="passageType != null "> and FIND_IN_SET(#{passageType},dacp.passage_type) > 0</if>
<!-- 查询条件-项目部门 -->
@ -126,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join dev_ai_project_config_passage dacp on dacp.video_passage_id = b.id
where dacp.is_del=0 and dacp.channel_id is NOT NULL and dacp.channel_id!=''
<if test="projectId != null "> and a.project_id = #{projectId}</if>
<if test="deptId != null "> and p.dept_id = #{deptId}</if>
<if test="deptId != null "> and p.deptId = #{deptId}</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and p.deptId = #{projectDeptId}</if>
<!--子部门数据-->