fix(): 修复隐患处罚权限控制和查询逻辑
parent
6e0c639f60
commit
6b4ab1e961
|
|
@ -2,6 +2,7 @@ package com.zcloud.key.project.command.hidden;
|
|||
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor;
|
||||
import com.zcloud.key.project.command.project.MessageNoticeExe;
|
||||
|
|
@ -10,10 +11,9 @@ import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway;
|
|||
import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE;
|
||||
import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO;
|
||||
import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd;
|
||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
||||
import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository;
|
||||
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
|
||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -31,13 +31,21 @@ public class HiddenPenaltyAddExe {
|
|||
private final HiddenPenaltyGateway hiddenPenaltyGateway;
|
||||
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
||||
private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor;
|
||||
private final HiddenRepository hiddenRepository;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<HiddenPenaltyCO> execute(HiddenPenaltyAddCmd cmd) {
|
||||
HiddenPenaltyDO target = resolveTarget(cmd);
|
||||
Long currentUserId = AuthContext.getUserId();
|
||||
|
||||
if (target != null && !canOperate(target, currentUserId)) {
|
||||
throw new BizException("无权限发起处罚");
|
||||
}
|
||||
if (target == null && StringUtils.isNotBlank(cmd.getKeyProjectId()) && !canOperate(cmd.getKeyProjectId(), currentUserId)) {
|
||||
throw new BizException("无权限发起处罚");
|
||||
}
|
||||
|
||||
if (target != null) {
|
||||
if (Integer.valueOf(0).equals(target.getFineFlag())
|
||||
|
|
@ -80,32 +88,71 @@ public class HiddenPenaltyAddExe {
|
|||
return hiddenPenaltyRepository.getByPenaltyId(cmd.getHiddenPenaltyId());
|
||||
}
|
||||
List<HiddenPenaltyDO> list = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId());
|
||||
if (list != null && !list.isEmpty()) {
|
||||
for (HiddenPenaltyDO item : list) {
|
||||
if (Integer.valueOf(0).equals(item.getFineFlag())
|
||||
&& Integer.valueOf(0).equals(item.getFeedbackStatus())
|
||||
&& Integer.valueOf(0).equals(item.getEditFlag())) {
|
||||
return item;
|
||||
}
|
||||
if (list == null || list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
for (HiddenPenaltyDO item : list) {
|
||||
if (!Integer.valueOf(0).equals(item.getFineFlag())
|
||||
|| !Integer.valueOf(0).equals(item.getFeedbackStatus())
|
||||
|| !Integer.valueOf(0).equals(item.getEditFlag())) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
for (HiddenPenaltyDO item : list) {
|
||||
if (Integer.valueOf(0).equals(item.getFineFlag())
|
||||
&& Integer.valueOf(0).equals(item.getFeedbackStatus())
|
||||
&& Integer.valueOf(0).equals(item.getEditFlag())) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean canOperate(HiddenPenaltyDO penaltyDO, Long userId) {
|
||||
if (penaltyDO == null || userId == null) {
|
||||
return false;
|
||||
}
|
||||
if (userId.equals(penaltyDO.getCreateId()) || userId.equals(penaltyDO.getPenalizedUserId())) {
|
||||
return true;
|
||||
}
|
||||
return canOperate(penaltyDO.getKeyProjectId(), userId);
|
||||
}
|
||||
|
||||
private boolean canOperate(String keyProjectId, Long userId) {
|
||||
if (StringUtils.isBlank(keyProjectId) || userId == null) {
|
||||
return false;
|
||||
}
|
||||
return keyProjectPenaltyPersonnelRepository.getListByProjectId(keyProjectId)
|
||||
.stream()
|
||||
.anyMatch(person -> userId.equals(person.getUserId()));
|
||||
}
|
||||
|
||||
private void handlePenaltyIssued(HiddenPenaltyDO penaltyDO) {
|
||||
HiddenDO hiddenDO = hiddenRepository.getInfoByHiddenId(penaltyDO.getHiddenId());
|
||||
if (hiddenDO != null) {
|
||||
messageNoticeExe.sendMessageCompleteEvent(hiddenDO.getId());
|
||||
if (penaltyDO == null) {
|
||||
return;
|
||||
}
|
||||
if (penaltyDO.getId() != null) {
|
||||
messageNoticeExe.sendMessageCompleteEvent(penaltyDO.getId());
|
||||
}
|
||||
if (!Integer.valueOf(1).equals(penaltyDO.getFineFlag()) || penaltyDO.getPenalizedUserId() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
if (penaltyDO.getProjectName() != null && !penaltyDO.getProjectName().isEmpty()) {
|
||||
if (StringUtils.isNotBlank(penaltyDO.getProjectName())) {
|
||||
sendParams.put("checkTitle", penaltyDO.getProjectName());
|
||||
}
|
||||
messageNoticeExe.messageNotice(penaltyDO.getPenalizedUserId(), messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(penaltyDO.getPenalizedUserId(), "您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。", "待反馈处罚", penaltyDO.getId(), penaltyDO.getId());
|
||||
messageNoticeExe.messageNotice(
|
||||
penaltyDO.getPenalizedUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyFeedbackPersonApplyFeedback(),
|
||||
sendParams
|
||||
);
|
||||
messageNoticeExe.sendMessageAddEvent(
|
||||
penaltyDO.getPenalizedUserId(),
|
||||
"您有一条待反馈处罚,请及时缴纳处罚金并上传凭证。",
|
||||
"待反馈处罚",
|
||||
penaltyDO.getId(),
|
||||
penaltyDO.getId()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import com.zcloud.key.project.dto.inspection.SafetyEnvironmentalInspectionUserAd
|
|||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenFindUserDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionContentDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
|
||||
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
|
||||
|
|
@ -35,6 +36,7 @@ import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyReposit
|
|||
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
|
||||
import com.zcloud.key.project.persistence.repository.impl.inspection.SafetyEnvironmentalInspectionContentRepositoryImpl;
|
||||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionContentRepository;
|
||||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository;
|
||||
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository;
|
||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
|
||||
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
|
||||
|
|
@ -67,6 +69,7 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
private final HiddenPenaltyRepository hiddenPenaltyRepository;
|
||||
private final KeyProjectRepository keyProjectRepository;
|
||||
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
|
||||
private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository;
|
||||
private final MessageNoticeExe messageNoticeExe;
|
||||
private final MessageTemplateConfig messageTemplateConfig;
|
||||
|
||||
|
|
@ -191,31 +194,30 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
||||
|
||||
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
||||
hiddenAddCmdList.forEach(hiddenAddCmd -> personnelList.forEach(person -> {
|
||||
hiddenAddCmdList.forEach(hiddenAddCmd -> {
|
||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
||||
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
||||
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
||||
penalty.setPenalizedUserId(person.getUserId());
|
||||
penalty.setFineFlag(0);
|
||||
penalty.setFeedbackStatus(0);
|
||||
penalty.setEditFlag(0);
|
||||
penaltyList.add(penalty);
|
||||
}));
|
||||
});
|
||||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||
|
||||
// 通知处罚人
|
||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
personnelList.forEach(person -> {
|
||||
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
safetyEnvironmentalInspectionE.getId(), safetyEnvironmentalInspectionE.getId());
|
||||
});
|
||||
penalty.getId(), penalty.getId());
|
||||
}));
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -229,6 +231,10 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
BeanUtils.copyProperties(safetyEnvironmentalInspectionE, safetyEnvironmentalInspectionCO);
|
||||
//TODO 站内信
|
||||
if (cmd.getStatus() == 1) {
|
||||
SafetyEnvironmentalInspectionDO inspectionDO = safetyEnvironmentalInspectionRepository.getByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||
if (inspectionDO != null) {
|
||||
safetyEnvironmentalInspectionCO.setId(inspectionDO.getId());
|
||||
}
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("key_project_id", cmd.getKeyProjectId());
|
||||
queryWrapper.ne("apply_status", 0);
|
||||
|
|
@ -236,16 +242,16 @@ public class SafetyEnvironmentalInspectionAddExe {
|
|||
queryWrapper.orderByDesc("update_time");
|
||||
queryWrapper.last("limit 1");
|
||||
KeyProjectDO keyProjectDO = keyProjectRepository.getOne(queryWrapper);
|
||||
List<SafetyEnvironmentalInspectionUserDO> messageUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(cmd.getInspectionId(), 2);
|
||||
List<SafetyEnvironmentalInspectionUserDO> messageUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||
// todo 可能会导致异步任务被线程池拒绝
|
||||
// for (SafetyEnvironmentalInspectionUserDO insUser : messageUserList){
|
||||
// Map<String, Object> sendParams = new HashMap<>();
|
||||
// sendParams.put("initiatorName", ssoUser.getName());
|
||||
// sendParams.put("checkTitle", keyProjectDO.getProjectName());
|
||||
// messageNoticeExe.messageNotice(insUser.getUserId(), messageTemplateConfig.getCheckerApplyCheck(), sendParams);
|
||||
// //待办
|
||||
// messageNoticeExe.sendMessageAddEvent(insUser.getUserId(), "您有一条【安全环保检查】待处理","待核实", safetyEnvironmentalInspectionCO.getId(), insUser.getId());
|
||||
// }
|
||||
for (SafetyEnvironmentalInspectionUserDO insUser : messageUserList){
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("initiatorName", ssoUser.getName());
|
||||
sendParams.put("checkTitle", keyProjectDO.getProjectName());
|
||||
messageNoticeExe.messageNotice(insUser.getUserId(), messageTemplateConfig.getCheckerApplyCheck(), sendParams);
|
||||
//待办
|
||||
messageNoticeExe.sendMessageAddEvent(insUser.getUserId(), "您有一条【安全环保检查】待处理","待核实", safetyEnvironmentalInspectionCO.getId(), insUser.getId());
|
||||
}
|
||||
}
|
||||
return safetyEnvironmentalInspectionCO;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,11 +118,11 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
|
||||
|
||||
// 删除检查核实人数据 及对应待办信息
|
||||
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||
List<SafetyEnvironmentalInspectionUserDO> deleteUserList = safetyEnvironmentalInspectionUserRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(),2);
|
||||
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
||||
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
||||
}
|
||||
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||
// 新增检查核实人数据
|
||||
safetyEnvironmentalInspectionUserRepository.batchInsert(BeanUtil.copyToList(insUserList, SafetyEnvironmentalInspectionUserDO.class));
|
||||
|
||||
|
|
@ -223,30 +223,29 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
KeyProjectDO projectDO = keyProjectRepository.getOne(projectQuery);
|
||||
|
||||
List<HiddenPenaltyDO> penaltyList = new ArrayList<>();
|
||||
hiddenAddCmdList.forEach(hiddenAddCmd -> personnelList.forEach(person -> {
|
||||
hiddenAddCmdList.forEach(hiddenAddCmd -> {
|
||||
HiddenPenaltyDO penalty = new HiddenPenaltyDO();
|
||||
penalty.setHiddenPenaltyId(Tools.get32UUID());
|
||||
penalty.setHiddenId(hiddenAddCmd.getHiddenId());
|
||||
penalty.setKeyProjectId(cmd.getKeyProjectId());
|
||||
penalty.setPenalizedCorpId(safetyEnvironmentalInspectionE.getInspectedCorpinfoId());
|
||||
penalty.setPenalizedUserId(person.getUserId());
|
||||
penalty.setFineFlag(0);
|
||||
penalty.setFeedbackStatus(0);
|
||||
penalty.setEditFlag(0);
|
||||
penaltyList.add(penalty);
|
||||
}));
|
||||
});
|
||||
hiddenPenaltyRepository.saveBatch(penaltyList);
|
||||
|
||||
String projectName = projectDO != null ? projectDO.getProjectName() : "";
|
||||
Map<String, Object> sendParams = new HashMap<>();
|
||||
sendParams.put("keyProject", projectName);
|
||||
personnelList.forEach(person -> {
|
||||
penaltyList.forEach(penalty -> personnelList.forEach(person -> {
|
||||
messageNoticeExe.messageNotice(person.getUserId(),
|
||||
messageTemplateConfig.getHiddenDangerPenaltyPersonApplyPenalty(), sendParams);
|
||||
messageNoticeExe.sendMessageAddEvent(person.getUserId(),
|
||||
"您有一条待处罚隐患,请及时发起处罚。", "待处罚",
|
||||
safetyEnvironmentalInspectionE.getId(), safetyEnvironmentalInspectionE.getId());
|
||||
});
|
||||
penalty.getId(), penalty.getId());
|
||||
}));
|
||||
}
|
||||
}
|
||||
//TODO 站内信
|
||||
|
|
@ -346,6 +345,7 @@ public class SafetyEnvironmentalInspectionUpdateExe {
|
|||
for (SafetyEnvironmentalInspectionUserDO deleteUser : deleteUserList){
|
||||
messageNoticeExe.sendMessageDeleteEvent(deleteUser.getId());
|
||||
}
|
||||
safetyEnvironmentalInspectionUserRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId(), 2);
|
||||
// 删除检查内容
|
||||
List<SafetyEnvironmentalInspectionContentDO> deleteContentList = safetyEnvironmentalInspectionContentRepository.listAllByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||
safetyEnvironmentalInspectionContentRepository.deleteByInspectionId(safetyEnvironmentalInspectionE.getInspectionId());
|
||||
|
|
|
|||
|
|
@ -33,6 +33,35 @@
|
|||
<where>
|
||||
hp.delete_enum = 'FALSE'
|
||||
AND (h.source NOT IN (2, 3) OR i.inspection_id IS NOT NULL)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM hidden_penalty hp_latest
|
||||
WHERE hp_latest.delete_enum = 'FALSE'
|
||||
AND hp_latest.hidden_id = hp.hidden_id
|
||||
AND (
|
||||
(
|
||||
IFNULL(hp_latest.feedback_status, 0) * 100
|
||||
+ IFNULL(hp_latest.fine_flag, 0) * 10
|
||||
+ IFNULL(hp_latest.edit_flag, 0)
|
||||
) > (
|
||||
IFNULL(hp.feedback_status, 0) * 100
|
||||
+ IFNULL(hp.fine_flag, 0) * 10
|
||||
+ IFNULL(hp.edit_flag, 0)
|
||||
)
|
||||
OR (
|
||||
(
|
||||
IFNULL(hp_latest.feedback_status, 0) * 100
|
||||
+ IFNULL(hp_latest.fine_flag, 0) * 10
|
||||
+ IFNULL(hp_latest.edit_flag, 0)
|
||||
) = (
|
||||
IFNULL(hp.feedback_status, 0) * 100
|
||||
+ IFNULL(hp.fine_flag, 0) * 10
|
||||
+ IFNULL(hp.edit_flag, 0)
|
||||
)
|
||||
AND hp_latest.id > hp.id
|
||||
)
|
||||
)
|
||||
)
|
||||
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
|
||||
AND xci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
|
||||
</if>
|
||||
|
|
@ -66,7 +95,17 @@
|
|||
AND hp.fine_flag = #{params.fineFlag}
|
||||
</if>
|
||||
<if test="params.currentUserId != null">
|
||||
AND (hp.create_id = #{params.currentUserId} OR hp.penalized_user_id = #{params.currentUserId})
|
||||
AND (
|
||||
hp.create_id = #{params.currentUserId}
|
||||
OR hp.penalized_user_id = #{params.currentUserId}
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM key_project_penalty_personnel kpp
|
||||
WHERE kpp.delete_enum = 'FALSE'
|
||||
AND kpp.key_project_id = hp.key_project_id
|
||||
AND kpp.user_id = #{params.currentUserId}
|
||||
)
|
||||
)
|
||||
</if>
|
||||
<if test="params.penaltyDesc != null and params.penaltyDesc != ''">
|
||||
AND hp.penalty_desc LIKE CONCAT('%', #{params.penaltyDesc}, '%')
|
||||
|
|
@ -98,6 +137,9 @@
|
|||
LEFT JOIN user xmu ON xmu.id = kp.xgf_master_user_id
|
||||
LEFT JOIN user xmu2 ON xmu2.id = kp2.xgf_master_user_id
|
||||
WHERE hp.hidden_id = #{hiddenId} AND hp.delete_enum = 'FALSE'
|
||||
ORDER BY
|
||||
(IFNULL(hp.feedback_status, 0) * 100 + IFNULL(hp.fine_flag, 0) * 10 + IFNULL(hp.edit_flag, 0)) DESC,
|
||||
hp.id DESC
|
||||
</select>
|
||||
|
||||
<select id="getByPenaltyId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
|
||||
|
|
|
|||
|
|
@ -227,7 +227,16 @@
|
|||
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
||||
FROM corp_info cp
|
||||
LEFT JOIN key_project kp
|
||||
ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status != 0 AND kp.apply_status != 7
|
||||
ON cp.id = kp.jurisdiction_corpinfo_id
|
||||
AND kp.delete_enum = 'FALSE'
|
||||
AND kp.apply_status in (1,2,3,4,5,6)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM key_project kp_latest
|
||||
WHERE kp_latest.delete_enum = 'FALSE'
|
||||
AND kp_latest.key_project_id = kp.key_project_id
|
||||
AND kp_latest.id > kp.id
|
||||
)
|
||||
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
||||
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
||||
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and
|
||||
|
|
@ -313,7 +322,16 @@
|
|||
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
|
||||
FROM corp_info cp
|
||||
LEFT JOIN key_project kp
|
||||
ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' AND kp.apply_status != 0
|
||||
ON cp.id = kp.jurisdiction_corpinfo_id
|
||||
AND kp.delete_enum = 'FALSE'
|
||||
AND kp.apply_status in (1,2,3,4,5,6)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM key_project kp_latest
|
||||
WHERE kp_latest.delete_enum = 'FALSE'
|
||||
AND kp_latest.key_project_id = kp.key_project_id
|
||||
AND kp_latest.id > kp.id
|
||||
)
|
||||
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
|
||||
LEFT JOIN camera c ON c.camera_id = kpc.camera_id
|
||||
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.inspected_corpinfo_id = #{params.xgfCorpinfoId} and
|
||||
|
|
|
|||
Loading…
Reference in New Issue