a.id as "id" ,
a.tenant_id as "tenantId" ,
a.parent_scene_id as "parentSceneId" ,
a.parent_scene_ids as "parentSceneIds" ,
a.scene_name as "sceneName" ,
a.company_org_id as "companyOrgId" ,
a.dept_org_id as "deptOrgId" ,
a.scene_type_id as "sceneTypeId" ,
a.enable_state as "enableState" ,
a.run_time as "runTime" ,
a.address as "address" ,
a.point_x as "pointX" ,
a.point_y as "pointY" ,
a.remark as "remark" ,
a.status as "status" ,
a.date_create as "dateCreate" ,
a.create_by as "createBy" ,
a.date_update as "dateUpdate" ,
a.update_by as "updateBy",
s.scene_type_name as "sceneTypeName"
left join sms_scene_type s on s.id =a.scene_type_id and s.status=1
SELECT
FROM sms_scene a
WHERE a.id = #{id} and a.status=1
SELECT
FROM sms_scene a
a.status=1
and a.DEPT_ORG_ID = #{scene.deptOrgId} and a.COMPANY_ORG_ID = #{scene.companyOrgId}
and a.DEPT_ORG_ID is null and a.COMPANY_ORG_ID = #{scene.companyOrgId}
and a.tenant_id = #{scene.tenantId}
and a.parent_scene_id = #{scene.parentSceneId}
and a.scene_name LIKE concat('%',#{scene.sceneName},'%')
and a.scene_type_id = #{scene.sceneTypeId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
order by a.date_create
select a.id
FROM sms_scene a
WHERE a.scene_type_id in
#{dramaId}
select a.id
FROM sms_scene a
WHERE a.status=1 and a.parent_scene_id in
#{dramaId}
SELECT
FROM sms_scene a
a.status=1
and a.COMPANY_ORG_ID=#{scene.companyOrgId}
and a.tenant_id = #{scene.tenantId}
and a.parent_scene_ids LIKE #{scene.parentSceneIds}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
SELECT
FROM sms_scene a
a.status=1 and a.parent_scene_id=0
and a.COMPANY_ORG_ID = #{scene.companyOrgId}
and a.DEPT_ORG_ID = #{scene.deptOrgId}
and a.tenant_id = #{scene.tenantId}
and a.parent_scene_id = #{scene.parentSceneId}
and a.scene_name LIKE concat('%',#{scene.sceneName},'%')
and a.scene_type_id = #{scene.sceneTypeId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
order by a.date_create desc
SELECT
FROM sms_scene a
a.parent_scene_id=0 and a.status=1 and a.enable_state=1
and (s.scene_type_name='水源' or s.scene_type_name='水厂')
and s.scene_type_name=#{scene.sceneTypeName}
and a.COMPANY_ORG_ID=#{scene.companyOrgId}
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
order by a.date_create
SELECT
FROM sms_scene a
a.status=1
and a.parent_scene_ids LIKE #{scene.parentSceneIds}
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
order by a.date_create
select t1.scene_name as "sceneName",t2.id as "parentSceneId",t2.scene_name as "parentSceneName"
from sms_scene t1
left join sms_scene t2 on substring_index(substring_index(t1.parent_scene_ids, ',', 2), ',', -1)=t2.id
where t1.id=#{id}
select a.sceneTypeName,amount,newAmount from
(
select count(a.ID) amount,b.SCENE_TYPE_NAME sceneTypeName
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
a.PARENT_SCENE_ID=0
and a.STATUS=1
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and SCENE_TYPE_NAME in('水源','水厂','泵站')
group by b.SCENE_TYPE_NAME
) a left join
(
select count(a.ID) newAmount,b.SCENE_TYPE_NAME sceneTypeName
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
a.PARENT_SCENE_ID=0
and a.STATUS=1
and a.run_time>=date_sub(date_format(curdate(), '%y-%m-1' ), interval #{months}-1 month)
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and SCENE_TYPE_NAME in('水源','水厂','泵站')
group by b.SCENE_TYPE_NAME
) b
on a.sceneTypeName = b.sceneTypeName
union all
select '户表' , ifnull(sum(user_meter_count),0) amount,sum(user_meter_add_count) newAmount
from sms_month_revenue a
and a.collect_date>=date_sub(date_format(curdate(), '%y-%m-1' ), interval #{months}-1 month)
and a.tenant_id = #{scene.tenantId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
select amount, id, scene_id, name, sort from(
select count(1) amount, a.id,a.id scene_id, a.SCENE_NAME name,2 sort
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
a.PARENT_SCENE_ID=0 and a.STATUS=1
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and c.alarm_start_time >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.alarm_start_time < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
and SCENE_TYPE_NAME in('水源','水厂','泵站')
group by a.scene_name, a.id, sort
union all
select count(*) amount, id, GROUP_CONCAT(DISTINCT scene_id SEPARATOR ',') scene_id, name,1 sort from
(
select d.id,c.PARENT_SCENE_ID scene_id, d.device_name name
from sms_alarm_details c
INNER JOIN sms_device d on c.DEVICE_ID=d.ID
INNER JOIN sms_scene a on c.PARENT_SCENE_ID=a.ID
INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
a.PARENT_SCENE_ID=0 and a.STATUS=1
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and c.alarm_start_time >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.alarm_start_time < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
and SCENE_TYPE_NAME='管网'
) t1
group by name, id, scene_id, sort ) t
order by amount desc
select count(1) 数量, DATE_FORMAT(c.DATE_CREATE,'%Y-%m-%d') 日期
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.ID = #{scene.id}
from sms_scene a inner join sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.PARENT_SCENE_ID=0 and a.STATUS=1
and c.device_id = #{scene.id}
and b.SCENE_TYPE_NAME='管网'
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and c.alarm_start_time >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.alarm_start_time < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
group by DATE_FORMAT(c.DATE_CREATE,'%Y-%m-%d')
select count(1) 数量, DATE_FORMAT(c.DATE_CREATE,'%Y-%m') 日期
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.ID = #{scene.id}
from sms_scene a inner join sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.PARENT_SCENE_ID=0 and a.STATUS=1
and c.device_id = #{scene.id}
and b.SCENE_TYPE_NAME='管网'
and a.tenant_id = #{scene.tenantId}
and ( a.DEPT_ORG_ID in
#{item.orgId}
or
a.COMPANY_ORG_ID in
#{item.orgId}
)
and a.DEPT_ORG_ID in
#{item.orgId}
and a.COMPANY_ORG_ID in
#{item.orgId}
and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
and c.date_create >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.date_create < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
group by DATE_FORMAT(c.DATE_CREATE,'%Y-%m')
select amount 数量, label 标签 from
(
select count(1) amount, concat(label,op) label from
(
select if(d.REMARK is null,e.NAME,d.REMARK) label,CASE WHEN ALARM_CONDITION='>' OR ALARM_CONDITION='>=' then '高'
WHEN ALARM_CONDITION='<' OR ALARM_CONDITION='<=' then '低'
ELSE '' END op
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
INNER JOIN sms_device_attribute e on e.ID = c.ATTRIBUTE_ID and e.STATUS=1
LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.DEVICE_ID=c.DEVICE_ID and d.TENANT_ID=c.TENANT_ID and d.PARENT_SCENE_ID=c.PARENT_SCENE_ID and d.STATUS=1
INNER JOIN sms_alarm_setting f on f.device_id = c.device_id and f.SCENE_ID=c.SCENE_ID and f.ATTRIBUTE_ID=c.ATTRIBUTE_ID and f.STATUS=1
where a.ID = #{scene.id}
from sms_alarm_details c
INNER JOIN sms_device_attribute e on e.ID = c.ATTRIBUTE_ID and e.STATUS=1
LEFT JOIN sms_device_parm d on d.ATTRIBUTE_ID = c.ATTRIBUTE_ID and d.DEVICE_ID=c.DEVICE_ID and d.TENANT_ID=c.TENANT_ID and d.PARENT_SCENE_ID=c.PARENT_SCENE_ID and d.STATUS=1
INNER JOIN sms_alarm_setting f on f.device_id = c.device_id and f.SCENE_ID=c.SCENE_ID and f.ATTRIBUTE_ID=c.ATTRIBUTE_ID and f.STATUS=1
where c.device_id = #{scene.id}
and c.date_create >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.date_create < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
) t1
group by concat(label,op)
union all
select count(1) amount, label from
(
select '离线' label
from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.ID = #{scene.id} and alarm_type='状态报警'
from sms_alarm_details c
where c.device_id = #{scene.id} and alarm_type='状态报警'
and c.alarm_start_time >= date_format(#{startDate,jdbcType=VARCHAR},'%Y-%m-%d')
and c.alarm_start_time < date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
) t1
group by label
) t2
order by amount desc
select DISTINCT c.device_id from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
where a.ID = #{id}