安全、质量
This commit is contained in:
@ -16,7 +16,7 @@ spring.boot.admin.client:
|
|||||||
|
|
||||||
--- # snail-job 配置
|
--- # snail-job 配置
|
||||||
snail-job:
|
snail-job:
|
||||||
enabled: false
|
enabled: true
|
||||||
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||||
group: "ruoyi_group"
|
group: "ruoyi_group"
|
||||||
# SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config`表
|
# SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config`表
|
||||||
|
@ -2,9 +2,9 @@ spring:
|
|||||||
datasource:
|
datasource:
|
||||||
type: com.zaxxer.hikari.HikariDataSource
|
type: com.zaxxer.hikari.HikariDataSource
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
url: jdbc:mysql://192.168.110.2:13386/xinnengyuan?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||||
username: root
|
username: xinnengyuan
|
||||||
password: root
|
password: mEZPC5Sdf3r2HENi
|
||||||
hikari:
|
hikari:
|
||||||
connection-timeout: 30000
|
connection-timeout: 30000
|
||||||
validation-timeout: 5000
|
validation-timeout: 5000
|
||||||
@ -43,7 +43,7 @@ snail-job:
|
|||||||
spring.boot.admin.client:
|
spring.boot.admin.client:
|
||||||
# 增加客户端开关
|
# 增加客户端开关
|
||||||
enabled: true
|
enabled: true
|
||||||
url: http://localhost:9090/admin
|
url: http://192.168.110.2:19191/admin
|
||||||
instance:
|
instance:
|
||||||
service-host-type: IP
|
service-host-type: IP
|
||||||
metadata:
|
metadata:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
server:
|
server:
|
||||||
port: 8800
|
port: 18833
|
||||||
servlet:
|
servlet:
|
||||||
context-path: /snail-job
|
context-path: /snail-job
|
||||||
|
|
||||||
|
@ -703,24 +703,7 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
}
|
}
|
||||||
// 解密身份证号码
|
// 解密身份证号码
|
||||||
String decrypt = idCardEncryptorUtil.decrypt(constructionUserVo.getSfzNumber());
|
String decrypt = idCardEncryptorUtil.decrypt(constructionUserVo.getSfzNumber());
|
||||||
String hide = "";
|
constructionUserVo.setSfzNumber(decrypt);
|
||||||
if (StringUtils.isNotEmpty(decrypt)) {
|
|
||||||
if (isHidden) {
|
|
||||||
hide = DesensitizedUtil.idCardNum(decrypt, 1, 2);
|
|
||||||
} else {
|
|
||||||
hide = decrypt;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
constructionUserVo.setSfzNumber(hide);
|
|
||||||
// 隐藏
|
|
||||||
if (isHidden) {
|
|
||||||
// 隐藏手机号码
|
|
||||||
String hidePhone = DesensitizedUtil.mobilePhone(constructionUserVo.getPhone());
|
|
||||||
constructionUserVo.setPhone(hidePhone);
|
|
||||||
// 隐藏银行卡号
|
|
||||||
String hideBank = DesensitizedUtil.bankCard(constructionUserVo.getYhkNumber());
|
|
||||||
constructionUserVo.setYhkNumber(hideBank);
|
|
||||||
}
|
|
||||||
// 计算年龄
|
// 计算年龄
|
||||||
LocalDate sfzBirth = constructionUser.getSfzBirth();
|
LocalDate sfzBirth = constructionUser.getSfzBirth();
|
||||||
if (sfzBirth != null) {
|
if (sfzBirth != null) {
|
||||||
@ -1316,12 +1299,12 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
Page<SubConstructionUser> result = this.page(pageQuery.build(), lqw);
|
Page<SubConstructionUser> result = this.page(pageQuery.build(), lqw);
|
||||||
|
|
||||||
ArrayList<SubConstructionUserAppVo> list = new ArrayList<>();
|
ArrayList<SubConstructionUserAppVo> list = new ArrayList<>();
|
||||||
for ( SubConstructionUser constructionUser : result.getRecords()){
|
for (SubConstructionUser constructionUser : result.getRecords()) {
|
||||||
SubConstructionUserAppVo subConstructionUserAppVo = new SubConstructionUserAppVo();
|
SubConstructionUserAppVo subConstructionUserAppVo = new SubConstructionUserAppVo();
|
||||||
BeanUtils.copyProperties(constructionUser, subConstructionUserAppVo);
|
BeanUtils.copyProperties(constructionUser, subConstructionUserAppVo);
|
||||||
SysUserVo sysUserVo = userService.selectUserById(subConstructionUserAppVo.getSysUserId());
|
SysUserVo sysUserVo = userService.selectUserById(subConstructionUserAppVo.getSysUserId());
|
||||||
if(sysUserVo.getAvatar() != null)
|
if (sysUserVo.getAvatar() != null)
|
||||||
subConstructionUserAppVo.setAvatar(ossService.getById(sysUserVo.getAvatar()).getUrl());
|
subConstructionUserAppVo.setAvatar(ossService.getById(sysUserVo.getAvatar()).getUrl());
|
||||||
//计算日期
|
//计算日期
|
||||||
Date createTime = sysUserVo.getCreateTime();
|
Date createTime = sysUserVo.getCreateTime();
|
||||||
Instant createInstant = createTime.toInstant();
|
Instant createInstant = createTime.toInstant();
|
||||||
@ -1337,6 +1320,6 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return new TableDataInfo<>(list,result.getTotal());
|
return new TableDataInfo<>(list, result.getTotal());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,6 +80,16 @@ public class BusProjectController extends BaseController {
|
|||||||
return R.ok(projectService.querySubProjectMatrixList(id));
|
return R.ok(projectService.querySubProjectMatrixList(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 id 查询项目以及项目下的分包公司、班组列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("project:project:contractorTeamList")
|
||||||
|
@GetMapping("/contractorTeamList/{id}")
|
||||||
|
public R<BusProjectContractorTeamListVo> listContractorListById(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(projectService.queryContractorTeamListById(id));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出项目列表
|
* 导出项目列表
|
||||||
*/
|
*/
|
||||||
|
@ -21,7 +21,7 @@ import java.io.Serial;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@TableName("bus_attendance_copy1")
|
@TableName("bus_attendance")
|
||||||
public class BusAttendance extends BaseEntity {
|
public class BusAttendance extends BaseEntity {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
@ -15,6 +15,7 @@ import org.dromara.common.core.utils.StringUtils;
|
|||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
|
import org.dromara.common.utils.IdCardEncryptorUtil;
|
||||||
import org.dromara.contractor.domain.SubConstructionUser;
|
import org.dromara.contractor.domain.SubConstructionUser;
|
||||||
import org.dromara.contractor.service.ISubConstructionUserService;
|
import org.dromara.contractor.service.ISubConstructionUserService;
|
||||||
import org.dromara.project.domain.BusConstructionUserExit;
|
import org.dromara.project.domain.BusConstructionUserExit;
|
||||||
@ -65,6 +66,9 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
|
|||||||
@Resource
|
@Resource
|
||||||
private IBusProjectService projectService;
|
private IBusProjectService projectService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IdCardEncryptorUtil idCardEncryptorUtil;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IBusConstructionBlacklistService constructionBlacklistService;
|
private IBusConstructionBlacklistService constructionBlacklistService;
|
||||||
|
|
||||||
@ -162,8 +166,7 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
|
|||||||
.set(SubConstructionUser::getEntryDate, new Date())
|
.set(SubConstructionUser::getEntryDate, new Date())
|
||||||
.set(SubConstructionUser::getLeaveDate, null)
|
.set(SubConstructionUser::getLeaveDate, null)
|
||||||
.set(SubConstructionUser::getExitStatus, "0")
|
.set(SubConstructionUser::getExitStatus, "0")
|
||||||
.set(constructionUser.getFirstDate()==null,SubConstructionUser::getFirstDate, LocalDate.now())
|
.set(constructionUser.getFirstDate() == null, SubConstructionUser::getFirstDate, LocalDate.now());
|
||||||
;
|
|
||||||
constructionUserService.update(constructionUserLuw);
|
constructionUserService.update(constructionUserLuw);
|
||||||
|
|
||||||
|
|
||||||
@ -171,7 +174,7 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
|
|||||||
.eq(BusUserProjectRelevancy::getUserId, constructionUser.getSysUserId())
|
.eq(BusUserProjectRelevancy::getUserId, constructionUser.getSysUserId())
|
||||||
.eq(BusUserProjectRelevancy::getProjectId, req.getProjectId())
|
.eq(BusUserProjectRelevancy::getProjectId, req.getProjectId())
|
||||||
);
|
);
|
||||||
if(CollectionUtil.isEmpty(list)){
|
if (CollectionUtil.isEmpty(list)) {
|
||||||
BusUserProjectRelevancy relevancy = new BusUserProjectRelevancy();
|
BusUserProjectRelevancy relevancy = new BusUserProjectRelevancy();
|
||||||
relevancy.setUserId(constructionUser.getSysUserId());
|
relevancy.setUserId(constructionUser.getSysUserId());
|
||||||
relevancy.setProjectId(req.getProjectId());
|
relevancy.setProjectId(req.getProjectId());
|
||||||
@ -283,7 +286,11 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
|
|||||||
constructionUserExit.setSalaryVoucherFile(salaryVoucherFile);
|
constructionUserExit.setSalaryVoucherFile(salaryVoucherFile);
|
||||||
constructionUserExit.setSalaryConfirmationFile(salaryConfirmationFile);
|
constructionUserExit.setSalaryConfirmationFile(salaryConfirmationFile);
|
||||||
constructionUserExit.setTeamId(constructionUser.getTeamId());
|
constructionUserExit.setTeamId(constructionUser.getTeamId());
|
||||||
constructionUserExit.setSfzNumber(constructionUser.getSfzNumber());
|
String sfzNumber = constructionUser.getSfzNumber();
|
||||||
|
if (StringUtils.isNotBlank(sfzNumber)) {
|
||||||
|
sfzNumber = idCardEncryptorUtil.decrypt(sfzNumber);
|
||||||
|
constructionUserExit.setSfzNumber(sfzNumber);
|
||||||
|
}
|
||||||
constructionUserExit.setEntryDate(constructionUser.getEntryDate());
|
constructionUserExit.setEntryDate(constructionUser.getEntryDate());
|
||||||
constructionUserExit.setLeaveDate(new Date());
|
constructionUserExit.setLeaveDate(new Date());
|
||||||
constructionUserExit.setRemark(req.getRemark());
|
constructionUserExit.setRemark(req.getRemark());
|
||||||
|
@ -13,6 +13,8 @@ import org.dromara.common.log.enums.BusinessType;
|
|||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
||||||
|
import org.dromara.project.service.IBusProjectTeamService;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionCreateReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionCreateReq;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionGisReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionGisReq;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionQueryReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionQueryReq;
|
||||||
@ -39,6 +41,8 @@ public class QltQualityInspectionController extends BaseController {
|
|||||||
|
|
||||||
private final IQltQualityInspectionService qualityInspectionService;
|
private final IQltQualityInspectionService qualityInspectionService;
|
||||||
|
|
||||||
|
private final IBusProjectTeamService busProjectTeamService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询质量-检查工单列表
|
* 查询质量-检查工单列表
|
||||||
*/
|
*/
|
||||||
@ -124,4 +128,13 @@ public class QltQualityInspectionController extends BaseController {
|
|||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
return toAjax(qualityInspectionService.deleteWithValidByIds(List.of(ids), true));
|
return toAjax(qualityInspectionService.deleteWithValidByIds(List.of(ids), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整改人选择列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/listForeman/{projectId}")
|
||||||
|
public R<List<BusProjectTeamForemanVo>> listForeman(@NotNull(message = "项目id不能为空")
|
||||||
|
@PathVariable Long projectId) {
|
||||||
|
return R.ok(busProjectTeamService.queryForemanListByProjectId(projectId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
package org.dromara.quality.controller.app;
|
package org.dromara.quality.controller.app;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
import org.dromara.common.excel.utils.ExcelUtil;
|
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
import org.dromara.common.log.annotation.Log;
|
import org.dromara.common.log.annotation.Log;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
@ -16,10 +13,8 @@ import org.dromara.common.web.core.BaseController;
|
|||||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
||||||
import org.dromara.project.service.IBusProjectTeamService;
|
import org.dromara.project.service.IBusProjectTeamService;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionCreateReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionCreateReq;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionGisReq;
|
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionQueryReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionQueryReq;
|
||||||
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionUpdateReq;
|
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionUpdateReq;
|
||||||
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionListGisVo;
|
|
||||||
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionVo;
|
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionVo;
|
||||||
import org.dromara.quality.service.IQltQualityInspectionService;
|
import org.dromara.quality.service.IQltQualityInspectionService;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,7 +88,7 @@ public class QltQualityInspection extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 回复期限日期
|
* 回复期限日期
|
||||||
*/
|
*/
|
||||||
private Date replyPeriodDate;
|
private LocalDate replyPeriodDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 整改反馈
|
* 整改反馈
|
||||||
|
@ -7,6 +7,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,8 +77,7 @@ public class QltQualityInspectionCreateReq implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 回复期限日期
|
* 回复期限日期
|
||||||
*/
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
private LocalDate replyPeriodDate;
|
||||||
private Date replyPeriodDate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
|
@ -4,6 +4,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -75,7 +76,7 @@ public class QltQualityInspectionUpdateReq implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 回复期限日期
|
* 回复期限日期
|
||||||
*/
|
*/
|
||||||
private Date replyPeriodDate;
|
private LocalDate replyPeriodDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 整改反馈
|
* 整改反馈
|
||||||
|
@ -13,6 +13,7 @@ import org.dromara.system.domain.vo.SysOssVo;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -126,7 +127,7 @@ public class QltQualityInspectionVo implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 回复期限日期
|
* 回复期限日期
|
||||||
*/
|
*/
|
||||||
private Date replyPeriodDate;
|
private LocalDate replyPeriodDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 整改反馈
|
* 整改反馈
|
||||||
|
@ -53,6 +53,7 @@ import java.io.InputStream;
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
@ -514,8 +515,8 @@ public class QltQualityInspectionServiceImpl extends ServiceImpl<QltQualityInspe
|
|||||||
replacementMap.put("${rectificationTime}", rectificationTime != null ? DateUtils.formatDateTime(rectificationTime) : "");
|
replacementMap.put("${rectificationTime}", rectificationTime != null ? DateUtils.formatDateTime(rectificationTime) : "");
|
||||||
String inspectionType = dictDataService.selectDictLabel(QltQualityConstant.QUALITY_INSPECTION_CHECK_TYPE, qualityInspection.getInspectionType());
|
String inspectionType = dictDataService.selectDictLabel(QltQualityConstant.QUALITY_INSPECTION_CHECK_TYPE, qualityInspection.getInspectionType());
|
||||||
replacementMap.put("${inspectionType}", inspectionType);
|
replacementMap.put("${inspectionType}", inspectionType);
|
||||||
Date replyPeriodDate = qualityInspection.getReplyPeriodDate();
|
LocalDate replyPeriodDate = qualityInspection.getReplyPeriodDate();
|
||||||
replacementMap.put("${replyPeriodDate}", replyPeriodDate != null ? DateUtils.formatDate(replyPeriodDate) : "");
|
replacementMap.put("${replyPeriodDate}", replyPeriodDate != null ? replyPeriodDate.toString() : "");
|
||||||
replacementMap.put("${inspectionResult}", qualityInspection.getInspectionResult());
|
replacementMap.put("${inspectionResult}", qualityInspection.getInspectionResult());
|
||||||
replacementMap.put("${inspectionFile}", qualityInspection.getInspectionFile());
|
replacementMap.put("${inspectionFile}", qualityInspection.getInspectionFile());
|
||||||
String inspectionStatus = dictDataService.selectDictLabel(QltQualityConstant.QUALITY_INSPECTION_STATUS_TYPE, qualityInspection.getInspectionStatus());
|
String inspectionStatus = dictDataService.selectDictLabel(QltQualityConstant.QUALITY_INSPECTION_STATUS_TYPE, qualityInspection.getInspectionStatus());
|
||||||
|
@ -13,10 +13,7 @@ import org.dromara.common.log.enums.BusinessType;
|
|||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
import org.dromara.safety.domain.dto.safetyinspection.HseSafetyInspectionCreateReq;
|
import org.dromara.safety.domain.dto.safetyinspection.*;
|
||||||
import org.dromara.safety.domain.dto.safetyinspection.HseSafetyInspectionGisReq;
|
|
||||||
import org.dromara.safety.domain.dto.safetyinspection.HseSafetyInspectionQueryReq;
|
|
||||||
import org.dromara.safety.domain.dto.safetyinspection.HseSafetyInspectionUpdateReq;
|
|
||||||
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionListGisVo;
|
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionListGisVo;
|
||||||
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionVo;
|
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionVo;
|
||||||
import org.dromara.safety.service.IHseSafetyInspectionService;
|
import org.dromara.safety.service.IHseSafetyInspectionService;
|
||||||
@ -101,6 +98,28 @@ public class HseSafetyInspectionController extends BaseController {
|
|||||||
return R.ok(safetyInspectionService.insertByBo(req));
|
return R.ok(safetyInspectionService.insertByBo(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增安全巡检工单整改
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("safety:safetyInspection:rectification")
|
||||||
|
@Log(title = "安全巡检工单", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/rectification")
|
||||||
|
public R<Void> insertRectification(@Validated @RequestBody HseSafetyInspectionRectificationReq req) {
|
||||||
|
return toAjax(safetyInspectionService.insertRectification(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增安全巡检工单复查
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("safety:safetyInspection:review")
|
||||||
|
@Log(title = "安全巡检工单", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/review")
|
||||||
|
public R<Void> insertReview(@Validated @RequestBody HseSafetyInspectionReviewReq req) {
|
||||||
|
return toAjax(safetyInspectionService.insertReview(req));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改安全巡检工单
|
* 修改安全巡检工单
|
||||||
*/
|
*/
|
||||||
|
@ -13,6 +13,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq;
|
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq;
|
||||||
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq;
|
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq;
|
||||||
|
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq;
|
||||||
|
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordReviewReq;
|
||||||
import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo;
|
import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo;
|
||||||
import org.dromara.safety.service.IHseViolationRecordService;
|
import org.dromara.safety.service.IHseViolationRecordService;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -66,6 +68,28 @@ public class HseViolationRecordController extends BaseController {
|
|||||||
return toAjax(hseViolationRecordService.insertHandler(req));
|
return toAjax(hseViolationRecordService.insertHandler(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增违规记录整改
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("safety:violationRecord:rectification")
|
||||||
|
@Log(title = "违规记录", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/rectification")
|
||||||
|
public R<Void> insertRectification(@Validated @RequestBody HseViolationRecordRectificationReq req) {
|
||||||
|
return toAjax(hseViolationRecordService.insertRectification(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增违规记录复查
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("safety:violationRecord:review")
|
||||||
|
@Log(title = "违规记录", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/review")
|
||||||
|
public R<Void> insertReview(@Validated @RequestBody HseViolationRecordReviewReq req) {
|
||||||
|
return toAjax(hseViolationRecordService.insertReview(req));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除违规记录
|
* 删除违规记录
|
||||||
*
|
*
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package org.dromara.safety.domain.dto.safetyinspection;
|
package org.dromara.safety.domain.dto.safetyinspection;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -62,8 +62,7 @@ public class HseSafetyInspectionUpdateReq implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 整改期限
|
* 整改期限
|
||||||
*/
|
*/
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
private LocalDate rectificationDeadline;
|
||||||
private Date rectificationDeadline;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否回复(1回复 2不回复)
|
* 是否回复(1回复 2不回复)
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package org.dromara.safety.domain.dto.violationrecord;
|
package org.dromara.safety.domain.dto.violationrecord;
|
||||||
|
|
||||||
import jakarta.validation.constraints.Future;
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import org.dromara.safety.domain.HseSafetyInspection;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
@ -83,7 +84,7 @@ public class HseSafetyInspectionVo implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 整改期限
|
* 整改期限
|
||||||
*/
|
*/
|
||||||
private Date rectificationDeadline;
|
private LocalDate rectificationDeadline;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否回复(1回复 2不回复)
|
* 是否回复(1回复 2不回复)
|
||||||
|
@ -218,7 +218,7 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
|||||||
if (req.getIsReply().equals("1")) {
|
if (req.getIsReply().equals("1")) {
|
||||||
title = "您有新的安全巡检工单需要整改,请及时处理!";
|
title = "您有新的安全巡检工单需要整改,请及时处理!";
|
||||||
}
|
}
|
||||||
chatServerHandler.sendSystemMessageToUser(correctorId, title,"2");
|
chatServerHandler.sendSystemMessageToUser(correctorId, title, "2");
|
||||||
}
|
}
|
||||||
// 返回新写入的数据
|
// 返回新写入的数据
|
||||||
return safetyInspection.getId();
|
return safetyInspection.getId();
|
||||||
@ -337,6 +337,7 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
|||||||
lqw.eq(HseSafetyInspection::getStatus, status);
|
lqw.eq(HseSafetyInspection::getStatus, status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lqw.orderByDesc(HseSafetyInspection::getCreateTime);
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -470,7 +471,7 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
|||||||
BeanUtils.copyProperties(req, updateInspection);
|
BeanUtils.copyProperties(req, updateInspection);
|
||||||
if (safetyInspection.getCreateBy() != null && safetyInspection.getIsReply().equals("1")) {
|
if (safetyInspection.getCreateBy() != null && safetyInspection.getIsReply().equals("1")) {
|
||||||
chatServerHandler.sendSystemMessageToUser(safetyInspection.getCreateBy(),
|
chatServerHandler.sendSystemMessageToUser(safetyInspection.getCreateBy(),
|
||||||
"安全巡检工单【" + safetyInspection.getCheckProject() + "】已整改,请及时复查!","2");
|
"安全巡检工单【" + safetyInspection.getCheckProject() + "】已整改,请及时复查!", "2");
|
||||||
}
|
}
|
||||||
// 填充默认值
|
// 填充默认值
|
||||||
updateInspection.setId(id);
|
updateInspection.setId(id);
|
||||||
@ -493,10 +494,6 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
|||||||
if (safetyInspection == null) {
|
if (safetyInspection == null) {
|
||||||
throw new ServiceException("安全巡检工单信息不存在", HttpStatus.NOT_FOUND);
|
throw new ServiceException("安全巡检工单信息不存在", HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
// 校验是否需要复查
|
|
||||||
if (!safetyInspection.getIsReply().equals("2")) {
|
|
||||||
throw new ServiceException("该安全巡检工单仅通知", HttpStatus.BAD_REQUEST);
|
|
||||||
}
|
|
||||||
// 校验是否已整改
|
// 校验是否已整改
|
||||||
if (!safetyInspection.getStatus().equals(HseSafetyInspectionStatusEnum.RECTIFICATION.getValue())) {
|
if (!safetyInspection.getStatus().equals(HseSafetyInspectionStatusEnum.RECTIFICATION.getValue())) {
|
||||||
throw new ServiceException("该安全巡检工单信息未整改,无法进行复查", HttpStatus.BAD_REQUEST);
|
throw new ServiceException("该安全巡检工单信息未整改,无法进行复查", HttpStatus.BAD_REQUEST);
|
||||||
@ -523,6 +520,7 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
|||||||
replacementMap.put("${createBy}", createBy);
|
replacementMap.put("${createBy}", createBy);
|
||||||
Date createTime = safetyInspection.getCreateTime();
|
Date createTime = safetyInspection.getCreateTime();
|
||||||
replacementMap.put("${createTime}", createTime != null ? DateUtils.formatDateTime(createTime) : "");
|
replacementMap.put("${createTime}", createTime != null ? DateUtils.formatDateTime(createTime) : "");
|
||||||
|
replacementMap.put("${checkProject}", safetyInspection.getCheckProject());
|
||||||
String projectName = projectService.getById(safetyInspection.getProjectId()).getProjectName();
|
String projectName = projectService.getById(safetyInspection.getProjectId()).getProjectName();
|
||||||
replacementMap.put("${projectName}", projectName);
|
replacementMap.put("${projectName}", projectName);
|
||||||
String checkType = dictDataService.selectDictLabel(HseSafetyConstant.SAFETY_INSPECTION_CHECK_TYPE, safetyInspection.getCheckType());
|
String checkType = dictDataService.selectDictLabel(HseSafetyConstant.SAFETY_INSPECTION_CHECK_TYPE, safetyInspection.getCheckType());
|
||||||
|
@ -236,12 +236,6 @@ public class HseTeamMeetingServiceImpl extends ServiceImpl<HseTeamMeetingMapper,
|
|||||||
.toList();
|
.toList();
|
||||||
teamMeetingVo.setParticipantList(idAndNameVOList);
|
teamMeetingVo.setParticipantList(idAndNameVOList);
|
||||||
}
|
}
|
||||||
// 查询对应宣讲人
|
|
||||||
Long compereId = teamMeeting.getCompereId();
|
|
||||||
if (compereId != null) {
|
|
||||||
SysUserVo userVo = userService.selectUserById(compereId);
|
|
||||||
teamMeetingVo.setCompereName(userVo.getUserName());
|
|
||||||
}
|
|
||||||
// 查询对应文件信息
|
// 查询对应文件信息
|
||||||
String picture = teamMeeting.getPicture();
|
String picture = teamMeeting.getPicture();
|
||||||
if (StringUtils.isNotBlank(picture)) {
|
if (StringUtils.isNotBlank(picture)) {
|
||||||
@ -279,6 +273,7 @@ public class HseTeamMeetingServiceImpl extends ServiceImpl<HseTeamMeetingMapper,
|
|||||||
lqw.eq(ObjectUtils.isNotEmpty(teamId), HseTeamMeeting::getTeamId, teamId);
|
lqw.eq(ObjectUtils.isNotEmpty(teamId), HseTeamMeeting::getTeamId, teamId);
|
||||||
lqw.eq(ObjectUtils.isNotEmpty(contractorId), HseTeamMeeting::getContractorId, contractorId);
|
lqw.eq(ObjectUtils.isNotEmpty(contractorId), HseTeamMeeting::getContractorId, contractorId);
|
||||||
lqw.eq(ObjectUtils.isNotEmpty(meetingDate), HseTeamMeeting::getMeetingDate, meetingDate);
|
lqw.eq(ObjectUtils.isNotEmpty(meetingDate), HseTeamMeeting::getMeetingDate, meetingDate);
|
||||||
|
lqw.orderByDesc(HseTeamMeeting::getCreateTime);
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,9 +306,6 @@ public class HseTeamMeetingServiceImpl extends ServiceImpl<HseTeamMeetingMapper,
|
|||||||
String participantId = teamMeeting.getParticipantId();
|
String participantId = teamMeeting.getParticipantId();
|
||||||
userIdList.addAll(JSONUtil.toList(participantId, Long.class));
|
userIdList.addAll(JSONUtil.toList(participantId, Long.class));
|
||||||
}
|
}
|
||||||
// 获取对应宣讲人
|
|
||||||
Set<Long> compereIdList = teamMeetingList.stream().map(HseTeamMeeting::getCompereId).collect(Collectors.toSet());
|
|
||||||
userIdList.addAll(compereIdList);
|
|
||||||
Map<Long, String> userMap = userService.selectUserByIds(userIdList, null)
|
Map<Long, String> userMap = userService.selectUserByIds(userIdList, null)
|
||||||
.stream().collect(Collectors.toMap(SysUserVo::getUserId, SysUserVo::getNickName, (key1, key2) -> key1));
|
.stream().collect(Collectors.toMap(SysUserVo::getUserId, SysUserVo::getNickName, (key1, key2) -> key1));
|
||||||
// 对象列表 => 封装对象列表
|
// 对象列表 => 封装对象列表
|
||||||
@ -332,12 +324,6 @@ public class HseTeamMeetingServiceImpl extends ServiceImpl<HseTeamMeetingMapper,
|
|||||||
contractorName = contractorMap.get(teamMeeting.getContractorId()).getFirst().getName();
|
contractorName = contractorMap.get(teamMeeting.getContractorId()).getFirst().getName();
|
||||||
}
|
}
|
||||||
teamMeetingVo.setContractorName(contractorName);
|
teamMeetingVo.setContractorName(contractorName);
|
||||||
// 关联宣讲人信息
|
|
||||||
String compereName = null;
|
|
||||||
if (userMap.containsKey(teamMeeting.getCompereId())) {
|
|
||||||
compereName = userMap.get(teamMeeting.getCompereId());
|
|
||||||
}
|
|
||||||
teamMeetingVo.setCompereName(compereName);
|
|
||||||
// 关联参会人信息
|
// 关联参会人信息
|
||||||
List<IdAndNameVO> participantList = new ArrayList<>();
|
List<IdAndNameVO> participantList = new ArrayList<>();
|
||||||
String participantId = teamMeeting.getParticipantId();
|
String participantId = teamMeeting.getParticipantId();
|
||||||
|
@ -247,7 +247,7 @@ public class HseViolationRecordServiceImpl extends ServiceImpl<HseViolationRecor
|
|||||||
}
|
}
|
||||||
if (req.getCorrectorId() != null) {
|
if (req.getCorrectorId() != null) {
|
||||||
chatServerHandler.sendSystemMessageToUser(req.getCorrectorId(),
|
chatServerHandler.sendSystemMessageToUser(req.getCorrectorId(),
|
||||||
"您有一份新的违章工单,请及时处理!工单号为:" + violationRecord.getId(),"2");
|
"您有一份新的 AI 违章工单,请及时处理!工单号为:" + violationRecord.getId(),"2");
|
||||||
}
|
}
|
||||||
boolean result = this.updateById(violationRecord);
|
boolean result = this.updateById(violationRecord);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
|
Reference in New Issue
Block a user