数据权限注解并优化安全环保检查查询
parent
add7230fd1
commit
252a3ea735
|
|
@ -2,6 +2,8 @@ package com.zcloud.key.project.persistence.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
|
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
|
||||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
@ -17,6 +19,10 @@ import java.util.Map;
|
||||||
* @Date 2026-03-20 11:32:51
|
* @Date 2026-03-20 11:32:51
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "selectListPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface HiddenMapper extends BaseMapper<HiddenDO> {
|
public interface HiddenMapper extends BaseMapper<HiddenDO> {
|
||||||
IPage<HiddenDO> selectListPage(IPage<HiddenDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
IPage<HiddenDO> selectListPage(IPage<HiddenDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.zcloud.key.project.persistence.mapper.ai;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
|
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
@ -14,6 +16,9 @@ import java.util.Map;
|
||||||
* @Date 2026-04-08 10:09:33
|
* @Date 2026-04-08 10:09:33
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "selectListPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> {
|
public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> {
|
||||||
IPage<AiAlarmDO> selectListPage(IPage<AiAlarmDO> iPage, Map<String, Object> params, String menuPerms);
|
IPage<AiAlarmDO> selectListPage(IPage<AiAlarmDO> iPage, Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.zcloud.key.project.persistence.mapper.ai;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.key.project.persistence.dataobject.ai.KeyProjectAlgorithmDO;
|
import com.zcloud.key.project.persistence.dataobject.ai.KeyProjectAlgorithmDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
@ -15,6 +17,9 @@ import java.util.Map;
|
||||||
* @Date 2026-04-08 10:09:30
|
* @Date 2026-04-08 10:09:30
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "selectListPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface KeyProjectAlgorithmMapper extends BaseMapper<KeyProjectAlgorithmDO> {
|
public interface KeyProjectAlgorithmMapper extends BaseMapper<KeyProjectAlgorithmDO> {
|
||||||
IPage<KeyProjectAlgorithmDO> selectListPage(IPage<KeyProjectAlgorithmDO> page, @Param("params") Map<String, Object> params , @Param("menuPerms") String menuPerms);
|
IPage<KeyProjectAlgorithmDO> selectListPage(IPage<KeyProjectAlgorithmDO> page, @Param("params") Map<String, Object> params , @Param("menuPerms") String menuPerms);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package com.zcloud.key.project.persistence.mapper.inspection;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
|
||||||
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
|
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
@ -18,6 +20,10 @@ import java.util.Map;
|
||||||
* @Date 2026-03-20 16:16:05
|
* @Date 2026-03-20 16:16:05
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "selectListPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface SafetyEnvironmentalInspectionMapper extends BaseMapper<SafetyEnvironmentalInspectionDO> {
|
public interface SafetyEnvironmentalInspectionMapper extends BaseMapper<SafetyEnvironmentalInspectionDO> {
|
||||||
IPage<SafetyEnvironmentalInspectionDO> selectListPage(IPage<SafetyEnvironmentalInspectionDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
IPage<SafetyEnvironmentalInspectionDO> selectListPage(IPage<SafetyEnvironmentalInspectionDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,16 @@
|
||||||
|
|
||||||
<mapper namespace="com.zcloud.key.project.persistence.mapper.inspection.SafetyEnvironmentalInspectionMapper">
|
<mapper namespace="com.zcloud.key.project.persistence.mapper.inspection.SafetyEnvironmentalInspectionMapper">
|
||||||
<select id="selectListPage" resultType="com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO">
|
<select id="selectListPage" resultType="com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO">
|
||||||
|
WITH max_iu_type AS (
|
||||||
|
SELECT
|
||||||
|
inspection_id,
|
||||||
|
MAX(type) AS max_type
|
||||||
|
FROM safety_environmental_inspection_user
|
||||||
|
WHERE delete_enum = 'FALSE'
|
||||||
|
AND type IN (2, 5)
|
||||||
|
GROUP BY inspection_id
|
||||||
|
)
|
||||||
|
|
||||||
select
|
select
|
||||||
i.*,
|
i.*,
|
||||||
kp.project_name,
|
kp.project_name,
|
||||||
|
|
@ -15,24 +25,24 @@
|
||||||
safety_environmental_inspection i
|
safety_environmental_inspection i
|
||||||
left join key_project kp on kp.key_project_id = i.key_project_id
|
left join key_project kp on kp.key_project_id = i.key_project_id
|
||||||
left join user creu on creu.id = i.create_id
|
left join user creu on creu.id = i.create_id
|
||||||
left join (
|
JOIN max_iu_type mt
|
||||||
SELECT
|
ON mt.inspection_id = i.inspection_id
|
||||||
inspection_id,
|
|
||||||
department_id,
|
<!-- 展示用:最大 type 下的所有人员,不限制 status -->
|
||||||
user_id,
|
LEFT JOIN safety_environmental_inspection_user iu_show
|
||||||
type,
|
ON iu_show.inspection_id = i.inspection_id
|
||||||
RANK() OVER (
|
AND iu_show.delete_enum = 'FALSE'
|
||||||
PARTITION BY inspection_id
|
AND iu_show.type = mt.max_type
|
||||||
ORDER BY type DESC
|
|
||||||
) AS rn
|
<!-- 过滤用:最大 type 下 status = 0 的人员 -->
|
||||||
FROM safety_environmental_inspection_user
|
JOIN safety_environmental_inspection_user iu
|
||||||
WHERE delete_enum = 'FALSE'
|
ON iu.inspection_id = i.inspection_id
|
||||||
AND type IN (2, 5)
|
AND iu.delete_enum = 'FALSE'
|
||||||
) iu on iu.inspection_id = i.inspection_id AND iu.rn = 1
|
AND iu.type = mt.max_type
|
||||||
|
AND iu.STATUS = 0
|
||||||
left join user iuu on iuu.id = iu.user_id
|
left join user iuu on iuu.id = iu.user_id
|
||||||
left join corp_info indc on indc.id = i.inspected_corpinfo_id
|
left join corp_info indc on indc.id = i.inspected_corpinfo_id
|
||||||
left join user xmu on xmu.id = i.xgf_master_user_id
|
left join user xmu on xmu.id = i.xgf_master_user_id
|
||||||
-- left join safety_environmental_inspection_user seiu on seiu.inspection_id = i.inspection_id
|
|
||||||
where i.delete_enum = 'FALSE'
|
where i.delete_enum = 'FALSE'
|
||||||
<if test="params.place != null and params.place != ''">
|
<if test="params.place != null and params.place != ''">
|
||||||
and i.place LIKE CONCAT('%', #{params.place}, '%')
|
and i.place LIKE CONCAT('%', #{params.place}, '%')
|
||||||
|
|
@ -61,8 +71,8 @@
|
||||||
</if>
|
</if>
|
||||||
<if test="params.statusList != null and params.statusList.size() > 0">
|
<if test="params.statusList != null and params.statusList.size() > 0">
|
||||||
and i.status in
|
and i.status in
|
||||||
<foreach item="status" collection="params.statusList" separator="," open="(" close=")" index="">
|
<foreach item="st" collection="params.statusList" separator="," open="(" close=")" >
|
||||||
#{status}
|
#{st}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
|
@ -71,7 +81,7 @@
|
||||||
HAVING inspection_user_name LIKE CONCAT('%', #{params.inspectionUserName}, '%')
|
HAVING inspection_user_name LIKE CONCAT('%', #{params.inspectionUserName}, '%')
|
||||||
</if>
|
</if>
|
||||||
ORDER BY
|
ORDER BY
|
||||||
CASE WHEN i.status = 6 THEN 0 ELSE 1 END,
|
FIELD(i.status, 6) DESC,
|
||||||
i.create_time desc
|
i.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -202,8 +212,8 @@
|
||||||
</if>
|
</if>
|
||||||
<if test="params.statusList != null and params.statusList.size() > 0">
|
<if test="params.statusList != null and params.statusList.size() > 0">
|
||||||
and i.status in
|
and i.status in
|
||||||
<foreach item="status" collection="params.statusList" separator="," open="(" close=")" index="">
|
<foreach item="st" collection="params.statusList" separator="," open="(" close=")" index="">
|
||||||
#{status}
|
#{st}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="params.ids != null and params.ids.size() > 0">
|
<if test="params.ids != null and params.ids.size() > 0">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue