share-platform/renren-admin/src/main/resources/mapper/processForm/TAbilityApplicationDao.xml

623 lines
24 KiB
XML

<?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="io.renren.modules.processForm.dao.TAbilityApplicationDao">
<resultMap type="io.renren.modules.processForm.entity.TAbilityApplicationEntity" id="tAbilityApplicationMap">
<result property="id" column="id"/>
<result property="user" column="user"/>
<result property="phone" column="phone"/>
<result property="unit" column="unit"/>
<result property="area" column="area"/>
<result property="system" column="system"/>
<result property="scene" column="scene"/>
<result property="basis" column="basis"/>
<result property="attachment" column="attachment"/>
<result property="instanceId" column="instance_id"/>
<result property="resourceId" column="resource_id"/>
<result property="userId" column="user_id"/>
<result property="approveStatus" column="approve_status"/>
<result property="delFlag" column="del_flag"/>
<result property="enclosure" column="enclosure"/>
<result property="enclosureName" column="enclosure_name"/>
<result property="gatewayCode" column="gateway_code"/>
<result property="cameraList" column="camera_list"/>
<result property="applicationScene" column="application_scene"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
<result property="applyFlag" column="apply_flag"/>
<result property="resourceOwnerDept" column="resource_owner_dept"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
<result property="applyNumber" column="apply_number"/>
<result property="createDate" column="create_date"/>
<result property="applyPrice" column="apply_price"/>
</resultMap>
<resultMap id="resourceDTO" type="io.renren.modules.processForm.dto.TAbilityApplicationDTO">
<result property="id" column="id"/>
<result property="user" column="user"/>
<result property="phone" column="phone"/>
<result property="unit" column="unit"/>
<result property="area" column="area"/>
<result property="system" column="system"/>
<result property="scene" column="scene"/>
<result property="basis" column="basis"/>
<result property="attachment" column="attachment"/>
<result property="instanceId" column="instance_id"/>
<result property="resourceId" column="resource_id"/>
<result property="userId" column="user_id"/>
<result property="approveStatus" column="approve_status"/>
<result property="delFlag" column="del_flag"/>
<result property="enclosure" column="enclosure"/>
<result property="enclosureName" column="enclosure_name"/>
<result property="cameraList" column="camera_list"/>
<result property="applicationScene" column="application_scene"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
<result property="applyFlag" column="apply_flag"/>
<result property="resourceOwnerDept" column="resource_owner_dept"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
<result property="applyNumber" column="apply_number"/>
<result property="createDate" column="create_date"/>
<result property="applyPrice" column="apply_price"/>
</resultMap>
<update id="updateInstanceId">
update t_ability_application set instance_id = #{instanceId} where id = #{id}
</update>
<update id="delApplyCamera">
UPDATE t_ability_application taa
SET expire_date = now()
WHERE id IN
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</update>
<select id="getByInstanceId" resultMap="tAbilityApplicationMap">
SELECT
t1.*
FROM
t_ability_application t1
WHERE
t1.instance_id = #{instanceId}
</select>
<select id="getByBusinessKey" resultMap="tAbilityApplicationMap">
SELECT
t1.*
FROM
t_ability_application t1
WHERE
t1.id = #{businessKey}
</select>
<select id="countApplyAll" resultType="java.lang.Long">
SELECT
SUM( amount )
FROM
(
SELECT
COUNT(taa.id) AS "amount",
'应用资源' AS "type"
FROM
t_ability_application taa
, tb_data_resource tdr
, sys_user su
WHERE
taa.resource_id = tdr.id
AND tdr.del_flag = 0
AND tdr.type = '应用资源'
AND taa.user_id = su.id
AND su.dept_id != ''
AND su.dept_id IS NOT NULL
UNION
SELECT
COUNT(taa.id) AS "amount",
tda.attr_value AS "type"
FROM
t_ability_application taa
, tb_data_resource tdr
, tb_data_attr tda
, sys_user su
WHERE
taa.resource_id = tdr.id
AND tdr.id = tda.data_resource_id
AND tdr.del_flag = 0
AND tda.del_flag = 0
AND tdr.type = '组件服务'
AND tda.attr_type = '组件类型'
AND taa.user_id = su.id
AND su.dept_id != ''
AND su.dept_id IS NOT NULL
GROUP BY tda.attr_value
UNION
SELECT
COUNT( id ) AS 'amount',
'会客厅' AS 'type'
FROM
t_meetingroom_book tmb
) temp2
</select>
<select id="getAmountGroupByType" resultType="java.util.Map">
<!-- SELECT
'基础设施' AS 'type',
COUNT( 1 ) AS 'amount'
FROM
(
SELECT
COUNT( id )
FROM
t_ability_application
WHERE
resource_id != 8888888880000000001
AND instance_id != ''
AND instance_id IS NOT NULL
AND camera_list != ''
AND camera_list IS NOT NULL
GROUP BY
instance_id
) temp UNION
SELECT
tdr.type,
COUNT( taa.id )
FROM
t_ability_application taa,
tb_data_resource tdr
WHERE
1 = 1
AND taa.resource_id = tdr.id
AND tdr.type != '赋能案例'
AND tdr.del_flag = 0
GROUP BY
tdr.type -->
SELECT
COUNT(taa.id) AS "amount",
'应用资源' AS "type"
FROM
t_ability_application taa
, tb_data_resource tdr
, sys_user su
WHERE
taa.resource_id = tdr.id
AND tdr.del_flag = 0
AND tdr.type = '应用资源'
AND taa.user_id = su.id
AND su.dept_id != ''
AND su.dept_id IS NOT NULL
UNION
SELECT
COUNT(taa.id) AS "amount",
tda.attr_value AS "type"
FROM
t_ability_application taa
, tb_data_resource tdr
, tb_data_attr tda
, sys_user su
WHERE
taa.resource_id = tdr.id
AND tdr.id = tda.data_resource_id
AND tdr.del_flag = 0
AND tda.del_flag = 0
AND tdr.type = '组件服务'
AND tda.attr_type = '组件类型'
AND taa.user_id = su.id
AND su.dept_id != ''
AND su.dept_id IS NOT NULL
GROUP BY tda.attr_value
</select>
<select id="selectDeptApplyCount" resultType="java.util.Map">
SELECT
COUNT(
DISTINCT any_value (
SUBSTRING_INDEX( SUBSTRING_INDEX( tda.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ))) AS value_,
any_value ( temp.dept_id ) dept_id
FROM
(
SELECT
sys_user.dept_id,
t_ability_application.`user`,
t_ability_application.resource_id,
t_ability_application.approve_status,
t_ability_application.id
FROM
t_ability_application,
tb_data_resource,
sys_user
WHERE
t_ability_application.resource_id = tb_data_resource.id
AND sys_user.id = t_ability_application.user_id
AND sys_user.dept_id IS NOT NULL
) temp
INNER JOIN tb_data_attr tda ON temp.resource_id = tda.data_resource_id
AND tda.attr_type = '应用领域'
AND tda.del_flag = 0
AND temp.approve_status = '通过'
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tda.attr_value ) - LENGTH( REPLACE ( tda.attr_value,
';', '' ) ) + 1 )
GROUP BY
temp.dept_id
LIMIT #{n}
</select>
<select id="selectDeptApply" resultType="java.lang.String">
SELECT DISTINCT
( tda.attr_value )
FROM
(
SELECT
sys_user.dept_id,
t_ability_application.`user`,
t_ability_application.resource_id,
t_ability_application.approve_status,
t_ability_application.id
FROM
t_ability_application,
tb_data_resource,
sys_user
WHERE
t_ability_application.resource_id = tb_data_resource.id
AND sys_user.id = t_ability_application.user_id
AND sys_user.dept_id IS NOT NULL
AND t_ability_application.approve_status = '通过'
AND sys_user.dept_id = #{deptId}
) temp
INNER JOIN tb_data_attr tda ON temp.resource_id = tda.data_resource_id
AND tda.attr_type = '应用领域'
AND tda.del_flag = 0
</select>
<select id="countUserResourceApply" resultType="java.lang.Long">
SELECT
COUNT( t_ability_application.id )
FROM
t_ability_application,
tb_data_resource
WHERE
1 = 1
AND
tb_data_resource.id = t_ability_application.resource_id
AND (t_ability_application.approve_status = '审核中' OR approve_status = '通过')
AND t_ability_application.user_id = #{userId}
AND t_ability_application.resource_id = #{resourceId}
AND tb_data_resource.type != '基础设施'
AND t_ability_application.del_flag = 0
</select>
<select id="getDeptInfrastructureApply" resultType="java.lang.Integer">
SELECT count(*) FROM t_ability_application taa
LEFT JOIN sys_user su ON taa.creator = su.id
LEFT JOIN sys_dept sd ON su.dept_id = sd.id
WHERE 1=1
AND taa.camera_list IS NOT NULL
AND taa.del_flag = 0
AND (taa.approve_status = '审核中' OR taa.approve_status = '通过')
AND taa.expire_date > now()
AND sd.id = #{deptId}
</select>
<select id="getInstanceIdByResId" resultType="java.lang.Long">
SELECT instance_id FROM t_ability_application WHERE resource_id = #{id}
</select>
<select id="getApplyDeptList" resultType="java.util.Map">
SELECT DISTINCT
sd.id,
sd.NAME
FROM
t_ability_application taa,
sys_dept sd,
sys_user su
WHERE 1 = 1
AND taa.user_id = su.id
AND su.dept_id = sd.id
AND taa.del_flag = 0
UNION
SELECT
sd.id,
tmb.dept
FROM
sys_dept sd,
t_meetingroom_book tmb
WHERE
sd.NAME = tmb.dept
</select>
<select id="getApplyCameraList" resultType="java.util.Map">
SELECT id, camera_list AS "cameraInfo", approve_status AS "approveStatus", instance_id AS "instanceId"
FROM t_ability_application taa
WHERE 1 = 1
AND del_flag = 0
AND camera_list IS NOT NULL
AND camera_list != ''
AND approve_status IN ('通过', '审核中')
AND user_id = #{userId}
AND expire_date > #{date}
ORDER BY create_date DESC
</select>
<select id="countUserCameraApply" resultType="java.lang.Integer">
SELECT
COUNT( 1 )
FROM
( SELECT id FROM t_ability_application WHERE user_id = #{userId} AND resource_id = #{resourceId} AND IFNULL( expire_date > #{today}, 1 ) > 0 ) temp
</select>
<select id="getFundStatement" resultType="java.util.Map">
SELECT
taa.id,
tdr.NAME AS "resourceName",
( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) AS "resourceType",
sd.NAME AS "provideDept",
taa.unit AS "applyDept",
taa.create_date AS "applyDate",
taa.apply_price AS "applyPrice"
FROM
t_ability_application taa
LEFT JOIN tb_data_resource tdr ON taa.resource_id = tdr.id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN ( SELECT data_resource_id, attr_type, attr_value FROM tb_data_attr tda WHERE del_flag = 0 AND attr_type = '组件类型' ) attr ON tdr.id = attr.data_resource_id
WHERE
1 = 1
AND taa.approve_status IN ( '审核中', '通过' )
AND taa.del_flag = 0
AND tdr.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND taa.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= taa.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND sd.id = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND taa.unit LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tdr.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND ( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) = #{params.resourceType}
</if>
UNION ALL
SELECT
tmb.id,
tm.NAME AS "resourceName",
'会客厅' AS "resourceType",
'青岛市大数据发展管理局' AS "provideDept",
tmb.dept AS "applyDept",
tmb.create_date AS "applyDate",
tmb.apply_price AS "applyPrice"
FROM
t_meetingroom_book tmb
LEFT JOIN t_meetingroom tm ON tmb.room_id = tm.id
WHERE
tm.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND tmb.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= tmb.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND 1067246875800000066 = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND tmb.dept LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tm.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND '会客厅' = #{params.resourceType}
</if>
ORDER BY applyDate
LIMIT ${params.pageNum}, ${params.pageSize}
</select>
<select id="getFundStatementSum" resultType="java.lang.Long">
SELECT SUM(temp.applyPrice) FROM (
SELECT
taa.apply_price AS "applyPrice"
FROM
t_ability_application taa
LEFT JOIN tb_data_resource tdr ON taa.resource_id = tdr.id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN ( SELECT data_resource_id, attr_type, attr_value FROM tb_data_attr tda WHERE del_flag = 0 AND attr_type = '组件类型' ) attr ON tdr.id = attr.data_resource_id
WHERE
1 = 1
AND taa.approve_status IN ( '审核中', '通过' )
AND taa.del_flag = 0
AND tdr.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND taa.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= taa.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND sd.id = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND taa.unit LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tdr.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND ( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) = #{params.resourceType}
</if>
UNION ALL
SELECT
tmb.apply_price AS "applyPrice"
FROM
t_meetingroom_book tmb
LEFT JOIN t_meetingroom tm ON tmb.room_id = tm.id
WHERE
tm.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND tmb.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= tmb.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND 1067246875800000066 = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND tmb.dept LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tm.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND '会客厅' = #{params.resourceType}
</if>
) temp
</select>
<select id="exportFundStatementTable" resultType="java.util.Map">
SELECT
taa.id,
tdr.NAME AS "resourceName",
( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) AS "resourceType",
sd.NAME AS "provideDept",
taa.unit AS "applyDept",
taa.create_date AS "applyDate",
taa.apply_price AS "applyPrice"
FROM
t_ability_application taa
LEFT JOIN tb_data_resource tdr ON taa.resource_id = tdr.id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN ( SELECT data_resource_id, attr_type, attr_value FROM tb_data_attr tda WHERE del_flag = 0 AND attr_type = '组件类型' ) attr ON tdr.id = attr.data_resource_id
WHERE
1 = 1
AND taa.approve_status IN ( '审核中', '通过' )
AND taa.del_flag = 0
AND tdr.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND taa.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= taa.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND sd.id = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND taa.unit LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tdr.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND ( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) = #{params.resourceType}
</if>
UNION ALL
SELECT
tmb.id,
tm.NAME AS "resourceName",
'会客厅' AS "resourceType",
'青岛市大数据发展管理局' AS "provideDept",
tmb.dept AS "applyDept",
tmb.create_date AS "applyDate",
tmb.apply_price AS "applyPrice"
FROM
t_meetingroom_book tmb
LEFT JOIN t_meetingroom tm ON tmb.room_id = tm.id
WHERE
tm.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND tmb.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= tmb.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND 1067246875800000066 = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND tmb.dept LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tm.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND '会客厅' = #{params.resourceType}
</if>
ORDER BY applyDate
</select>
<select id="getFundStatementCount" resultType="java.lang.Long">
SELECT COUNT(1) FROM (
SELECT
taa.id
FROM
t_ability_application taa
LEFT JOIN tb_data_resource tdr ON taa.resource_id = tdr.id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN ( SELECT data_resource_id, attr_type, attr_value FROM tb_data_attr tda WHERE del_flag = 0 AND attr_type = '组件类型' ) attr ON tdr.id = attr.data_resource_id
WHERE
1 = 1
AND taa.approve_status IN ( '审核中', '通过' )
AND taa.del_flag = 0
AND tdr.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND taa.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= taa.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND sd.id = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND taa.unit LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tdr.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND ( CASE tdr.type WHEN '应用资源' THEN tdr.type WHEN '组件服务' THEN attr.attr_value ELSE tdr.type END ) = #{params.resourceType}
</if>
UNION ALL
SELECT
tmb.id
FROM
t_meetingroom_book tmb
LEFT JOIN t_meetingroom tm ON tmb.room_id = tm.id
WHERE
tm.del_flag = 0
<if test = "params.startDate != null and params.startDate != ''" >
AND tmb.create_date >= #{params.startDate}
</if>
<if test = "params.endDate != null and params.endDate != ''" >
AND #{params.endDate} >= tmb.create_date
</if>
<if test = "params.provideDept != null and params.provideDept != ''" >
AND 1067246875800000066 = #{params.provideDept}
</if>
<if test = "params.applyDept != null and params.applyDept != ''" >
AND tmb.dept LIKE CONCAT('%', #{params.applyDept} ,'%')
</if>
<if test = "params.resourceName != null and params.resourceName != ''" >
AND tm.NAME LIKE CONCAT('%', #{params.resourceName} ,'%')
</if>
<if test = "params.resourceType != null and params.resourceType != ''" >
AND '会客厅' = #{params.resourceType}
</if>
) temp
</select>
</mapper>