Forráskód Böngészése

陈航-修改消防安全检查 注解校验问题

sigezuishuai 2 éve
szülő
commit
3874124be8

+ 1 - 1
ruoyi-api/ruoyi-api-ext/src/main/java/com/ruoyi/system/domain/SysZbgz.java

@@ -75,7 +75,7 @@ public class SysZbgz extends BaseEntity
     /** 题目适用对象 */
     @ApiModelProperty(value = "题目适用对象")
     @Excel(name = "题目适用对象")
-    @DictV(type = "CH027", isMuti = true, message = "{题目适用对象}")
+    @DictV(type = "XZ072", isMuti = true, message = "{题目适用对象}")
     private String tmsydx;
 
     /** 题目答案配置 */

+ 13 - 5
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/YljgJcxmxx.java

@@ -3,11 +3,15 @@ package com.ruoyi.business.domain;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.business.validator.BusinessXfaqZbgzVH;
+import com.ruoyi.business.validator.BusinessXfaqjcVH;
 import com.ruoyi.common.core.annotation.Excel;
 import com.ruoyi.common.core.web.domain.BaseEntity;
 import com.ruoyi.ext.api.validate.DateV;
 import com.ruoyi.ext.api.validate.DictV;
+import com.ruoyi.ext.api.validate.LogicV;
 import com.ruoyi.ext.api.validate.group.AddGroup;
+import com.ruoyi.ext.api.validate.group.LogicGroup;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -44,20 +48,24 @@ public class YljgJcxmxx extends BaseEntity
     @Excel(name = "消防安全自查信息id")
     @ApiModelProperty(value = "消防安全自查信息id", required = true)
 //    @NotBlank(message = "{消防安全自查信息id}",groups = AddGroup.class)
+    @LogicV(message = "{消防安全自查信息id}",handler = BusinessXfaqjcVH.class,groups = LogicGroup.class)
+
     private String xfaqzcxxId;
 
     /** 指标序号 */
     @Excel(name = "指标序号")
     @ApiModelProperty(value = "指标序号", required = true)
-//    @NotBlank(message = "{指标序号}",groups = AddGroup.class)
+    @NotBlank(message = "{指标序号}",groups = AddGroup.class)
     @Size(min  = 1, max = 5, message = "{指标序号}")
     private String zbxh;
 
     /** 指标规则id */
     @Excel(name = "指标规则id")
     @ApiModelProperty(value = "指标规则id", required = true)
-//    @NotBlank(message = "{指标规则id}",groups = AddGroup.class)
+    @NotBlank(message = "{指标规则id}",groups = AddGroup.class)
     @Size(min  = 1, max = 32, message = "{指标规则id}")
+    @LogicV(message = "{指标规则id}",handler = BusinessXfaqZbgzVH.class,groups = LogicGroup.class)
+
     private String zbgz;
 
     /** 指标规则检查方式 */
@@ -81,20 +89,20 @@ public class YljgJcxmxx extends BaseEntity
     /** 是否选项(CZ035) */
     @Excel(name = "是否选项", dictType = "CZ035")
     @ApiModelProperty(value = "是否选项(CZ035)")
-    @DictV(type = "CZ035",message = "{是否选项}")
+//    @DictV(type = "CZ035",message = "{是否选项}")
     private String isSf;
 
     /** 指标规则-选择否时,是否上传附件(CZ035) */
     @Excel(name = "指标规则-选择否时,是否上传附件", dictType = "CZ035")
     @ApiModelProperty(value = "指标规则-选择否时,是否上传附件(CZ035)", required = true)
-//    @NotBlank(message = "{指标规则-选择否时,是否上传附件}",groups = AddGroup.class)
+    @NotBlank(message = "{指标规则-选择否时,是否上传附件}",groups = AddGroup.class)
     @DictV(type = "CZ035",message = "{指标规则-选择否时,是否上传附件}")
     private String isUpload;
 
     /** 指标规则名称 */
     @Excel(name = "指标规则名称")
     @ApiModelProperty(value = "指标规则名称", required = true)
-//    @NotBlank(message = "{指标规则名称}",groups = AddGroup.class)
+    @NotBlank(message = "{指标规则名称}",groups = AddGroup.class)
     @Size(min  = 1, max = 100, message = "{指标规则名称}")
     private String jcxx;
 

+ 7 - 4
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/YljgXfaqzcxx.java

@@ -4,19 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.business.validator.BusinessJgIdVH;
+import com.ruoyi.business.validator.BusinessXfaqjcVH;
 import com.ruoyi.common.core.annotation.Excel;
 import com.ruoyi.common.core.web.domain.BaseEntity;
-import com.ruoyi.ext.api.validate.ChineseV;
-import com.ruoyi.ext.api.validate.DateV;
-import com.ruoyi.ext.api.validate.DictV;
-import com.ruoyi.ext.api.validate.MobileV;
+import com.ruoyi.ext.api.validate.*;
 import com.ruoyi.ext.api.validate.group.AddGroup;
+import com.ruoyi.ext.api.validate.group.LogicGroup;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
+import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
 import java.util.List;
@@ -43,6 +44,7 @@ public class YljgXfaqzcxx extends BaseEntity
 
     /** 养老机构id */
     @ApiModelProperty(value = "养老机构id")
+    @LogicV(message = "{养老机构id}",handler = BusinessJgIdVH.class,groups = LogicGroup.class)
     private String jgId;
 
     /** 消防安全负责人姓名/法定代表人或主要负责人 */
@@ -201,6 +203,7 @@ public class YljgXfaqzcxx extends BaseEntity
 
     /** 检查信息信息 */
     @TableField(exist = false)
+    @Valid
     private List<YljgJcxmxx> yljgJcxmxxList;
 
 }

+ 7 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/mapper/YljgXfaqzcxxMapper.java

@@ -1,12 +1,16 @@
 package com.ruoyi.business.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.ruoyi.common.datascope.handler.DataColumn;
 import com.ruoyi.common.datascope.handler.DataPermission;
 import com.ruoyi.common.datascope.utils.BaseMapperPlus;
 import com.ruoyi.business.domain.YljgJcxmxx;
 import com.ruoyi.business.domain.YljgXfaqzcxx;
+import com.ruoyi.system.domain.SysZbgz;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 消防安全自查Mapper接口
@@ -94,4 +98,7 @@ public interface YljgXfaqzcxxMapper extends BaseMapperPlus<YljgXfaqzcxx>
      * @return 结果
      */
     public int deleteYljgJcxmxxByXfaqzcxxId(String id);
+
+    @InterceptorIgnore(tenantLine = "true")
+    public Map<String,Object> selectRightZbgz(@Param("id") String id, @Param("userType") String userType);
 }

+ 1 - 15
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/YljgXfaqzcxxServiceImpl.java

@@ -232,25 +232,11 @@ public class YljgXfaqzcxxServiceImpl implements IYljgXfaqzcxxService
             List<YljgJcxmxx> list = new ArrayList<YljgJcxmxx>();
             for (YljgJcxmxx yljgJcxmxx : yljgJcxmxxList)
             {
-                // CHProblem - 这里可以做优化 一次查询所有符合的ruler, 之后放进list里面,在insert消防自查子表
-                Map<String,Object> rulers = sysZbgzMapper.selectZbgzById(yljgJcxmxx.getZbgz());
-                if(rulers.get("zt").toString().equals("1") && rulers.get("tmsydx").toString().contains("02")){
-                    yljgJcxmxx.setZbxh(rulers.get("xh").toString());
-                    yljgJcxmxx.setIsUpload(rulers.get("isUpload").toString());
-                    if(StringUtils.isNotNull(rulers.get("daxx"))){
-                        yljgJcxmxx.setDaxx(rulers.get("daxx").toString());
-                    }
-                    if(StringUtils.isNotNull(rulers.get("jcfs"))){
-                        yljgJcxmxx.setJcfs(rulers.get("jcfs").toString());
-                    }
-                    if(StringUtils.isNotNull(rulers.get("zbxz"))){
-                        yljgJcxmxx.setZbxz(rulers.get("zbxz").toString());
-                    }
                     yljgJcxmxx.setId(IdUtils.simpleUUID());
                     yljgJcxmxx.setJgId(jgId);
                     yljgJcxmxx.setXfaqzcxxId(id);
                     list.add(yljgJcxmxx);
-                }
+//                }
             }
             if (list.size() > 0)
             {

+ 25 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/validator/BusinessJgIdVH.java

@@ -0,0 +1,25 @@
+package com.ruoyi.business.validator;
+
+import com.ruoyi.business.mapper.YljgJcxxMapper;
+import com.ruoyi.ext.api.validate.ValidatorHandler;
+import com.ruoyi.organization.domain.YljgJcxx;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+
+@Component
+public class BusinessJgIdVH implements ValidatorHandler {
+
+    @Autowired
+    private YljgJcxxMapper yljgJcxxMapper;
+
+    @Override
+    public boolean check(String value) {
+        boolean res = true;
+        YljgJcxx yljgJcxx = yljgJcxxMapper.selectById(value);
+        if (ObjectUtils.isEmpty(yljgJcxx)) {
+            res = false;
+        }
+        return res;
+    }
+}

+ 27 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/validator/BusinessJgScztVH.java

@@ -0,0 +1,27 @@
+package com.ruoyi.business.validator;
+
+import com.ruoyi.business.mapper.YljgJcxxMapper;
+import com.ruoyi.ext.api.validate.ValidatorHandler;
+import com.ruoyi.organization.domain.YljgJcxx;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+
+@Component
+public class BusinessJgScztVH implements ValidatorHandler {
+
+    @Autowired
+    private YljgJcxxMapper yljgJcxxMapper;
+
+    @Override
+    public boolean check(String value) {
+        boolean res = true;
+        YljgJcxx yljgJcxx = yljgJcxxMapper.selectById(value);
+        if (ObjectUtils.isEmpty(yljgJcxx)) {
+            res = false;
+        } else if (!yljgJcxx.getSczt().equals("01")) {
+            res = false;
+        }
+        return res;
+    }
+}

+ 28 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/validator/BusinessXfaqZbgzVH.java

@@ -0,0 +1,28 @@
+package com.ruoyi.business.validator;
+
+import com.ruoyi.business.domain.YljgXfaqzcxx;
+import com.ruoyi.business.mapper.YljgXfaqzcxxMapper;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.ext.api.validate.ValidatorHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Map;
+
+@Component
+public class BusinessXfaqZbgzVH implements ValidatorHandler {
+
+    @Autowired
+    private YljgXfaqzcxxMapper yljgXfaqzcxxMapper;
+
+    @Override
+    public boolean check(String value) {
+        boolean res = true;
+        Map<String,Object> xfaqZbgz = yljgXfaqzcxxMapper.selectRightZbgz(value,SecurityUtils.getUserType());
+        if (ObjectUtils.isEmpty(xfaqZbgz)) {
+            res = false;
+        }
+        return res;
+    }
+}

+ 25 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/validator/BusinessXfaqjcVH.java

@@ -0,0 +1,25 @@
+package com.ruoyi.business.validator;
+
+import com.ruoyi.business.domain.YljgXfaqzcxx;
+import com.ruoyi.business.mapper.YljgXfaqzcxxMapper;
+import com.ruoyi.ext.api.validate.ValidatorHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+
+@Component
+public class BusinessXfaqjcVH implements ValidatorHandler {
+
+    @Autowired
+    private YljgXfaqzcxxMapper yljgXfaqzcxxMapper;
+
+    @Override
+    public boolean check(String value) {
+        boolean res = true;
+        YljgXfaqzcxx yljgXfaqzcxx = yljgXfaqzcxxMapper.selectById(value);
+        if (ObjectUtils.isEmpty(yljgXfaqzcxx)) {
+            res = false;
+        }
+        return res;
+    }
+}

+ 10 - 1
ruoyi-modules/mz-business/src/main/resources/mapper/business/YljgXfaqzcxxMapper.xml

@@ -164,7 +164,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY a.create_time_str DESC
     </select>
 
-
     <!--政务业务-综合监管-消防安全自查-->
     <select id="selectYljgXfaqzcxxListByJgIdGroup" parameterType="com.ruoyi.business.domain.YljgXfaqzcxx" resultMap="YljgXfaqzcxxResult">
         SELECT
@@ -368,4 +367,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </insert>
 
+
+    <select id="selectRightZbgz" parameterType="string" resultType="java.util.Map">
+        SELECT * FROM sys_zbgz
+        WHERE
+        zt = "1"
+        AND FIND_IN_SET(#{userType},tmsydx)
+        AND id = #{id}
+    </select>
+
+
 </mapper>

+ 0 - 128
ruoyi-modules/mz-search/src/main/resources/mapper/business/SysZbgzMapper.xml

@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.business.mapper.SysZbgzMapper">
-
-    <resultMap type="com.ruoyi.system.domain.SysZbgz" id="SysZbgzResult">
-        <result property="id"    column="id"    />
-        <result property="xh"    column="xh"    />
-        <result property="isUpload"    column="is_upload"    />
-        <result property="zbnr"    column="zbnr"    />
-        <result property="zbxz"    column="zbxz"    />
-        <result property="jcfs"    column="jcfs"    />
-        <result property="tmdnpz"    column="tmdnpz"    />
-        <result property="zt"    column="zt"    />
-        <result property="tmsydx"    column="tmsydx"    />
-        <result property="createTimeStr"    column="create_time_str"    />
-        <result property="createUserId"    column="create_user_id"    />
-        <result property="createUserType"    column="create_user_type"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createUnit"    column="create_unit"    />
-        <result property="createUnitName"    column="create_unit_name"    />
-        <result property="updateTimeStr"    column="update_time_str"    />
-        <result property="updateUserId"    column="update_user_id"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateUnit"    column="update_unit"    />
-        <result property="updateUnitName"    column="update_unit_name"    />
-        <result property="state"    column="state"    />
-    </resultMap>
-
-    <sql id="selectSysZbgzVo">
-        select id, xh,is_upload, zt, daxx, zbnr, zbxz, is_jgxfaqtsgc, jcfs, tmdnpz, create_time_str, create_user_id, create_by, create_unit, create_unit_name, update_time_str, update_user_id, update_by, update_unit, update_unit_name, state from sys_zbgz
-    </sql>
-
-    <select id="selectSysZbgzList" parameterType="com.ruoyi.system.domain.SysZbgz" resultMap="SysZbgzResult">
-        <include refid="selectSysZbgzVo"/>
-
-        <where>
-            <if test="xh != null "> and xh = #{xh}</if>
-            <if test="zt != null "> and zt = #{zt}</if>
-        </where>
-        ORDER BY xh ASC
-    </select>
-
-    <select id="selectSysZbgzCount"  resultType="String">
-        SELECT COUNT(*) FROM sys_zbgz
-    </select>
-
-    <select id="selectSysZbgzById" parameterType="String" resultMap="SysZbgzResult">
-        <include refid="selectSysZbgzVo"/>
-        where id = #{id}
-    </select>
-
-    <insert id="insertSysZbgz" parameterType="com.ruoyi.system.domain.SysZbgz">
-        insert into sys_zbgz
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">id,</if>
-            <if test="xh != null">xh,</if>
-            <if test="isUpload != null and isUpload != ''">is_upload,</if>
-            <if test="zbnr != null and zbnr != ''">zbnr,</if>
-            <if test="zbxz != null and zbxz != ''">zbxz,</if>
-            <if test="jcfs != null and jcfs != ''">jcfs,</if>
-            <if test="tmdnpz != null and tmdnpz != ''">tmdnpz,</if>
-            <if test="tmsydx != null and tmsydx != ''">tmsydx,</if>
-            create_time_str,
-            create_user_id,
-            create_user_type,
-            create_by,
-            create_unit,
-            create_unit_name,
-            <if test="state != null">state,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">#{id},</if>
-            <if test="xh != null">#{xh},</if>
-            <if test="isUpload != null and isUpload != ''">#{isUpload},</if>
-            <if test="zbnr != null and zbnr != ''">#{zbnr},</if>
-            <if test="zbxz != null and zbxz != ''">#{zbxz},</if>
-            <if test="jcfs != null and jcfs != ''">#{jcfs},</if>
-            <if test="tmdnpz != null and tmdnpz != ''">#{tmdnpz},</if>
-            <if test="tmsydx != null and tmsydx != ''">#{tmsydx},</if>
-            #{createTimeStr},
-            #{createUserId},
-            #{createUserType},
-            #{createBy},
-            #{createUnit},
-            #{createUnitName},
-            <if test="state != null">#{state},</if>
-        </trim>
-    </insert>
-
-    <update id="updateSysZbgz" parameterType="com.ruoyi.system.domain.SysZbgz">
-        update sys_zbgz
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="xh != null">xh = #{xh},</if>
-            <if test="isUpload != null and isUpload != ''">is_upload = #{isUpload},</if>
-            <if test="zbnr != null and zbnr != ''">zbnr = #{zbnr},</if>
-            <if test="zbxz != null and zbxz != ''">zbxz = #{zbxz},</if>
-            <if test="jcfs != null and jcfs != ''">jcfs = #{jcfs},</if>
-            <if test="tmdnpz != null and tmdnpz != ''">tmdnpz = #{tmdnpz},</if>
-            <if test="isjgxfaqtsgc != null and isjgxfaqtsgc != ''">is_jgxfaqtsgc = #{isjgxfaqtsgc},</if>
-            update_time_str = #{updateTimeStr},
-            update_user_id = #{updateUserId},
-            update_by = #{updateBy},
-            update_unit = #{updateUnit},
-            update_unit_name = #{updateUnitName},
-            <if test="state != null">state = #{state},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
-    <delete id="deleteSysZbgzById" parameterType="String">
-        delete from sys_zbgz where id = #{id}
-    </delete>
-
-    <delete id="deleteSysZbgzByIds" parameterType="String">
-        delete from sys_zbgz where id in
-        <foreach item="id" collection="array" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
-
-    <select id="selectZbgzById" parameterType="String" resultType="java.util.Map">
-        select id, xh,is_upload as isUpload, tmsydx, daxx, zbnr, zbxz, jcfs, zt, state
-        from sys_zbgz
-        where id = #{id}
-    </select>
-</mapper>

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysZbgzController.java

@@ -7,6 +7,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.ext.api.validate.group.AddGroup;
 import com.ruoyi.system.domain.SysZbgz;
 import com.ruoyi.system.service.ISysZbgzService;
@@ -49,6 +50,7 @@ public class SysZbgzController extends BaseController
     public TableDataInfo rightList(SysZbgz sysZbgz)
     {
         sysZbgz.setZt("1");
+        sysZbgz.setCreateUserType(SecurityUtils.getUserType());
         List<SysZbgz> list = sysZbgzService.selectSysZbgzList(sysZbgz);
         return getDataTable(list);
     }

+ 2 - 1
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysZbgzMapper.xml

@@ -39,7 +39,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>
             <if test="xh != null "> and xh = #{xh}</if>
             <if test="zt != null "> and zt = #{zt}</if>
-            <if test="tmsydx != null "> and tmsydx like concat( '%', #{tmsydx}, '%' )</if>
+            AND FIND_IN_SET(#{createUserType},tmsydx)
+--             <if test="tmsydx != null "> and tmsydx like concat( '%', #{tmsydx}, '%' )</if>
         </where>
         ORDER BY xh ASC
     </select>