提交代码

dev_xds
姜玉琦 2023-08-14 22:51:52 +08:00
parent 58f9a98b3a
commit bc4c05de4f
30 changed files with 340 additions and 113 deletions

View File

@ -10,6 +10,8 @@ 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

@ -29,6 +29,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
private static String[] parsePatterns = {

View File

@ -99,17 +99,23 @@
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="联系方式" align="center" prop="phoneNumber" />
<el-table-column label="是否有证书" align="center" prop="isCredential">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isCredential"/>
</template>
</el-table-column>
<el-table-column label="证书编号" align="center" prop="credentialNumber" width="200" show-overflow-tooltip/>
<el-table-column label="证书过期时间" align="center" prop="credentialExpirationTime" width="180">
<el-table-column label="证书编号" align="center" prop="credentialNumber" width="150" show-overflow-tooltip/>
<el-table-column label="证书过期时间" align="center" prop="credentialExpirationTime" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.credentialExpirationTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="培训主图" align="center" prop="mainImage" width="200">
<template slot-scope="scope">
<image-preview :src="scope.row.mainImage" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">

View File

@ -61,16 +61,16 @@ public class WxProjectInfoServiceImpl implements WxIProjectInfoService {
list.add(totalMap);
}
}else if(SysRoleEnum.ZGS.getCode().equals(nowRole)){
SysDept sysDept = this.getZGSDept(Convert.toLong(map.get("deptId")));
SysDept sysDept = this.getZgsDept(Convert.toLong(map.get("deptId")));
totalMap.put("id",sysDept.getDeptId());
totalMap.put("text",sysDept.getDeptName());
list.add(totalMap);
}else if(SysRoleEnum.COMMON.getCode().equals(nowRole)){
//普通角色,获取真实部门
SysDept sysDept = this.getZGSDept(Convert.toLong(map.get("deptId")));
SysDept sysDept = this.getZgsDept(Convert.toLong(map.get("deptId")));
//判断当前部门是否是产业发展集团
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
sysDept = this.getZGSDept(Convert.toLong(sysDept.getDeptId()));
sysDept = this.getZgsDept(Convert.toLong(sysDept.getDeptId()));
totalMap.put("id",sysDept.getDeptId());
totalMap.put("text",sysDept.getDeptName());
list.add(totalMap);
@ -110,7 +110,7 @@ public class WxProjectInfoServiceImpl implements WxIProjectInfoService {
List<Map<String,Object>> list = new ArrayList<>();
String nowRole = Convert.toStr(sysRoleMapper.getUserMinRoleId(Convert.toLong(map.get("userId"))));
if(SysRoleEnum.ZGS.getCode().equals(nowRole)){
Long deptId = this.getZGSDept(Convert.toLong(map.get("deptId"))).getDeptId();
Long deptId = this.getZgsDept(Convert.toLong(map.get("deptId"))).getDeptId();
map.put("nowDeptId",Convert.toStr(deptId));
}else{
map.put("nowDeptId",Convert.toStr(map.get("deptId")));
@ -323,14 +323,14 @@ public class WxProjectInfoServiceImpl implements WxIProjectInfoService {
* @param deptId ID
* @return
*/
private SysDept getZGSDept(Long deptId){
private SysDept getZgsDept(Long deptId){
SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
if(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
//comFlag标识为1是子公司
if(DeptTypeEnum.COMFLAG.getCode().equals(sysDept.getComFlag())){
return sysDept;
}else{
return getZGSDept(sysDept.getParentId());
return getZgsDept(sysDept.getParentId());
}
}else{
return sysDept;

View File

@ -5,6 +5,7 @@ import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.QiniuUploadUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
@ -22,10 +23,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @ClassName:SspController
@ -190,6 +188,12 @@ public class PshController {
SysUser sysUser = sysUserService.selectUserByUserName(Convert.toStr(HttpSession.getAttribute("loginName")));
Model.addAttribute("recheckSend", sysUser.getNickName());
Model.addAttribute("recheckSendUser", sysUser.getPhonenumber());
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//当前时间基础上加3天默认为整改截至时间
calendar.add(Calendar.DATE, 3);
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
return prefix + "/sspChange";
}

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.SysRoleEnum;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.QiniuBase64UploadUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.system.mapper.SysRoleMapper;
@ -59,6 +60,7 @@ public class PshServiceImpl implements IPshService {
* 0
* 1
* */
String thisUser = map.get("loginName").toString();
String projectName = "";
//查询问题整改数据(发布记录)
@ -149,6 +151,7 @@ public class PshServiceImpl implements IPshService {
*
* */
//基本信息
map.put("nickedTime", DateUtils.parseDate(map.get("nickedTime")));
int a = pshMapper.saveSspInfoChanges(map);
//审批流创建
map.put("mainId", map.get("id"));

View File

@ -5,6 +5,7 @@ import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.QiniuUploadUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
@ -22,10 +23,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @ClassName:SspController
@ -190,6 +188,12 @@ public class SspController {
SysUser sysUser = sysUserService.selectUserByUserName(Convert.toStr(HttpSession.getAttribute("loginName")));
Model.addAttribute("recheckSend", sysUser.getNickName());
Model.addAttribute("recheckSendUser", sysUser.getPhonenumber());
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//当前时间基础上加3天默认为整改截至时间
calendar.add(Calendar.DATE, 3);
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
return prefix + "/sspChange";
}

View File

@ -5,6 +5,7 @@ import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.DeptTypeEnum;
import com.ruoyi.common.enums.SysRoleEnum;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.QiniuBase64UploadUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
@ -164,6 +165,7 @@ public class SspServiceImpl implements ISspService {
*
* */
//基本信息
map.put("nickedTime", DateUtils.parseDate(map.get("nickedTime")));
int a = sspMapper.saveSspInfoChanges(map);
//审批流创建
map.put("mainId", map.get("id"));
@ -414,7 +416,9 @@ public class SspServiceImpl implements ISspService {
//同一部门组装数据
if(comMap.get("id").toString().equals(userMap.get("deptId").toString())){
userInfoList.add(userMap);
}else if("1".equals(comMap.get("unitType").toString()) && SysRoleEnum.ZGS.getCode().equals(userMap.get("role_id").toString())){
}else if(DeptTypeEnum.ZGS.getCode().equals(comMap.get("unitType").toString()) && DeptTypeEnum.ZGS.getCode().equals(userMap.get("role_id").toString())){
userInfoList.add(userMap);
}else if(DeptTypeEnum.ZGS.getCode().equals(comMap.get("unitType").toString()) && DeptTypeEnum.ZGS.getCode().equals(userMap.get("dept_type_flag").toString())){
userInfoList.add(userMap);
}
}

View File

@ -3,13 +3,19 @@ package com.ruoyi.web.userLogin.service;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.DeptTypeEnum;
import com.ruoyi.common.enums.SysRoleEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.web.projectInfo.mapper.WxProjectInfoMapper;
import com.ruoyi.web.userLogin.mapper.WxUserLoginMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -38,6 +44,15 @@ public class WxUserLoginServiceImpl implements WxUserLoginService{
@Autowired
private WxUserLoginMapper mapper;
@Autowired
private SysDeptMapper sysDeptMapper;
@Autowired
private SysRoleMapper sysRoleMapper;
@Autowired
private WxProjectInfoMapper ProjectInfoMapper;
@Override
public Map<String,Object> checkLogoin(String loginName, String password,String openId, HttpSession session) {
Map<String,Object> stateMap = new HashMap<>();
@ -82,13 +97,40 @@ public class WxUserLoginServiceImpl implements WxUserLoginService{
userInfo.put("remark",userMap.containsKey("remark")?userMap.get("remark"):"");
userInfo.put("roleId",userMap.get("roleId"));
userInfo.put("roleName",userMap.get("roleName"));
stateMap.put("data","200");
stateMap.put("info","登录成功");
stateMap.put("userinfo",userInfo);
//存数据到session
session.setAttribute("userInfo",userInfo);
//设置缓存时间为一天
session.setMaxInactiveInterval(60*60*24);
/** 查询当前用户项目信息 **/
//当前登录账号角色信息
String nowRole = Convert.toStr(sysRoleMapper.getUserMinRoleId(Convert.toLong(userMap.get("user_id"))));
if(SysRoleEnum.ZGS.getCode().equals(nowRole)){
Long deptId = this.getZgsDept(Convert.toLong(userMap.get("dept_id"))).getDeptId();
map.put("nowDeptId",Convert.toStr(deptId));
}else{
map.put("nowDeptId",Convert.toStr(userMap.get("dept_id")));
}
//当前角色时管理员时,修改角色为集团公司
if(Convert.toInt(SysRoleEnum.JTGS.getCode())>Convert.toInt(nowRole)){
nowRole = SysRoleEnum.JTGS.getCode();
}
map.put("nowRole",nowRole);
List<Map<String, Object>> projectList = ProjectInfoMapper.getProjectByDeptIdAndCompanyId(map);
stateMap.put("data","200");
stateMap.put("info","登录成功");
stateMap.put("userinfo",userInfo);
//只有一个项目时直接保存项目信息
if(projectList!=null && projectList.size()==1){
Map<String,Object> projectInfo = new HashMap<>();
projectInfo.put("projectId",projectList.get(0).get("projectId"));
projectInfo.put("projectName",projectList.get(0).get("projectName"));
projectInfo.put("projectInfoList",projectList);
projectInfo.put("shengName","西安市");
projectInfo.put("shiName","西咸新区");
projectInfo.put("quName","泾河新城");
projectInfo.put("logCompanyName",userMap.get("dept_name"));
stateMap.put("projectInfo",projectInfo);
}
//存储用户openid
map.put("userId", Convert.toStr(userMap.get("user_id")));
map.put("nickname",userMap.get("nick_name"));
@ -163,6 +205,36 @@ public class WxUserLoginServiceImpl implements WxUserLoginService{
session.setAttribute("userInfo",dataMap);
//设置缓存时间为一天
session.setMaxInactiveInterval(60*60*24);
/** 查询当前用户项目信息 **/
Map<String,Object> searchMap = new HashMap<>(16);
//当前登录账号角色信息
String nowRole = Convert.toStr(sysRoleMapper.getUserMinRoleId(Convert.toLong(dataMap.get("userId"))));
if(SysRoleEnum.ZGS.getCode().equals(nowRole)){
Long deptId = this.getZgsDept(Convert.toLong(dataMap.get("deptId"))).getDeptId();
searchMap.put("nowDeptId",Convert.toStr(deptId));
}else{
searchMap.put("nowDeptId",Convert.toStr(dataMap.get("deptId")));
}
//当前角色时管理员时,修改角色为集团公司
if(Convert.toInt(SysRoleEnum.JTGS.getCode())>Convert.toInt(nowRole)){
nowRole = SysRoleEnum.JTGS.getCode();
}
searchMap.put("nowRole",nowRole);
searchMap.put("userId",dataMap.get("userId"));
List<Map<String, Object>> projectList = ProjectInfoMapper.getProjectByDeptIdAndCompanyId(searchMap);
//只有一个项目时直接保存项目信息
if(projectList!=null && projectList.size()==1){
Map<String,Object> projectInfo = new HashMap<>();
projectInfo.put("projectId",projectList.get(0).get("projectId"));
projectInfo.put("projectName",projectList.get(0).get("projectName"));
projectInfo.put("projectInfoList",projectList);
projectInfo.put("shengName","西安市");
projectInfo.put("shiName","西咸新区");
projectInfo.put("quName","泾河新城");
projectInfo.put("logCompanyName",dataMap.get("deptName"));
map.put("projectInfo",projectInfo);
}
}else {
map.put("code","300");
map.put("msg","暂无数据");
@ -199,6 +271,26 @@ public class WxUserLoginServiceImpl implements WxUserLoginService{
return map;
}
/**
* ID
*
* @param deptId ID
* @return
*/
private SysDept getZgsDept(Long deptId){
SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
if(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
//comFlag标识为1是子公司
if(DeptTypeEnum.COMFLAG.getCode().equals(sysDept.getComFlag())){
return sysDept;
}else{
return getZgsDept(sysDept.getParentId());
}
}else{
return sysDept;
}
}
@Override
public Map<String, Object> getOpenId(String code, String appId) {
String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+appId+"&secret="+appInfo.get(appId)+"&js_code="+code+"&grant_type=authorization_code";

View File

@ -140,6 +140,7 @@
<if test='deptId != null and deptId != "0"'>AND spi.deptId =#{deptId}</if>
</if>
GROUP BY spi.id
order by spi.projectSort
</select>
<!--根据登录账号查询出企业信息-->

View File

@ -14,7 +14,7 @@
ssp.workParts,
ssp.changeInfo,
ssp.checkState,
ssp.createTime,
date_format(ssp.createTime,'%Y-%m-%d %H:%i') AS createTime,
ssf.fileUrl,
ssp.lordSent,
ssp.lordSentUser,
@ -23,12 +23,16 @@
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
(case when ssp.lordSentUser = #{loginName} then 1 else 0 end) sort
(case when ssp.lordSentUser = #{loginName} then 1 else 0 end) sort,
case when ud.type_flag in (1,11) then sd.dept_name else ud.dept_name end as deptName
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
WHERE
ssp.projectId = #{projectId}
AND ssp.infoType = 0
@ -59,7 +63,7 @@
ssp.nickedInfo,
ssp.checkUser,
ssp.checkUserPhone,
ssp.createTime,
date_format(ssp.createTime,'%Y-%m-%d %H:%i') AS createTime,
ssf.fileUrl,
ssp.changeInfo,
ssp.lordSent,
@ -68,12 +72,16 @@
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
ssp.copySendUser
ssp.copySendUser,
case when ud.type_flag in (1,11) then sd.dept_name else ud.dept_name end as deptName
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
WHERE
ssp.projectId = #{projectId}
and ssp.isDel=0
@ -90,7 +98,7 @@
<select id="queryChangeNickedInfo" parameterType="map" resultType="map">
SELECT
ssp.*,
spi.projectName projectUnit,
case when ud.type_flag in (1,11) then CONCAT(sd.dept_name,' ', '[责任主体]') else concat(ud.dept_name, ' ', '[', sdd.dict_label ,']') end as projectUnit,
su.`nick_name` `name`,
ssa.id checkId
FROM
@ -98,6 +106,10 @@
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
left join sur_project_unit_info spui on spui.projectId = spi.id and spui.unitId = su.dept_id
left join sys_dict_data sdd on sdd.dict_type = 'sys_dept_type' and sdd.dict_value = spui.unitType
WHERE
ssp.id = #{id}
GROUP BY ssp.id
@ -128,6 +140,7 @@
copySend,
copySendUser,
checkState,
nickedTime,
danger_type,
recheckSend,
recheckSendUser,
@ -147,6 +160,7 @@
#{copySend},
#{copySendUser},
0,
#{nickedTime},
#{dangerType},
#{recheckSend},
#{recheckSendUser},

View File

@ -14,7 +14,7 @@
ssp.workParts,
ssp.changeInfo,
ssp.checkState,
ssp.createTime,
date_format(ssp.createTime,'%Y-%m-%d %H:%i') AS createTime,
ssf.fileUrl,
ssp.lordSent,
ssp.lordSentUser,
@ -23,12 +23,16 @@
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
(case when ssp.lordSentUser = #{loginName} then 1 else 0 end) sort
(case when ssp.lordSentUser = #{loginName} then 1 else 0 end) sort,
case when ud.type_flag in (1,11) then sd.dept_name else ud.dept_name end as deptName
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
WHERE
ssp.projectId = #{projectId}
and ssp.isDel=0
@ -59,7 +63,7 @@
ssp.nickedInfo,
ssp.checkUser,
ssp.checkUserPhone,
ssp.createTime,
date_format(ssp.createTime,'%Y-%m-%d %H:%i') AS createTime,
ssf.fileUrl,
ssp.changeInfo,
ssp.lordSent,
@ -68,12 +72,16 @@
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
ssp.copySendUser
ssp.copySendUser,
case when ud.type_flag in (1,11) then sd.dept_name else ud.dept_name end as deptName
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
WHERE
ssp.projectId = #{projectId}
and ssp.isDel=0
@ -90,7 +98,7 @@
<select id="queryChangeNickedInfo" parameterType="map" resultType="map">
SELECT
ssp.*,
spi.projectName projectUnit,
case when ud.type_flag in (1,11) then CONCAT(sd.dept_name,' ', '[责任主体]') else concat(ud.dept_name, ' ', '[', sdd.dict_label ,']') end as projectUnit,
su.`nick_name` `name`,
ssa.id checkId
FROM
@ -98,6 +106,10 @@
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
left join sys_dept ud on ud.dept_id = su.dept_id
left join sys_dept sd on sd.dept_id = spi.deptId
left join sur_project_unit_info spui on spui.projectId = spi.id and spui.unitId = su.dept_id
left join sys_dict_data sdd on sdd.dict_type = 'sys_dept_type' and sdd.dict_value = spui.unitType
WHERE
ssp.id = #{id}
GROUP BY ssp.id
@ -128,6 +140,7 @@
copySend,
copySendUser,
checkState,
nickedTime,
danger_type,
recheckSend,
recheckSendUser,
@ -147,6 +160,7 @@
#{copySend},
#{copySendUser},
0,
#{nickedTime},
#{dangerType},
#{recheckSend},
#{recheckSendUser},
@ -613,12 +627,14 @@
left join sys_dict_data sdd on sdd.dict_type = 'sys_dept_type' and sdd.dict_value = spui.unitType
where spui.projectId = #{projectId}
and spui.del_flag=0
order by sdd.dict_sort
</select>
<!--查询项目人员-->
<select id="selectAllProjectUser" parameterType="map" resultType="map">
select u.user_id as id, u.dept_id as deptId, u.nick_name as `name`, u.phonenumber as `phone`, ur.role_id as role_id from sys_user u
select u.user_id as id, u.dept_id as deptId, u.nick_name as `name`, u.phonenumber as `phone`, ur.role_id as role_id, d.type_flag as dept_type_flag from sys_user u
left join sys_user_role ur on ur.user_id=u.user_id
left join sys_dept d on d.dept_id = u.dept_id
where u.del_flag = '0'
and u.user_id not in (select spuuu.user_id from sur_project_userinfo spuuu where spuuu.project_id = #{projectId} and spuuu.dept_type='1')
and ur.role_id=#{roleId}
@ -633,8 +649,9 @@
</if>
group by u.user_id, u.dept_id, u.nick_name, u.phonenumber
union
select u.user_id as id, u.dept_id as deptId, concat(u.nick_name, ' ', '[', sdd.dict_label ,']') as `name`, u.phonenumber as `phone`, '' as role_id from sur_project_userinfo spu
select u.user_id as id, u.dept_id as deptId, concat(u.nick_name, ' ', '[', sdd.dict_label ,']') as `name`, u.phonenumber as `phone`, '' as role_id, d.type_flag as dept_type_flag from sur_project_userinfo spu
left join sys_user u on u.user_id = spu.user_id
left join sys_dept d on d.dept_id = u.dept_id
left join sys_dict_data sdd on sdd.dict_type = 'sys_job_type' and sdd.dict_value = spu.job_type
where spu.project_id = #{projectId} and spu.is_del=0
<if test="name != null and name != ''">
@ -647,8 +664,9 @@
<!--查询项目人员-->
<select id="selectProjectUser" parameterType="map" resultType="map">
select u.user_id as id, u.dept_id as deptId, concat(u.nick_name, ' ', '[', sdd.dict_label ,']') as `name`, u.phonenumber as `phone`,'' as role_id from sur_project_userinfo spu
select u.user_id as id, u.dept_id as deptId, concat(u.nick_name, ' ', '[', sdd.dict_label ,']') as `name`, u.phonenumber as `phone`,'' as role_id, d.type_flag as dept_type_flag from sur_project_userinfo spu
left join sys_user u on u.user_id = spu.user_id
left join sys_dept d on d.dept_id = u.dept_id
left join sys_dict_data sdd on sdd.dict_type = 'sys_job_type' and sdd.dict_value = spu.job_type
where spu.project_id = #{projectId} and spu.is_del=0
<if test="name != null and name != ''">

View File

@ -16,7 +16,7 @@
}
}(function ($) {
'use strict';
var d = new Date(),
doc = window.document,
nowYear = d.getFullYear(),

View File

@ -33,7 +33,7 @@
<div class="spp-block-title">
拍摄位置
</div>
<div class="ssp-block-position" th:text="${queryChangeNicked.projectUnit}">
<div class="ssp-block-position" th:text="${queryChangeNicked?.problemArea}">
</div>
</div>
@ -64,7 +64,7 @@
<div class="ssp-block">
<div class="spp-block-title">
主要问题
隐患描述
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.workParts}">
@ -72,7 +72,7 @@
</div>
<div class="ssp-block">
<div class="spp-block-title">
情况描述
整改要求
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.changeInfo}">
@ -82,7 +82,7 @@
<div class="spp-block-title">
检查单位
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.projectUnit}">
<div class="ssp-block-word" th:text="${queryChangeNicked?.projectUnit}">
</div>
</div>

View File

@ -112,8 +112,6 @@
</div>
<div class="ssp-ri-textarea">
<textarea placeholder="请输入隐患描述" id="constructionSite"></textarea>
<!-- <input type="text" placeholder="请填写隐患描述" id="constructionSite" >-->
<!--onclick="constructionSite()"-->
</div>
</div>
<div class="ssp-block">
@ -124,6 +122,14 @@
<textarea placeholder="请输入整改要求" id="changeText"></textarea>
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</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}" />
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改人
@ -193,7 +199,7 @@
</div>
</div>
<div class="app-fold" id="fold">
<div class="app-fold-block" v-for="item in lists">
<div class="app-fold-block" v-for="item in lists" v-if="item.people && item.people.length>0">
<div class="app-fold-title" onclick="foldTitle(this)">{{item.dep}}</div>
<ul class="app-fold-ul">
<li class="spp-li" v-for="li in item.people" onclick="foldLi(this)">
@ -271,6 +277,8 @@
//项目id
var projectId = '[[${projectId}]]';
//施工部门数据
var vm1 = new Vue({
el:'#app',
@ -572,6 +580,9 @@
var ccto = $("#ccto").val();
var cctoPhone = $("#cctoPhone").val();
//整改截至时间
var nickedTime = $("#dateTime").val()
if(nameSrc.length <= 0) {
hideLoading();
toast({
@ -611,6 +622,15 @@
return false;
}
if(nickedTime == "" || nickedTime == null){
hideLoading();
toast({
message:"请选择整改截至时间",
time:3000
});
return false;
}
if(mainGiver == "" || mainGiver == null) {
hideLoading();
toast({
@ -670,6 +690,7 @@
"copySend":ccto,
"copySendUser":cctoPhone,
"infoType":"0",
"nickedTime":nickedTime,
"dangerType":projectType,
"recheckSend":reinspector,
"recheckSendUser":reinspectorPhone
@ -760,6 +781,7 @@ function goBack() {
window.history.go(-1);
}
$.date('#dateTime');
</script>
</html>

View File

@ -30,7 +30,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>
@ -313,11 +313,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -344,11 +344,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -374,11 +374,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -404,11 +404,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+

View File

@ -27,7 +27,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入位置、工号、部位">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>

View File

@ -301,11 +301,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -331,11 +331,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -361,11 +361,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -391,11 +391,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+

View File

@ -27,7 +27,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入位置、工号、部位">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>

View File

@ -43,7 +43,7 @@
<div class="spp-block-title">
拍摄位置
</div>
<div class="ssp-block-position" th:text="${queryChangeNicked.projectUnit}">
<div class="ssp-block-position" th:text="${queryChangeNicked.problemArea}">
</div>
</div>
@ -74,7 +74,7 @@
<div class="ssp-block">
<div class="spp-block-title">
主要问题
隐患描述
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.workParts}">
@ -82,7 +82,7 @@
</div>
<div class="ssp-block">
<div class="spp-block-title">
情况描述
整改要求
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.changeInfo}">

View File

@ -33,7 +33,7 @@
<div class="spp-block-title">
拍摄位置
</div>
<div class="ssp-block-position" th:text="${queryChangeNicked.projectUnit}">
<div class="ssp-block-position" th:text="${queryChangeNicked?.problemArea}">
</div>
</div>
@ -64,7 +64,7 @@
<div class="ssp-block">
<div class="spp-block-title">
主要问题
隐患描述
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.workParts}">
@ -72,7 +72,7 @@
</div>
<div class="ssp-block">
<div class="spp-block-title">
情况描述
整改要求
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.changeInfo}">

View File

@ -112,8 +112,6 @@
</div>
<div class="ssp-ri-textarea">
<textarea placeholder="请输入隐患描述" id="constructionSite"></textarea>
<!-- <input type="text" placeholder="请填写隐患描述" id="constructionSite" >-->
<!--onclick="constructionSite()"-->
</div>
</div>
<div class="ssp-block">
@ -124,6 +122,14 @@
<textarea placeholder="请输入整改要求" id="changeText"></textarea>
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改截至时间
</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 />
</div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
整改人
@ -193,7 +199,7 @@
</div>
</div>
<div class="app-fold" id="fold">
<div class="app-fold-block" v-for="item in lists">
<div class="app-fold-block" v-for="item in lists" v-if="item.people && item.people.length>0">
<div class="app-fold-title" onclick="foldTitle(this)">{{item.dep}}</div>
<ul class="app-fold-ul">
<li class="spp-li" v-for="li in item.people" onclick="foldLi(this)">
@ -271,6 +277,8 @@
//项目id
var projectId = '[[${projectId}]]';
//施工部门数据
var vm1 = new Vue({
el:'#app',
@ -572,6 +580,9 @@
var ccto = $("#ccto").val();
var cctoPhone = $("#cctoPhone").val();
//整改截至时间
var nickedTime = $("#dateTime").val()
if(nameSrc.length <= 0) {
hideLoading();
toast({
@ -611,6 +622,15 @@
return false;
}
if(nickedTime == "" || nickedTime == null){
hideLoading();
toast({
message:"请选择整改截至时间",
time:3000
});
return false;
}
if(mainGiver == "" || mainGiver == null) {
hideLoading();
toast({
@ -668,7 +688,8 @@
"lordSentUser":posPhone,
"copySend":ccto,
"copySendUser":cctoPhone,
"infoType":"0",
"infoType":"1",
"nickedTime":nickedTime,
"dangerType":projectType,
"recheckSend":reinspector,
"recheckSendUser":reinspectorPhone
@ -758,6 +779,7 @@ function goBack() {
window.history.go(-1);
}
$.date('#dateTime');
</script>
</html>

View File

@ -30,7 +30,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>
@ -312,11 +312,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -343,11 +343,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -373,11 +373,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -403,11 +403,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allChangesInfo[i].workParts+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allChangesInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+

View File

@ -27,7 +27,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入位置、工号、部位">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>

View File

@ -301,11 +301,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -331,11 +331,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -361,11 +361,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+
@ -391,11 +391,11 @@
'<table class="ssp-record-table">'+
'<tr>'+
'<td>'+'工程名称:'+'</td>'+
'<td>'+result.allNickedInfo[i].workParts+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'施工单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].projectName+'</td>'+
'<td>'+'检查单位:'+'</td>'+
'<td>'+result.allNickedInfo[i].deptName+'</td>'+
'</tr>'+
'<tr>'+
'<td>'+'发布时间:'+'</td>'+

View File

@ -27,7 +27,7 @@
<div class="row">
<div class="col-xs-10">
<div class="col-xs-10">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入位置、工号、部位">
<input type="text" id="searchText" class="ssp-search-input" th:value="${searchText}" placeholder="请输入隐患描述">
</div>
<div class="col-xs-2">
<button type="button" class="ssp-search-button" id="searchBut">搜索</button>

View File

@ -43,9 +43,7 @@
<div class="spp-block-title">
拍摄位置
</div>
<div class="ssp-block-position" th:text="${queryChangeNicked.projectUnit}">
</div>
<div class="ssp-block-position" th:text="${queryChangeNicked?.problemArea}"></div>
</div>
<div class="ssp-block">
<div class="spp-block-title">
@ -74,7 +72,7 @@
<div class="ssp-block">
<div class="spp-block-title">
主要问题
隐患描述
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.workParts}">
@ -82,7 +80,7 @@
</div>
<div class="ssp-block">
<div class="spp-block-title">
情况描述
整改要求
</div>
<div class="ssp-block-word" th:text="${queryChangeNicked.changeInfo}">

View File

@ -40,6 +40,10 @@ public class SurProjectWorkSpecial extends BaseEntity
@Excel(name = "年龄")
private Long age;
/** 联系电话 */
@Excel(name = "联系电话")
private String phoneNumber;
/** 身份证号 */
@Excel(name = "身份证号")
private String idNumber;
@ -57,6 +61,10 @@ public class SurProjectWorkSpecial extends BaseEntity
@Excel(name = "证书过期时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date credentialExpirationTime;
/** 证书附件 */
@Excel(name = "证书附件")
private String credentialFile;
/** 删除标识 */
@Excel(name = "删除标识")
private String isDel;
@ -180,6 +188,22 @@ public class SurProjectWorkSpecial extends BaseEntity
this.deptName = deptName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getCredentialFile() {
return credentialFile;
}
public void setCredentialFile(String credentialFile) {
this.credentialFile = credentialFile;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -189,10 +213,12 @@ public class SurProjectWorkSpecial extends BaseEntity
.append("name", getName())
.append("sex", getSex())
.append("age", getAge())
.append("phoneNumber", getPhoneNumber())
.append("idNumber", getIdNumber())
.append("isCredential", getIsCredential())
.append("credentialNumber", getCredentialNumber())
.append("credentialExpirationTime", getCredentialExpirationTime())
.append("credentialFile", getCredentialFile())
.append("isDel", getIsDel())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())

View File

@ -11,10 +11,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="name" column="name" />
<result property="sex" column="sex" />
<result property="age" column="age" />
<result property="phoneNumber" column="phone_number" />
<result property="idNumber" column="id_number" />
<result property="isCredential" column="is_credential" />
<result property="credentialNumber" column="credential_number" />
<result property="credentialExpirationTime" column="credential_expiration_time" />
<result property="credentialFile" column="credential_file" />
<result property="isDel" column="is_del" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@ -26,11 +28,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectSurProjectWorkSpecialVo">
select id, project_id, dept_id, name, sex, age, id_number, is_credential, credential_number, credential_expiration_time, 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, 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.id_number, spwp.is_credential, spwp.credential_number, spwp.credential_expiration_time, 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.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>
@ -39,6 +41,7 @@ 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="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>
<!-- 查询条件-项目部门 -->
@ -64,10 +67,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null">name,</if>
<if test="sex != null">sex,</if>
<if test="age != null">age,</if>
<if test="phoneNumber != null">phone_number,</if>
<if test="idNumber != null">id_number,</if>
<if test="isCredential != null">is_credential,</if>
<if test="credentialNumber != null">credential_number,</if>
<if test="credentialExpirationTime != null">credential_expiration_time,</if>
<if test="credentialFile != null">credential_file,</if>
<if test="isDel != null">is_del,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@ -81,10 +86,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null">#{name},</if>
<if test="sex != null">#{sex},</if>
<if test="age != null">#{age},</if>
<if test="phoneNumber != null">#{phoneNumber},</if>
<if test="idNumber != null">#{idNumber},</if>
<if test="isCredential != null">#{isCredential},</if>
<if test="credentialNumber != null">#{credentialNumber},</if>
<if test="credentialExpirationTime != null">#{credentialExpirationTime},</if>
<if test="credentialFile != null">#{credentialFile},</if>
<if test="isDel != null">#{isDel},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@ -102,10 +109,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null">name = #{name},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="age != null">age = #{age},</if>
<if test="phoneNumber != null">phone_number = #{phoneNumber},</if>
<if test="idNumber != null">id_number = #{idNumber},</if>
<if test="isCredential != null">is_credential = #{isCredential},</if>
<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="isDel != null">is_del = #{isDel},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>

View File

@ -65,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectId != null"> and wt.project_id = #{projectId}</if>
<if test="projectName != null and projectName != ''"> and wt.project_name like concat('%', #{projectName}, '%')</if>
<if test="trainType != null and trainType != ''"> and train_type = #{trainType}</if>
<if test="trainTitle != null and trainTitle != ''"> and train_title = #{trainTitle}</if>
<if test="trainTitle != null and trainTitle != ''"> and train_title like concat('%', #{trainTitle}, '%')</if>
<if test="trainNature != null and trainNature != ''"> and wt.train_nature = #{trainNature}</if>
<if test="isDel != null "> and wt.is_del = #{isDel}</if>
<if test="params.beginMarksTime != null and params.beginMarksTime != '' and params.endMarksTime != null and params.endMarksTime != ''"> and ((wt.begin_date between #{params.beginMarksTime} and #{params.endMarksTime}) or (wt.end_date between #{params.beginMarksTime} and #{params.endMarksTime}) )</if>