66 lines
2.3 KiB
XML
66 lines
2.3 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="com.solution.rule.mapper.RuleMapper">
|
||
|
|
|
||
|
|
|
||
|
|
<resultMap id="platformComponentCountMap" type="com.solution.rule.domain.vo.WeaponModelVO">
|
||
|
|
<result property="platformName" column="platform_name"/>
|
||
|
|
<result property="componentName" column="component_name"/>
|
||
|
|
<result property="count" column="count"/>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<resultMap id="PlatformComponentNamesVOResultMap" type="com.solution.rule.domain.vo.PlatformComponentNamesVO">
|
||
|
|
<result property="platformName" column="platformName"/>
|
||
|
|
<collection property="componentNames" ofType="java.lang.String">
|
||
|
|
<result column="componentName"/>
|
||
|
|
</collection>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<select id="getWeapon" resultMap="platformComponentCountMap">
|
||
|
|
SELECT
|
||
|
|
p.name AS platform_name,
|
||
|
|
pc.name AS component_name,
|
||
|
|
COUNT(pc.name) AS count
|
||
|
|
FROM platform p
|
||
|
|
LEFT JOIN platform_component pc ON p.id = pc.platform_id
|
||
|
|
GROUP BY p.id, p.name, pc.name
|
||
|
|
ORDER BY p.id, pc.name
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getPlatformComponentNames" resultType="com.solution.rule.domain.vo.WeaponModelVO">
|
||
|
|
SELECT DISTINCT
|
||
|
|
p.name AS platformName,
|
||
|
|
pc.name AS componentName
|
||
|
|
FROM platform p
|
||
|
|
INNER JOIN platform_component pc ON p.id = pc.platform_id
|
||
|
|
WHERE pc.name IS NOT NULL
|
||
|
|
ORDER BY p.name, pc.name
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getModuleAndCount" resultType="com.solution.rule.domain.vo.ComponentCountVO">
|
||
|
|
SELECT
|
||
|
|
name AS componentName,
|
||
|
|
COUNT(*) AS count
|
||
|
|
FROM platform_component
|
||
|
|
WHERE name IS NOT NULL
|
||
|
|
GROUP BY name
|
||
|
|
ORDER BY count DESC;
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getCommPlatformComponentNames" resultMap="PlatformComponentNamesVOResultMap"
|
||
|
|
parameterType="java.lang.Integer">
|
||
|
|
SELECT
|
||
|
|
p.name AS platformName,
|
||
|
|
pc.name AS componentName
|
||
|
|
FROM platform p
|
||
|
|
INNER JOIN platform_component pc ON p.id = pc.platform_id
|
||
|
|
WHERE pc.type = "comm"
|
||
|
|
AND p.scenario_id = #{scenarioId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
</mapper>
|