You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

144 lines
3.8 KiB

<?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.ccsens.form.persist.dao.ModuleDao">
<resultMap id="moduleInfo" type="com.ccsens.form.bean.vo.ModuleVo$ModuleInfo">
<id column="id" property="id"/>
<result column="type" property="type"/>
<result column="logo" property="logo"/>
<result column="dName" property="name"/>
<result column="option" property="option"/>
<result column="hierarchy" property="hierarchy"/>
<collection property="moduleConfigList" ofType="com.ccsens.form.bean.vo.ModuleVo$ModuleConfig">
<id column="configId" property="configId"/>
<result column="cType" property="type"/>
<result column="configKey" property="configKey"/>
<result column="configValue" property="configValue"/>
</collection>
<collection property="optionList" ofType="com.ccsens.form.bean.vo.ModuleVo$Option">
<id column="optionId" property="id"/>
<result column="optionKey" property="optionKey"/>
<result column="optionValue" property="optionValue"/>
<result column="sequence" property="sequence"/>
</collection>
</resultMap>
<select id="queryModule" resultMap="moduleInfo">
SELECT
m.id,
m.type,
m.logo,
m.`name`,
m.`option`,
m.hierarchy,
c.id as configId,
c.type as cType,
c.config_key as configKey,
c.config_value as configValue
from
t_module m
LEFT JOIN
(SELECT * FROM t_module_config WHERE rec_status = 0) c on c.module_id = m.id
where
m.rec_status = 0
ORDER BY m.id
</select>
<select id="getModuleByFormModuleId" resultType="com.ccsens.form.bean.vo.ModuleVo$ModuleInfo">
SELECT
m.id,
m.type,
m.logo,
m.`name`,
m.`option`,
m.hierarchy
from
t_form_module f
LEFT JOIN t_module m on f.module_id = m.id
WHERE
f.id = #{formModuleId}
and f.rec_status = 0
and m.rec_status = 0
</select>
<select id="getConfigByFormModuleId" resultType="com.ccsens.form.bean.vo.ModuleVo$ModuleConfig">
SELECT
id as configId,
type as type,
config_key as configKey,
config_value as configValue
from
t_form_module_config
WHERE
form_module_id = #{formModuleId}
</select>
<select id="getConfigByModuleId" resultType="com.ccsens.form.bean.vo.ModuleVo$ModuleConfig">
SELECT
id as configId,
type as type,
config_key as configKey,
config_value as configValue
from
t_module_config
WHERE
module_id = #{moduleId}
and rec_status = 0
</select>
<select id="getOptionByFormModuleId" resultType="com.ccsens.form.bean.vo.ModuleVo$Option">
SELECT
id,
option_key as optionKey,
option_value as optionValue,
sequence
FROM
t_form_module_option
WHERE
form_module_id = #{formModuleId}
and parent_id = #{parentId}
and rec_status = 0
</select>
<select id="queryOption" resultType="com.ccsens.form.bean.vo.FormVo$FormOptionVo">
SELECT
m.id,
m.optionKey,
m.optionValue,
m.sequence,
if(w.answer is null ,0,1) as choose
FROM
(
SELECT
id,
option_key as optionKey,
option_value as optionValue,
sequence
FROM
t_form_module_option
WHERE
form_module_id = #{formModuleId}
and parent_id = #{parentId}
and rec_status = 0
)m
LEFT JOIN
(
SELECT
w.answer
FROM
t_form_write w,
t_form_user u
WHERE
w.form_user_id = u.id
and w.form_module_id = #{formModuleId}
and u.user_id = #{userId}
and w.rec_status = 0
and u.rec_status = 0
)w on m.id = w.option_id
</select>
<select id="getMaxSequence" resultType="java.lang.Integer">
SELECT
MAX(sequence)
FROM
`t_form_module`
WHERE
form_id = #{formId}
</select>
</mapper>