提交代码

dev_xds
姜玉琦 2023-08-17 15:51:00 +08:00
parent 925d808a97
commit de8a16c52a
28 changed files with 355 additions and 161 deletions

View File

@ -124,4 +124,11 @@ public interface SysUserMapper
* @return
*/
public SysUser checkEmailUnique(String email);
/**
*
*
* @return
*/
public List<Long> selectUserByDept();
}

View File

@ -361,6 +361,17 @@ public class SysUserServiceImpl implements ISysUserService
@Override
public int resetPwd(SysUser user)
{
// List<Long> userIds = userMapper.selectUserByDept();
// List<SysUserRole> sysUserRoleList = new ArrayList<>();
// for(Long id:userIds){
// SysUserRole sr = new SysUserRole();
// sr.setUserId(id);
// sr.setRoleId(95L);
// sysUserRoleList.add(sr);
// }
// userRoleMapper.batchUserRole(sysUserRoleList);
return userMapper.updateUser(user);
}

View File

@ -213,7 +213,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteUserById" parameterType="Long">
update sys_user set del_flag = '2' where user_id = #{userId}
</delete>
<select id="selectUserByDept" resultType="Long">
select u.user_id from sys_user u
left join sys_dept d on d.dept_id=u.dept_id
where d.ancestors like '%207%'
</select>
<delete id="deleteUserByIds" parameterType="Long">
update sys_user set del_flag = '2' where user_id in
<foreach collection="array" item="userId" open="(" separator="," close=")">

View File

@ -202,7 +202,7 @@
<el-table-column
label="进度展示"
align="center"
v-hasPermi="['project:surProject:progressVisible']"
v-if="checkPermi(['project:surProject:progressVisible'])"
>
<template slot-scope="scope">
<el-switch
@ -217,7 +217,7 @@
label="项目排序"
align="center"
width="150"
v-hasPermi="['project:surProject:projectSort']"
v-if="checkPermi(['project:surProject:projectSort'])"
>
<template slot-scope="scope">
<el-input-number
@ -778,6 +778,7 @@ import surProjectSpecialDrawer from "../surProjectSpecial/surProjectSpecialDrawe
import attendanceDrawer from "../surProjectAttendance/attendanceDrawer.vue";
import projectDeptWroksDrawer from "../projectDeptWroks/projectDeptWroksDrawer.vue";
import insuranceDrawer from "../surProjectInsurance/insuranceDrawer.vue";
import { checkPermi, checkRole } from "@/utils/permission"; //
export default {
name: "SurProject",
@ -888,6 +889,7 @@ export default {
});
},
methods: {
checkPermi,
mapSuccess(pt, city) {
this.form.longitude = pt.lng.toFixed(3);
this.form.latitude = pt.lat.toFixed(3);

View File

@ -149,7 +149,7 @@
<el-image
ref="preview"
style="width: 200px; height: 100px"
:src="scope.row.marksPicture"
:src="scope.row.marksPicture + '.min.jpg'"
@click="onPreview(scope.row.smarkUrl)"
>
</el-image>

View File

@ -150,7 +150,7 @@
<el-image
ref="preview"
style="width: 200px; height: 100px"
:src="scope.row.marksPicture"
:src="scope.row.marksPicture + '.min.jpg'"
@click="onPreview(scope.row.smarkUrl)"
>
</el-image>

View File

@ -1,132 +1,175 @@
<template>
<div class="app-container project-build-node-drawer">
<el-drawer v-bind="$attrs" v-on="$listeners" @opened="onOpen" @close="onClose" style="padding-left: 40px;" title="隐患整改流程日志">
<template slot="t">
<right-toolbar @queryTable="getAuditinfoList" :search="true"></right-toolbar>
</template>
<div class="block">
<el-timeline>
<el-timeline-item
v-for="(item,index ) in flowRecordList"
:key="index"
:icon="setIcon(item.processState)"
:color="setColor(item.processState)"
<div class="app-container project-build-node-drawer">
<el-drawer
v-bind="$attrs"
v-on="$listeners"
@opened="onOpen"
@close="onClose"
style="padding-left: 40px"
title="隐患整改流程日志"
>
<template slot="t">
<right-toolbar @queryTable="getAuditinfoList" :search="true"></right-toolbar>
</template>
<div class="block">
<el-timeline>
<el-timeline-item
v-for="(item, index) in flowRecordList"
:key="index"
:icon="setIcon(item.processState)"
:color="setColor(item.processState)"
>
<p style="font-weight: 700">
{{ getProcess(index, item.process) }}
</p>
<el-card :body-style="{ padding: '10px' }">
<el-descriptions class="margin-top" :column="1" size="small" border>
<el-descriptions-item
v-if="item.createUserName"
label-class-name="my-label"
:labelStyle="labelStyle"
>
<p style="font-weight: 700">{{ item.process }}</p>
<el-card :body-style="{ padding: '10px' }">
<el-descriptions class="margin-top" :column="1" size="small" border>
<el-descriptions-item v-if="item.createUserName" label-class-name="my-label" :labelStyle='labelStyle'>
<template slot="label"><i class="el-icon-user"></i>办理用户</template>
{{ item.createUserName }}
<el-tag type="info" size="mini">{{ item.createUser }}</el-tag>
</el-descriptions-item>
<el-descriptions-item v-if="item.createTime" label-class-name="my-label" :labelStyle='labelStyle'>
<template slot="label"><i class="el-icon-date"></i>办理时间</template>
{{ item.createTime }}
</el-descriptions-item>
<el-descriptions-item v-if="item.fileUrls" label-class-name="my-label" :labelStyle='labelStyle'>
<template slot="label" v-if="item.processState == 1"><i class="el-icon-picture-outline"></i></template>
<template slot="label" v-if="item.processState != 1"><i class="el-icon-picture-outline"></i></template>
<el-image ref="preview" v-for="img in item.fileUrls.split(',')" :src="img" style="width: 50px; height: 50px;margin-right: 10px;" @click="onPreview(img)"></el-image>
</el-descriptions-item>
<el-descriptions-item v-if="item.opinion" label-class-name="my-label" :labelStyle='labelStyle'>
<template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
{{ item.opinion }}
</el-descriptions-item>
</el-descriptions>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-drawer>
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" style="z-index: 9999;"/>
</div>
</template>
<template slot="label"><i class="el-icon-user"></i>办理用户</template>
{{ item.createUserName }}
<el-tag type="info" size="mini">{{ item.createUser }}</el-tag>
</el-descriptions-item>
<el-descriptions-item
v-if="item.createTime"
label-class-name="my-label"
:labelStyle="labelStyle"
>
<template slot="label"><i class="el-icon-date"></i>办理时间</template>
{{ item.createTime }}
</el-descriptions-item>
<el-descriptions-item
v-if="item.fileUrls"
label-class-name="my-label"
:labelStyle="labelStyle"
>
<template slot="label" v-if="item.processState == 1"
><i class="el-icon-picture-outline"></i>隐患图片</template
>
<template slot="label" v-if="item.processState != 1"
><i class="el-icon-picture-outline"></i>整改图片</template
>
<el-image
ref="preview"
v-for="img in item.fileUrls.split(',')"
:src="img + '.min.jpg'"
style="width: 50px; height: 50px; margin-right: 10px"
@click="onPreview(img)"
></el-image>
</el-descriptions-item>
<el-descriptions-item
v-if="item.opinion"
label-class-name="my-label"
:labelStyle="labelStyle"
>
<template slot="label"
><i class="el-icon-tickets"></i>处理意见</template
>
{{ item.opinion }}
</el-descriptions-item>
</el-descriptions>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-drawer>
<el-image-viewer
v-if="showViewer"
:on-close="closeViewer"
:url-list="srcList"
style="z-index: 9999"
/>
</div>
</template>
<script>
import { auditinfoList} from "@/api/trouble/sspProblemmodify";
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
<script>
import { auditinfoList } from "@/api/trouble/sspProblemmodify";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
components: { ElImageViewer },
props: {
formData: {
problemmodifyId: String
}
export default {
components: { ElImageViewer },
props: {
formData: {
problemmodifyId: String,
},
dicts: [],
data() {
return {
//
queryParams: {
mainId: null
},
//
loading: true,
//
flowRecordList: [],
//label
labelStyle: { 'width': '200px' },
showViewer: false,
srcList: []
},
dicts: [],
data() {
return {
//
queryParams: {
mainId: null,
},
//
loading: true,
//
flowRecordList: [],
//label
labelStyle: { width: "200px" },
showViewer: false,
srcList: [],
};
},
computed: {},
watch: {
formData: {
handler(value) {
this.formData = value;
},
immediate: true,
},
},
created() {},
mounted() {},
beforeDestroy() {},
methods: {
onPreview(url) {
this.srcList = [];
this.srcList.push(url);
this.showViewer = true;
},
getProcess(i, v) {
let num = this.flowRecordList.length - i;
if (num < 10) {
num = "0" + num;
}
return num + ". " + v;
},
closeViewer() {
this.showViewer = false;
},
setIcon(val) {
if (val == 2) {
return "el-icon-close";
} else {
return "el-icon-check";
}
},
computed: {},
watch: {
formData: {
handler(value) {
this.formData = value
},
immediate: true
}
setColor(val) {
if (val == 2) {
return "#f56c6c";
} else {
return "#2bc418";
}
},
created() {
onOpen() {
this.getAuditinfoList();
},
mounted() {
onClose() {},
/** 查询项目人员列表 */
getAuditinfoList() {
if (this.formData.problemmodifyId) {
this.loading = true;
this.queryParams.mainId = this.formData.problemmodifyId;
auditinfoList(this.queryParams).then((response) => {
this.flowRecordList = response.rows;
this.loading = false;
});
}
},
beforeDestroy() {
},
methods: {
onPreview(url) {
this.srcList=[];
this.srcList.push(url);
this.showViewer = true
},
closeViewer() {
this.showViewer = false
},
setIcon(val) {
if (val==2) {
return "el-icon-close";
} else {
return "el-icon-check";
}
},
setColor(val) {
if (val==2) {
return "#f56c6c";
} else {
return "#2bc418";
}
},
onOpen() {
this.getAuditinfoList();
},
onClose() {},
/** 查询项目人员列表 */
getAuditinfoList() {
if(this.formData.problemmodifyId){
this.loading = true;
this.queryParams.mainId = this.formData.problemmodifyId;
auditinfoList(this.queryParams).then(response => {
this.flowRecordList = response.rows;
this.loading = false;
});
}
},
}
}
</script>
},
};
</script>

View File

@ -193,7 +193,7 @@ public class PshController {
calendar.setTime(date);
//当前时间基础上加3天默认为整改截至时间
calendar.add(Calendar.DATE, 3);
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
return prefix + "/sspChange";
}

View File

@ -193,7 +193,7 @@ public class SspController {
calendar.setTime(date);
//当前时间基础上加3天默认为整改截至时间
calendar.add(Calendar.DATE, 3);
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
return prefix + "/sspChange";
}

View File

@ -44,7 +44,7 @@
<div class="my-gallery row">
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
<a th:if="${fileListImgObj!=null}" th:href="@{${fileListImgObj?.fileUrl}}">
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
</a>
</figure>
</div>

View File

@ -38,6 +38,17 @@
overflow-x:hidden;
overflow-y: auto;
}
#date-wrapper ol, #d-tit>div {
width: 33%;
float: left;
position: relative;
}
#date-wrapper ol:nth-child(2) {
left: 0%;
}
#date-wrapper ol:nth-child(3) {
left: 0%;
}
</style>
</head>
<body>

View File

@ -305,7 +305,7 @@
str += '<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].marksPicture+'">'+
'<img src="'+result.allChangesInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -336,7 +336,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -366,7 +366,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -396,7 +396,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+

View File

@ -293,7 +293,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -323,7 +323,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -353,7 +353,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -383,7 +383,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+

View File

@ -54,7 +54,7 @@
<div class="my-gallery row">
<figure th:if="${queryChangeNicked.fileListImgState == 'OK' && queryChangeNicked?.fileListImg!=null}" th:each="fileListImgObj,loop:${queryChangeNicked?.fileListImg}">
<a th:href="@{${fileListImgObj?.fileUrl}}">
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj.fileUrl+'.min.jpg'}" class="img-border" th:attr="url=${fileListImgObj.fileUrl}"/>
</a>
</figure>
</div>
@ -153,7 +153,7 @@
<div class="my-gallery row" th:if="${queryChangeNicked?.opinionFileUrlState == 'OK'}">
<figure th:each="fileListImgObj:${queryChangeNicked?.opinionFileUrl}" th:if=${fileListImgObj!=null} >
<a th:href="@{${fileListImgObj?.fileUrl}}">
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
</a>
</figure>
</div>

View File

@ -44,7 +44,7 @@
<div class="my-gallery row">
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
<a th:if="${fileListImgObj!=null}" th:href="@{${fileListImgObj?.fileUrl}}">
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
</a>
</figure>
</div>

View File

@ -38,6 +38,17 @@
overflow-x:hidden;
overflow-y: auto;
}
#date-wrapper ol, #d-tit>div {
width: 33%;
float: left;
position: relative;
}
#date-wrapper ol:nth-child(2) {
left: 0%;
}
#date-wrapper ol:nth-child(3) {
left: 0%;
}
</style>
</head>
<body>

View File

@ -304,7 +304,7 @@
str += '<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].marksPicture+'">'+
'<img src="'+result.allChangesInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -335,7 +335,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -365,7 +365,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -395,7 +395,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+

View File

@ -293,7 +293,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -323,7 +323,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -353,7 +353,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+
@ -383,7 +383,7 @@
'<div class="row">'+
'<div class="col-xs-3">'+
'<div class="ssp-record-img">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
'</div>'+
'</div>'+
'<div class="col-xs-7">'+

View File

@ -52,7 +52,7 @@
<div class="my-gallery row">
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
<a th:href="@{${fileListImgObj.fileUrl}}">
<img th:src="${fileListImgObj.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj.fileUrl+'.min.jpg'}" class="img-border"/>
</a>
</figure>
</div>
@ -151,7 +151,7 @@
<div class="my-gallery row" th:if="${queryChangeNicked?.opinionFileUrlState == 'OK'}">
<figure th:each="fileListImgObj:${queryChangeNicked?.opinionFileUrl}" th:if=${fileListImgObj!=null}>
<a th:href="@{${fileListImgObj?.fileUrl}}">
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
</a>
</figure>
</div>

View File

@ -30,10 +30,10 @@ public class BgWorkTrainController extends BaseController {
public TableDataInfo getWorkTrainList(String trainType,String deptId,String projectId){
WorkTrain workTrain = new WorkTrain();
workTrain.setTrainType(trainType);
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
workTrain.setNowDept(deptId);
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
workTrain.setProjectId(Convert.toLong(projectId));
}
return getDataTable(workTrainService.selectBgscreenWorkTrainListv2(workTrain));

View File

@ -38,10 +38,10 @@ public class ProjectAttendanceController extends BaseController {
@GetMapping("/getDeptWorksList")
public TableDataInfo getDeptWorksList(String deptId,String projectId){
SurProjectDeptWroks surProjectDeptWroks = new SurProjectDeptWroks();
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
surProjectDeptWroks.setDeptId(Convert.toLong(deptId));
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
surProjectDeptWroks.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectDeptWroksService.selectBgscreenDeptWroksList(surProjectDeptWroks));
@ -57,10 +57,10 @@ public class ProjectAttendanceController extends BaseController {
@GetMapping("/getWorkAttendanceList")
public TableDataInfo getWorkAttendanceList(String deptId,String projectId,String date){
SurProjectWorkAttendance surProjectWorkAttendance = new SurProjectWorkAttendance();
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
surProjectWorkAttendance.setDeptId(Convert.toLong(deptId));
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
surProjectWorkAttendance.setProjectId(Convert.toLong(projectId));
}
if(StringUtils.isNotBlank(date)){

View File

@ -0,0 +1,42 @@
package com.yanzhu.jh.bigscreen.web.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.StringUtils;
import com.yanzhu.jh.project.domain.SurProjectInsurance;
import com.yanzhu.jh.project.service.ISurProjectInsuranceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Conller
*/
@RestController
@RequestMapping("/bgscreen/insurance")
public class ProjectInsuranceController extends BaseController {
@Autowired
private ISurProjectInsuranceService surProjectInsuranceService;
/**
*
* @param deptId
* @param projectId
* @return
*/
@GetMapping("/getProjectInsuranceList")
public TableDataInfo getProjectInsuranceList(String deptId,String projectId){
SurProjectInsurance surProjectInsurance = new SurProjectInsurance();
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
surProjectInsurance.setNowDept(deptId);
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
surProjectInsurance.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectInsuranceService.selectBgscreenInsuranceList(surProjectInsurance));
}
}

View File

@ -31,10 +31,10 @@ public class ProjectSpecialController extends BaseController {
@GetMapping("/getProjectSpecialView")
public TableDataInfo getProjectSpecialView(String deptId,String projectId){
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
surProjectWorkSpecial.setNowDept(deptId);
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectWorkSpecialService.selectBgscreenWorkSpecialList(surProjectWorkSpecial));
@ -49,7 +49,7 @@ public class ProjectSpecialController extends BaseController {
public TableDataInfo getProjectSpecialList(String projectId){
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
surProjectWorkSpecial.setIsDel(Convert.toInt(PublicStateEnum.OK.getCode()));
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectWorkSpecialService.selectSurProjectWorkSpecialList(surProjectWorkSpecial));

View File

@ -1,6 +1,8 @@
package com.yanzhu.jh.project.mapper;
import java.util.List;
import java.util.Map;
import com.yanzhu.jh.project.domain.SurProjectInsurance;
/**
@ -27,6 +29,14 @@ public interface SurProjectInsuranceMapper
*/
public List<SurProjectInsurance> selectSurProjectInsuranceList(SurProjectInsurance surProjectInsurance);
/**
*
*
* @param surProjectInsurance
* @return map
*/
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance);
/**
*
*

View File

@ -1,6 +1,8 @@
package com.yanzhu.jh.project.service;
import java.util.List;
import java.util.Map;
import com.yanzhu.jh.project.domain.SurProjectInsurance;
/**
@ -35,6 +37,14 @@ public interface ISurProjectInsuranceService
*/
public List<SurProjectInsurance> selectSurProjectInsuranceListv2(SurProjectInsurance surProjectInsurance);
/**
*
*
* @param surProjectInsurance
* @return map
*/
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance);
/**
*
*

View File

@ -1,6 +1,7 @@
package com.yanzhu.jh.project.service.impl;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.common.utils.DateUtils;
@ -60,6 +61,17 @@ public class SurProjectInsuranceServiceImpl implements ISurProjectInsuranceServi
return surProjectInsuranceMapper.selectSurProjectInsuranceListv2(surProjectInsurance);
}
/**
*
*
* @param surProjectInsurance
* @return map
*/
@Override
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance){
return surProjectInsuranceMapper.selectBgscreenInsuranceList(surProjectInsurance);
}
/**
*
*

View File

@ -76,6 +76,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sp.projectSort,
sdd.dict_sort
</select>
<!--查询项目保险统计列表-->
<select id="selectBgscreenInsuranceList" parameterType="SurProjectInsurance" resultType="map">
SELECT
sp.id,
sp.projectName,
CASE
WHEN azx.insurance_state IS NULL THEN
'未办理'
ELSE
'已办理'
END AS azxstate,
CASE
WHEN yqx.insurance_state IS NULL THEN
'未办理'
ELSE
'已办理'
END AS yqxstate
FROM
sur_project sp
LEFT JOIN sur_project_insurance azx ON azx.project_id = sp.id
AND azx.insurance_type = 1
LEFT JOIN sur_project_insurance yqx ON yqx.project_id = sp.id
AND yqx.insurance_type = 2
where sp.isDel=0
<if test="nowDept != null and nowDept != ''"> and sp.deptId = #{nowDept}</if>
<if test="projectId != null "> and sp.id = #{projectId}</if>
ORDER BY sp.projectSort ASC
</select>
<select id="selectSurProjectInsuranceById" parameterType="Long" resultMap="SurProjectInsuranceResult">
<include refid="selectSurProjectInsuranceVo"/>

View File

@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select ssa.id, ssa.mainId, ssa.processState, ssa.opinion, ssa.isDel, ssa.createUser, ssa.createTime, group_concat(ssf.fileUrl) as fileUrls, u.nick_name as createUserName,ssd.dict_label as process from smz_ssp_auditinfo ssa
left join smz_ssp_fileinfo ssf on ssf.auditId = ssa.id
left join sys_user u on u.phonenumber = ssa.createUser
left join sys_dict_data ssd on ssd.dict_type = 'smz_ssp_checkstate' and ssd.dict_value = ssa.processState
left join sys_dict_data ssd on ssd.dict_type = 'smz_ssp_auditinfo' and ssd.dict_value = ssa.processState
</sql>
<select id="selectSmzSspAuditinfoList" parameterType="SmzSspAuditinfo" resultMap="SmzSspAuditinfoResult">