提交代码

dev_xds
姜玉琦 2023-08-15 17:48:24 +08:00
parent 87ed3ecc23
commit 91def538e9
27 changed files with 311 additions and 64 deletions

View File

@ -10,8 +10,6 @@ ruoyi:
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/data/uploadPath
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
thumbnail: D:/data/uploadPath
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数字计算 char 字符验证

View File

@ -205,17 +205,17 @@
v-hasPermi="['system:assess:list']">季度考核管理</el-dropdown-item>
<el-dropdown-item command="handleBuildNode" icon="el-icon-data-analysis"
v-hasPermi="['project:build_node_data:list']">计划节点管理</el-dropdown-item>
<el-dropdown-item command="handlePshProblemmodify" icon="el-icon-first-aid-kit"
<el-dropdown-item command="handlePshProblemmodify" icon="el-icon-message-solid"
v-hasPermi="['trouble:sspProblemmodify:list']">安全隐患排查</el-dropdown-item>
<el-dropdown-item command="handleSspProblemmodify" icon="el-icon-first-aid-kit"
<el-dropdown-item command="handleSspProblemmodify" icon="el-icon-camera-solid"
v-hasPermi="['trouble:sspProblemmodify:list']">质量隐患排查</el-dropdown-item>
<el-dropdown-item command="handleWorkTrain" icon="el-icon-notebook-2"
v-hasPermi="['work:workTrain:list']">项目专项培训</el-dropdown-item>
<el-dropdown-item command="handleEmergencyDrill" icon="el-icon-first-aid-kit"
v-hasPermi="['work:emergencyDrill:list']">项目应急演练</el-dropdown-item>
<el-dropdown-item command="handleProjectSpecial" icon="el-icon-first-aid-kit"
<el-dropdown-item command="handleProjectSpecial" icon="el-icon-user"
v-hasPermi="['project:surProjectSpecial:list']">项目特种人员</el-dropdown-item>
<el-dropdown-item command="handleProjectAttendance" icon="el-icon-first-aid-kit"
<el-dropdown-item command="handleProjectAttendance" icon="el-icon-trophy"
v-hasPermi="['project:surProjectAttendance:add']">今日出勤</el-dropdown-item>
<el-dropdown-item command="handleDelete" icon="el-icon-delete"
v-hasPermi="['project:surProject:remove']">删除项目</el-dropdown-item>

View File

@ -125,13 +125,13 @@
<image-preview v-if="scope.row.credentialType=='JPG' || scope.row.credentialType=='PNG' || scope.row.credentialType=='JPEG'" :src="scope.row.credentialFile" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
icon="el-icon-download"
@click="handledownload(scope.row)"
v-hasPermi="['project:surProjectSpecial:list']"
>下载证书</el-button>
@ -183,7 +183,7 @@
<el-form-item label="联系方式" prop="phoneNumber">
<el-input v-model="form.phoneNumber" placeholder="请输入联系方式" />
</el-form-item>
<el-form-item label="是否有证书" prop="isCredential">
<el-form-item label="是否有证书" prop="isCredential" v-if="false">
<el-select v-model="form.isCredential" placeholder="请选择是否有证书" style="width: 100%;" @change="credentialChange">
<el-option
v-for="dict in dict.type.sys_yes_no"
@ -201,11 +201,14 @@
v-model="form.credentialExpirationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择证书过期时间">
placeholder="请选择证书过期时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
<el-form-item label="证书附件" prop="credentialFile">
<FileUpload @input="fileInput" :limit="1" :fileType="['pdf','png','jpg','jpeg']"/>
<FileUpload @input="fileInput" :limit="1" :fileType="['pdf','png','jpg','jpeg']" v-model="files"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -261,6 +264,7 @@ export default {
credential: false,
//
form: {},
files: [],
//
rules: {
name: [
@ -386,11 +390,7 @@ export default {
const id = row.id || this.ids
getSurProjectSpecial(id).then(response => {
this.form = response.data;
if(this.form.isCredential=="Y"){
this.credential = true;
}else{
this.credential = false;
}
this.files = this.form.credentialFile;
this.open = true;
this.title = "修改项目特种人员";
});
@ -430,6 +430,10 @@ export default {
this.download('project/surProjectSpecial/export', {
...this.queryParams
}, `surProjectSpecial_${new Date().getTime()}.xlsx`)
},
/** 下载证书 */
handledownload(row){
window.open('/jhapi'+row.credentialFile);
}
}
};

View File

@ -62,7 +62,7 @@
<el-button
size="mini"
type="text"
icon="el-icon-edit"
icon="el-icon-download"
@click="handledownload(scope.row)"
v-hasPermi="['project:surProjectSpecial:list']"
>下载证书</el-button>
@ -378,7 +378,7 @@
},
/** 下载证书 */
handledownload(row){
window.open(row.credentialFile);
window.open('/jhapi'+row.credentialFile);
}
}
}

View File

@ -113,6 +113,7 @@
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
<el-tab-pane label="已处理" name="ycl"></el-tab-pane>
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
<el-table v-loading="loading" :data="sspProblemmodifyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" v-if="false"/>
<el-table-column label="项目名称" align="center" prop="problemArea" width="200" show-overflow-tooltip/>

View File

@ -113,9 +113,10 @@
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
<el-tab-pane label="已处理" name="ycl"></el-tab-pane>
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
<el-table v-loading="loading" :data="sspProblemmodifyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" align="center" v-if="false"/>
<el-table-column label="项目名称" align="center" prop="problemArea" width="200" show-overflow-tooltip/>
<el-table-column label="项目名称" align="center" prop="problemArea" width="200" fixed="left" show-overflow-tooltip/>
<el-table-column label="隐患图片" align="center" property="path" width="220">
<template slot-scope="scope">
<el-image ref="preview"
@ -133,12 +134,22 @@
</el-table-column>
<el-table-column label="隐患描述" align="center" prop="workParts" width="100" show-overflow-tooltip/>
<el-table-column label="整改要求" align="center" prop="changeInfo" width="200" show-overflow-tooltip/>
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="135">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.nickedTime, '{y}-{m}-{d} {h}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="隐患整改人" align="left" width="120" show-overflow-tooltip>
<template slot-scope="scope">
<div>{{scope.row.lordSent}}</div>
<div>{{scope.row.lordSentUser}}</div>
</template>
</el-table-column>
<el-table-column label="流程状态" align="center" prop="checkState">
<template slot-scope="scope">
<dict-tag :options="dict.type.smz_ssp_checkstate" :value="scope.row.checkState"/>
</template>
</el-table-column>
<el-table-column label="复检人" align="left" width="120" show-overflow-tooltip>
<template slot-scope="scope">
<div>{{scope.row.recheckSend}}</div>
@ -151,18 +162,13 @@
<div>{{scope.row.copySendUser}}</div>
</template>
</el-table-column>
<el-table-column label="流程状态" align="center" prop="checkState">
<template slot-scope="scope">
<dict-tag :options="dict.type.smz_ssp_checkstate" :value="scope.row.checkState"/>
</template>
</el-table-column>
<el-table-column label="提交用户" align="center" prop="createUser" width="100"/>
<el-table-column label="提交时间" align="center" prop="createTime" width="135">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100" fixed="right">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
<template slot-scope="scope">
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
size="mini"

View File

@ -544,7 +544,7 @@
SELECT
IFNULL( spi.projectName, '' ) AS projectName,
IFNULL( spui.unitType, '' ) AS unitType,
IFNULL( spuii.unit_name,'') AS unitTypeName,
IFNULL( sdd.dict_label,'') AS unitTypeName,
IFNULL( spuii.unit_icon,'') AS unitTypeIcon,
IFNULL( spui.unitName, '' ) AS unitName,
IFNULL( spui.unitPersonName, '' ) AS unitPersonName,
@ -552,10 +552,12 @@
FROM
`sur_project_unit_info` spui
LEFT JOIN sur_project_unit_icon spuii ON spui.unitType = spuii.id
left join sys_dict_data sdd on sdd.dict_type = 'sys_dept_type' and sdd.dict_value = spui.unitType
LEFT JOIN sur_project spi ON spui.projectId = spi.id
WHERE
spui.projectId =#{projectId}
AND spui.del_flag = 0
ORDER BY sdd.dict_sort asc
</select>
<select id="selectDeptByProjectId" parameterType="Long" resultType="map">

View File

@ -98,10 +98,16 @@
<div class="spp-block-title">
检查时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm:ss')}">
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.nickedTime,'yyyy-MM-dd HH:mm')}"></div>
</div>
<div class="ssp-block" th:if="${queryChangeNicked.rejectState == 'OK'}">
<div class="spp-block-title">
驳回意见

View File

@ -127,7 +127,7 @@
整改截至时间
</div>
<div class="ssp-block-input">
<input type="text" id="dateTime" data-options="{'type':'YYYY-MM-DD hh:mm','beginYear':2023,'endYear':2033}" readonly placeholder="请选择整改截至时间" th:value="${nickedTime}" />
<input type="text" id="dateTime" data-options="{'type':'YYYY-MM-DD hh:mm','beginYear':2023,'endYear':2033,'limitTime':'tomorrow'}" readonly placeholder="请选择整改截至时间" th:value="${nickedTime}" />
</div>
</div>
<div class="ssp-block">

View File

@ -108,10 +108,16 @@
<div class="spp-block-title">
检查时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm:ss')}">
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.nickedTime,'yyyy-MM-dd HH:mm')}"></div>
</div>
<div class="ssp-block" th:if="${queryChangeNicked?.rejectState == 'OK'}">
<div class="spp-block-title">
驳回意见

View File

@ -98,10 +98,16 @@
<div class="spp-block-title">
检查时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm:ss')}">
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.nickedTime,'yyyy-MM-dd HH:mm')}"></div>
</div>
<div class="ssp-block" th:if="${queryChangeNicked.rejectState == 'OK'}">
<div class="spp-block-title">
驳回意见

View File

@ -127,7 +127,7 @@
整改截至时间
</div>
<div class="ssp-block-input">
<input type="text" id="dateTime" data-options="{'type':'YYYY-MM-DD hh:mm','beginYear':2023,'endYear':2033}" placeholder="请选择整改截至时间" th:value="${recheckSend}" readonly />
<input type="text" id="dateTime" data-options="{'type':'YYYY-MM-DD hh:mm','beginYear':2023,'endYear':2033,'limitTime':'tomorrow'}" placeholder="请选择整改截至时间" th:value="${nickedTime}" readonly />
</div>
</div>
<div class="ssp-block">

View File

@ -106,10 +106,16 @@
<div class="spp-block-title">
检查时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm:ss')}">
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.createTime,'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</div>
<div class="ssp-block-word" th:text="${#temporals.format(queryChangeNicked.nickedTime,'yyyy-MM-dd HH:mm')}"></div>
</div>
<div class="ssp-block" th:if="${queryChangeNicked?.rejectState == 'OK'}">
<div class="spp-block-title">
驳回意见

View File

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

View File

@ -0,0 +1,57 @@
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.enums.PublicStateEnum;
import com.ruoyi.common.utils.StringUtils;
import com.yanzhu.jh.project.domain.SurProjectWorkSpecial;
import com.yanzhu.jh.project.service.ISurProjectWorkSpecialService;
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/projectspecial")
public class ProjectSpecialController extends BaseController {
@Autowired
ISurProjectWorkSpecialService surProjectWorkSpecialService;
/**
*
* @param deptId
* @param projectId
* @return
*/
@GetMapping("/getProjectSpecialView")
public TableDataInfo getProjectSpecialView(String deptId,String projectId){
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
surProjectWorkSpecial.setNowDept(deptId);
}
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectWorkSpecialService.selectBgscreenWorkSpecialList(surProjectWorkSpecial));
}
/**
*
* @param projectId
* @return
*/
@GetMapping("/getProjectSpecialList")
public TableDataInfo getProjectSpecialList(String projectId){
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
surProjectWorkSpecial.setIsDel(Convert.toInt(PublicStateEnum.OK.getCode()));
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
}
return getDataTable(surProjectWorkSpecialService.selectSurProjectWorkSpecialList(surProjectWorkSpecial));
}
}

View File

@ -65,9 +65,13 @@ public class SurProjectWorkSpecial extends BaseEntity
@Excel(name = "证书附件")
private String credentialFile;
/** 证书类型 */
@Excel(name = "证书类型")
private String credentialType;
/** 删除标识 */
@Excel(name = "删除标识")
private String isDel;
private Integer isDel;
private String projectName;
private String deptName;
@ -162,12 +166,12 @@ public class SurProjectWorkSpecial extends BaseEntity
{
return credentialExpirationTime;
}
public void setIsDel(String isDel)
public void setIsDel(Integer isDel)
{
this.isDel = isDel;
}
public String getIsDel()
public Integer getIsDel()
{
return isDel;
}
@ -204,6 +208,14 @@ public class SurProjectWorkSpecial extends BaseEntity
this.credentialFile = credentialFile;
}
public String getCredentialType() {
return credentialType;
}
public void setCredentialType(String credentialType) {
this.credentialType = credentialType;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -219,6 +231,7 @@ public class SurProjectWorkSpecial extends BaseEntity
.append("credentialNumber", getCredentialNumber())
.append("credentialExpirationTime", getCredentialExpirationTime())
.append("credentialFile", getCredentialFile())
.append("credentialType", getCredentialType())
.append("isDel", getIsDel())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())

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.SurProjectWorkSpecial;
/**
@ -27,6 +29,14 @@ public interface SurProjectWorkSpecialMapper
*/
public List<SurProjectWorkSpecial> selectSurProjectWorkSpecialList(SurProjectWorkSpecial surProjectWorkSpecial);
/**
*
*
* @param surProjectWorkSpecial
* @return
*/
public List<Map<String,Object>> selectBgscreenWorkSpecialList(SurProjectWorkSpecial surProjectWorkSpecial);
/**
*
*

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.SurProjectWorkSpecial;
/**
@ -27,6 +29,14 @@ public interface ISurProjectWorkSpecialService
*/
public List<SurProjectWorkSpecial> selectSurProjectWorkSpecialList(SurProjectWorkSpecial surProjectWorkSpecial);
/**
*
*
* @param surProjectWorkSpecial
* @return
*/
public List<Map<String,Object>> selectBgscreenWorkSpecialList(SurProjectWorkSpecial surProjectWorkSpecial);
/**
*
*

View File

@ -1,7 +1,11 @@
package com.yanzhu.jh.project.service.impl;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.file.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yanzhu.jh.project.mapper.SurProjectWorkSpecialMapper;
@ -44,6 +48,16 @@ public class SurProjectWorkSpecialServiceImpl implements ISurProjectWorkSpecialS
return surProjectWorkSpecialMapper.selectSurProjectWorkSpecialList(surProjectWorkSpecial);
}
/**
*
*
* @param surProjectWorkSpecial
* @return
*/
@Override
public List<Map<String,Object>> selectBgscreenWorkSpecialList(SurProjectWorkSpecial surProjectWorkSpecial) {
return surProjectWorkSpecialMapper.selectBgscreenWorkSpecialList(surProjectWorkSpecial);
}
/**
*
*
@ -56,6 +70,7 @@ public class SurProjectWorkSpecialServiceImpl implements ISurProjectWorkSpecialS
surProjectWorkSpecial.setCreateBy(SecurityUtils.getUsername());
surProjectWorkSpecial.setDeptId(SecurityUtils.getDeptId());
surProjectWorkSpecial.setCreateTime(DateUtils.getNowDate());
surProjectWorkSpecial.setCredentialType(FileUtils.getFileLastNameUpCase(surProjectWorkSpecial.getCredentialFile()));
return surProjectWorkSpecialMapper.insertSurProjectWorkSpecial(surProjectWorkSpecial);
}
@ -70,6 +85,7 @@ public class SurProjectWorkSpecialServiceImpl implements ISurProjectWorkSpecialS
{
surProjectWorkSpecial.setUpdateBy(SecurityUtils.getUsername());
surProjectWorkSpecial.setUpdateTime(DateUtils.getNowDate());
surProjectWorkSpecial.setCredentialType(FileUtils.getFileLastNameUpCase(surProjectWorkSpecial.getCredentialFile()));
return surProjectWorkSpecialMapper.updateSurProjectWorkSpecial(surProjectWorkSpecial);
}

View File

@ -3,13 +3,17 @@ package com.yanzhu.jh.work.controller;
import com.ruoyi.common.annotation.Log;
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.page.TableDataInfo;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.DeptTypeEnum;
import com.ruoyi.common.enums.SysRoleEnum;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDeptService;
import com.yanzhu.jh.project.domain.SurProject;
import com.yanzhu.jh.project.domain.SurProjectUnitInfo;
import com.yanzhu.jh.project.service.ISurProjectService;
import com.yanzhu.jh.project.service.ISurProjectUnitInfoService;
import com.yanzhu.jh.work.domain.WorkTrain;
import com.yanzhu.jh.work.service.IWorkTrainService;
@ -36,6 +40,9 @@ public class EmergencyDrillController extends BaseController
@Autowired
private ISysDeptService sysDeptService;
@Autowired
private ISurProjectService surProjectService;
@Autowired
private ISurProjectUnitInfoService surProjectUnitInfoService;
@ -130,6 +137,13 @@ public class EmergencyDrillController extends BaseController
@GetMapping("/projectUnitList")
public AjaxResult projectUnitList(SurProjectUnitInfo surProjectUnitInfo)
{
SysDept sysDept = sysDeptService.selectDeptById(getDeptId());
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
SurProject surProject = surProjectService.selectSurProjectById(surProjectUnitInfo.getProjectId());
surProjectUnitInfo.setNowDept(Convert.toStr(surProject.getDeptId()));
}else{
surProjectUnitInfo.setNowDept(Convert.toStr(getDeptId()));
}
return success(surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo));
}

View File

@ -3,10 +3,14 @@ package com.yanzhu.jh.work.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
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.SysRoleEnum;
import com.ruoyi.system.service.ISysDeptService;
import com.yanzhu.jh.project.domain.SurProject;
import com.yanzhu.jh.project.domain.SurProjectUnitInfo;
import com.yanzhu.jh.project.service.ISurProjectService;
import com.yanzhu.jh.project.service.ISurProjectUnitInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,6 +47,9 @@ public class WorkTrainController extends BaseController
@Autowired
private ISysDeptService sysDeptService;
@Autowired
private ISurProjectService surProjectService;
@Autowired
private ISurProjectUnitInfoService surProjectUnitInfoService;
@ -137,6 +144,13 @@ public class WorkTrainController extends BaseController
@GetMapping("/projectUnitList")
public AjaxResult projectUnitList(SurProjectUnitInfo surProjectUnitInfo)
{
SysDept sysDept = sysDeptService.selectDeptById(getDeptId());
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
SurProject surProject = surProjectService.selectSurProjectById(surProjectUnitInfo.getProjectId());
surProjectUnitInfo.setNowDept(Convert.toStr(surProject.getDeptId()));
}else{
surProjectUnitInfo.setNowDept(Convert.toStr(getDeptId()));
}
return success(surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo));
}

View File

@ -23,13 +23,9 @@ public class WorkTrainDept extends BaseEntity
@Excel(name = "协同部门主键")
private Long deptId;
/** 协同部门名称 */
@Excel(name = "协同部门名称")
private String deptName;
/** 是否组织部门 */
@Excel(name = "是否组织部门")
private Long isMain;
private String isMain;
public void setTrainId(Long trainId)
{
@ -50,20 +46,12 @@ public class WorkTrainDept extends BaseEntity
return deptId;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public void setIsMain(Long isMain)
public void setIsMain(String isMain)
{
this.isMain = isMain;
}
public Long getIsMain()
public String getIsMain()
{
return isMain;
}

View File

@ -2,9 +2,14 @@ package com.yanzhu.jh.work.service.impl;
import java.util.List;
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.system.mapper.SysDeptMapper;
import com.yanzhu.jh.project.domain.SurProject;
import com.yanzhu.jh.project.mapper.SurProjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -27,6 +32,12 @@ public class WorkTrainServiceImpl implements IWorkTrainService
@Autowired
private WorkTrainMapper workTrainMapper;
@Autowired
private SysDeptMapper sysDeptMapper;
@Autowired
private SurProjectMapper surProjectMapper;
/**
*
*
@ -144,13 +155,28 @@ public class WorkTrainServiceImpl implements IWorkTrainService
{
List<WorkTrainDept> workTrainDeptList = workTrain.getWorkTrainDeptList();
Long id = workTrain.getId();
//添加当前部门为默认为组织部门
if (StringUtils.isNull(workTrainDeptList)){
workTrainDeptList = new ArrayList<>();
}
WorkTrainDept dept = new WorkTrainDept();
SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
SurProject surProject = surProjectMapper.selectSurProjectById(workTrain.getProjectId());
dept.setDeptId(surProject.getDeptId());
}else{
dept.setDeptId(SecurityUtils.getDeptId());
}
dept.setIsMain(PublicStateEnum.YES.getCode());
workTrainDeptList.add(dept);
if (StringUtils.isNotNull(workTrainDeptList))
{
List<WorkTrainDept> list = new ArrayList<WorkTrainDept>();
for (WorkTrainDept workTrainDept : workTrainDeptList)
{
workTrainDept.setTrainId(id);
workTrainDept.setIsMain(Convert.toLong(PublicStateEnum.OK.getCode()));
workTrainDept.setIsMain(PublicStateEnum.NO.getCode());
list.add(workTrainDept);
}
if (list.size() > 0)

View File

@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="unitPersonPhone != null and unitPersonPhone != ''"> and unitPersonPhone = #{unitPersonPhone}</if>
<if test="createUser != null and createUser != ''"> and createUser = #{createUser}</if>
<if test="createTime != null "> and createTime = #{createTime}</if>
<if test="nowDept != null and nowDept != ''"> and unitId != #{nowDept}</if>
</where>
</select>

View File

@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="credentialNumber" column="credential_number" />
<result property="credentialExpirationTime" column="credential_expiration_time" />
<result property="credentialFile" column="credential_file" />
<result property="credentialType" column="credential_type" />
<result property="isDel" column="is_del" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@ -28,11 +29,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectSurProjectWorkSpecialVo">
select id, project_id, dept_id, name, sex, age, phone_number, id_number, is_credential, credential_number, credential_expiration_time, credential_file, is_del, create_by, create_time, update_by, update_time, remark from sur_project_work_special
select id, project_id, dept_id, name, sex, age, phone_number, id_number, is_credential, credential_number, credential_expiration_time, credential_file, credential_type, is_del, create_by, create_time, update_by, update_time, remark from sur_project_work_special
</sql>
<select id="selectSurProjectWorkSpecialList" parameterType="SurProjectWorkSpecial" resultMap="SurProjectWorkSpecialResult">
select spwp.id, spwp.project_id, spwp.dept_id, spwp.name, spwp.sex, spwp.age, spwp.phone_number, spwp.id_number, spwp.is_credential, spwp.credential_number, spwp.credential_expiration_time, spwp.credential_file, spwp.is_del, spwp.create_by, spwp.create_time, spwp.update_by, spwp.update_time, spwp.remark, sp.projectName, sd.dept_name from sur_project_work_special spwp
select spwp.id, spwp.project_id, spwp.dept_id, spwp.name, spwp.sex, spwp.age, spwp.phone_number, spwp.id_number, spwp.is_credential, spwp.credential_number, spwp.credential_expiration_time, spwp.credential_file, spwp.credential_type, spwp.is_del, spwp.create_by, spwp.create_time, spwp.update_by, spwp.update_time, spwp.remark, sp.projectName, sd.dept_name from sur_project_work_special spwp
left join sur_project sp on sp.id = spwp.project_id
left join sys_dept sd on sd.dept_id = spwp.dept_id
<where>
@ -41,18 +42,75 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null and name != ''"> and spwp.name like concat('%', #{name}, '%')</if>
<if test="projectName != null and projectName != ''"> and sp.projectName like concat('%', #{projectName}, '%')</if>
<if test="isCredential != null and isCredential != ''"> and spwp.is_credential = #{isCredential}</if>
<if test="phoneNumber != null and phoneNumber != ''"> and spwp.phone_number = #{phoneNumber}</if>
<if test="phoneNumber != null and phoneNumber != ''"> and spwp.phone_number like concat('%', #{phoneNumber}, '%')</if>
<if test="credentialNumber != null and credentialNumber != ''"> and spwp.credential_number like concat('%', #{credentialNumber}, '%')</if>
<if test="params.beginCredentialExpirationTime != null and params.beginCredentialExpirationTime != '' and params.endCredentialExpirationTime != null and params.endCredentialExpirationTime != ''"> and spwp.credential_expiration_time between #{params.beginCredentialExpirationTime} and #{params.endCredentialExpirationTime}</if>
<if test="isDel != null and isDel != ''"> and spwp.is_del = #{isDel}</if>
<if test="credentialType != null and credentialType != ''"> and spwp.credential_type = #{credentialType}</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
<!--子部门数据-->
<if test='nowRole == "4"'> and sp.deptId = #{nowDept}</if>
<!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept})</if>
<if test='nowRole == "99"'> and sp.id in (select spu.project_id from sur_project_userinfo spu where spu.user_id = #{nowUser} and spu.is_del=0)</if>
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and sp.id in (select DISTINCT spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept})</if>
<if test='nowRole == "99"'> and sp.id in (select DISTINCT spu.project_id from sur_project_userinfo spu where spu.user_id = #{nowUser} and spu.is_del=0)</if>
</where>
</select>
<!--查询项目特种人员统计列表-->
<select id="selectBgscreenWorkSpecialList" parameterType="SurProjectWorkSpecial" resultType="map">
SELECT
spws.project_id as projectId,
sp.projectName,
count(1) AS total,
IFNULL(expired.expired, 0) AS expired,
IFNULL(void.void, 0) AS void
FROM
sur_project_work_special spws
LEFT JOIN sur_project sp ON sp.id = spws.project_id
LEFT JOIN (
SELECT
s1.project_id AS pid,
count(1) AS expired
FROM
sur_project_work_special s1
left join sur_project sp1 on sp1.id = s1.project_id
WHERE
s1.is_del = 0
<if test="nowDept != null and nowDept != ''"> and sp1.deptId = #{nowDept}</if>
<if test="projectId != null "> and s1.project_id = #{projectId}</if>
AND s1.credential_expiration_time > NOW()
AND DATE_SUB(
s1.credential_expiration_time,
INTERVAL 1 MONTH
) <![CDATA[ <= ]]> NOW()
GROUP BY
s1.project_id
) expired ON expired.pid = spws.project_id
LEFT JOIN (
SELECT
s2.project_id AS pid,
count(1) AS void
FROM
sur_project_work_special s2
left join sur_project sp2 on sp2.id = s2.project_id
WHERE
s2.is_del = 0
<if test="nowDept != null and nowDept != ''"> and sp2.deptId = #{nowDept}</if>
<if test="projectId != null "> and s2.project_id = #{projectId}</if>
AND s2.credential_expiration_time <![CDATA[ < ]]> NOW()
GROUP BY
s2.project_id
) void ON void.pid = spws.project_id
WHERE
spws.is_del = 0
<if test="nowDept != null and nowDept != ''"> and sp.deptId = #{nowDept}</if>
<if test="projectId != null "> and spws.project_id = #{projectId}</if>
GROUP BY
spws.project_id
ORDER BY
sp.projectSort ASC
</select>
<select id="selectSurProjectWorkSpecialById" parameterType="Long" resultMap="SurProjectWorkSpecialResult">
<include refid="selectSurProjectWorkSpecialVo"/>
@ -73,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="credentialNumber != null">credential_number,</if>
<if test="credentialExpirationTime != null">credential_expiration_time,</if>
<if test="credentialFile != null">credential_file,</if>
<if test="credentialType != null">credential_type,</if>
<if test="isDel != null">is_del,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@ -92,6 +151,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="credentialNumber != null">#{credentialNumber},</if>
<if test="credentialExpirationTime != null">#{credentialExpirationTime},</if>
<if test="credentialFile != null">#{credentialFile},</if>
<if test="credentialType != null">#{credentialType},</if>
<if test="isDel != null">#{isDel},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@ -115,6 +175,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="credentialNumber != null">credential_number = #{credentialNumber},</if>
<if test="credentialExpirationTime != null">credential_expiration_time = #{credentialExpirationTime},</if>
<if test="credentialFile != null">credential_file = #{credentialFile},</if>
<if test="credentialType != null">credential_type = #{credentialType},</if>
<if test="isDel != null">is_del = #{isDel},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>

View File

@ -51,8 +51,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
END AS v_del
from smz_ssp_problemmodify ssp
left join sur_project sp on ssp.projectId = sp.id
<!--监理单位/总包公司/分包单位-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> left join sur_project_unit_info spui on spui.projectId = sp.id</if>
<where>
and ssp.isDel=0
<if test="projectId != null "> and ssp.projectId = #{projectId}</if>
@ -86,11 +84,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test='nowRole == "4"'> and sp.deptId = #{nowDept}</if>
<!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and spui.unitId = #{nowDept}</if>
<!--普通整改人是我,复检人是我,抄送人是我的数据-->
<!--普通整改人是我,复检人是我,抄送人是我,提交人是我的数据-->
<if test='nowRole == "99"'> and (ssp.lordSentUser = #{nowUser} or ssp.copySendUser = #{nowUser} or ssp.recheckSendUser = #{nowUser} or ssp.createUser = #{nowUser} )</if>
<if test='activeName == "dzg"'> and ssp.checkState in (0,3)</if>
<if test='activeName == "dqr"'> and ssp.checkState in (1)</if>
<if test='activeName == "ycl"'> and ssp.checkState = 4 </if>
<if test='activeName == "zgcs"'> and (ssp.updateTime is null or ssp.updateTime <![CDATA[ > ]]> ssp.nickedTime) </if>
</where>
order by createTime desc
</select>

View File

@ -115,7 +115,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test='trainType != null and trainType == "1"'> left join sys_dict_data sdd on sdd.dict_type = 'train_nature_yjyl' and wt.train_nature = sdd.dict_value</if>
<where>
and wt.is_del=0
<if test="deptId != null"> and sp.deptId = #{deptId}</if>
<if test="nowDept != null and nowDept != ''"> and sp.deptId = #{nowDept}</if>
<if test="trainType != null and trainType != ''"> and wt.train_type = #{trainType}</if>
<if test="projectId != null"> and wt.project_id = #{projectId}</if>
</where>
@ -126,9 +126,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectWorkTrainById" parameterType="Long" resultMap="WorkTrainWorkTrainDeptResult">
select a.id, a.project_id, a.project_name, a.main_image, a.train_type, a.train_nature, a.train_participants, a.begin_date, a.end_date, a.train_content, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
b.train_id as sub_train_id, b.dept_id as sub_dept_id, b.is_main as sub_is_main
b.train_id as sub_train_id, b.dept_id as sub_dept_id, b.is_main as sub_is_main
from work_train a
left join work_train_dept b on b.train_id = a.id
left join work_train_dept b on b.train_id = a.id and b.is_main ='N'
where a.id = #{id}
</select>