| | |
| | | insert into iot_data.aggregate_state_${workstationId} |
| | | values ${sql} |
| | | </insert> |
| | | |
| | | <insert id="saveState"> |
| | | insert into iot_data.aggregate_state_${workstationId} USING iot_data.super_aggregate_state |
| | | TAGS(${workstationId}) values |
| | | <foreach separator="," collection="list" item="item" index="index"> |
| | | (#{item.startTime}, #{item.endTime}, #{item.durationCollect}, #{item.valueCollect}, #{item.calendarCode}, |
| | | #{item.factoryYear}, #{item.factoryMonth}, #{item.factoryWeek}, #{item.factoryDate}, |
| | | #{item.shiftIndex}, #{item.shiftTimeType}, #{item.wcs}, #{item.rps}, #{item.isDeleted},#{item.isPlan}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | <update id="createTable"> |
| | | create table if not exists iot_data.aggregate_state_${workstationId} using super_aggregate_state tags |
| | | ( |
| | | #{workstationId} |
| | | ) |
| | | </update> |
| | | |
| | | |
| | | <select id="countStatsShiftEndTimeNotNull" resultType="com.qianwen.smartman.modules.mdc.dto.CountResult"> |
| | | select sum(duration_collect) as nums, value_collect status |
| | | from iot_data.super_aggregate_state |
| | |
| | | |
| | | </select> |
| | | |
| | | <select id="dateState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | from iot_data.super_aggregate_state |
| | | where is_deleted = 0 |
| | | and wcs > 0 |
| | | and factory_date = #{factoryDate} |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="weekState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | from iot_data.super_aggregate_state |
| | | where factory_year = #{year} |
| | | and factory_week = #{week} |
| | | and is_deleted = 0 |
| | | and wcs > 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="yearState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | from iot_data.super_aggregate_state |
| | | where factory_year = #{year} |
| | | and factory_month = #{month} |
| | | and is_deleted = 0 |
| | | and wcs > 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="shiftState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | from iot_data.super_aggregate_state |
| | | where factory_date = #{factoryDate} |
| | | and wcs > 0 |
| | | and shift_index = #{shiftIndex} |
| | | and calendar_code = #{calendarCode} |
| | | and is_deleted = 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="deviceStatusStatisticsList" |
| | | resultType="com.qianwen.smartman.modules.mdc.vo.DeviceStatusStatisticsVO"> |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getStatusData" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="superAggregateStateColumnSql"/> |
| | | from iot_data.super_aggregate_state |
| | | where is_deleted = 0 |
| | | and wcs > 0 |
| | | and ts <![CDATA[>=]]> #{startDate} and ts <![CDATA[<]]> #{endDate} |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <sql id="superAggregateStateColumnSql"> |
| | | ts as startTime, |
| | |
| | | is_plan as isPlan |
| | | </sql> |
| | | |
| | | <select id="getStatusDataByTimeSection" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="superAggregateStateColumnSql"/> |
| | | from iot_data.super_aggregate_state |
| | | where is_deleted = 0 |
| | | and wcs > 0 |
| | | and ts <![CDATA[<]]> #{startDate} and #{startDate} <![CDATA[<=]]> end_time |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | union all |
| | | select |
| | | <include refid="superAggregateStateColumnSql"/> |
| | | from iot_data.super_aggregate_state |
| | | where is_deleted = 0 |
| | | and wcs > 0 |
| | | and ts <![CDATA[>=]]> #{startDate} and ts <![CDATA[<=]]> #{endDate} |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="getStatusDataByFactoryDate" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | from iot_data.super_aggregate_state |
| | | where factory_date <![CDATA[>=]]> #{startDate} and factory_date <![CDATA[<=]]> #{endDate} |
| | | and rps > 0 |
| | | and wcs > 0 |
| | | and is_deleted = false |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="getEquipmentStatusDuration" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="superAggregateStateColumnSql"/> |
| | | from iot_data.super_aggregate_state |
| | | where ts <![CDATA[<]]> #{startDate} and #{startDate} <![CDATA[<=]]> end_time |
| | | and is_deleted = 0 |
| | | and rps > 0 |
| | | and wcs > 0 |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | and wcs =#{status} |
| | | </if> |
| | | union all |
| | | select |
| | | <include refid="superAggregateStateColumnSql"/> |
| | | from iot_data.super_aggregate_state |
| | | where ts <![CDATA[>=]]> #{startDate} and ts <![CDATA[<=]]> #{endDate} |
| | | and is_deleted = 0 |
| | | and rps > 0 |
| | | and wcs > 0 |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | and wcs =#{status} |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="getEquipmentStatusRecord" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | |
| | | #{week} |
| | | </foreach> |
| | | </select> |
| | | |
| | | <!-- |
| | | <select id="getDataByMonth" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | |
| | | #{month} |
| | | </foreach> |
| | | </select> |
| | | |
| | | --> |
| | | |
| | | <select id="getDataByMonth" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | end_time as endTime, |
| | | duration_collect, |
| | | value_collect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId |
| | | from root.f2.aggregate_state_* |
| | | where is_deleted=false |
| | | and wcs > 0 |
| | | and factory_year = #{year} |
| | | and workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | and factory_month IN |
| | | <foreach collection="monthList" item="month" open="(" separator="," close=")"> |
| | | #{month} |
| | | </foreach> |
| | | align by device |
| | | </select> |
| | | |
| | | <!-- 这个有用吗 --> |
| | | <select id="listCrossDay" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select ts as startTime, |
| | | end_time as endTime, |
| | |
| | | and is_deleted = 0 |
| | | </select> |
| | | |
| | | |
| | | <!-- 调整的sql开始 --> |
| | | <sql id="aggregateStateColumnSql"> |
| | | end_time as endTime, |
| | | duration_collect as durationCollect, |
| | | value_collect as valueCollect, |
| | | calendar_code as calendarCode, |
| | | factory_year as factoryYear, |
| | | factory_month as factoryMonth, |
| | | factory_week as factoryWeek, |
| | | factory_date as factoryDate, |
| | | shift_index as shiftIndex, |
| | | shift_time_type as shiftTimeType, |
| | | wcs, |
| | | rps, |
| | | is_deleted as isDeleted, |
| | | workstation_id as workstationId, |
| | | is_plan as isPlan |
| | | </sql> |
| | | |
| | | |
| | | <!-- 原来是union2个sql,现在合并未一个 --> |
| | | <!-- |
| | | OK: where ((time <![CDATA[<]]> #{startDate} and end_time <![CDATA[>=]]> #{startDate.time}) or (time <![CDATA[>=]]> #{startDate} and time <![CDATA[<=]]> #{endDate.time})) |
| | | where ((time <![CDATA[<]]> #{startDate} and #{startDate.time} <![CDATA[<=]]> end_time) or (time <![CDATA[>=]]> #{startDate} and time <![CDATA[<=]]> #{endDate.time})) --> |
| | | <select id="getEquipmentStatusDuration" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where ((time <![CDATA[<]]> #{startDate} and end_time <![CDATA[>=]]> #{startDate}) or (time <![CDATA[>=]]> #{startDate} and time <![CDATA[<=]]> #{endDate})) |
| | | and is_deleted=false |
| | | and rps > 0 |
| | | and wcs > 0 |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | and wcs =#{status} |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="getStatusDataByTimeSection" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where is_deleted = false |
| | | and wcs > 0 |
| | | and ((time <![CDATA[<]]> #{startDate} and end_time <![CDATA[>=]]> #{startDate}) or (time <![CDATA[>=]]> #{startDate} and time <![CDATA[<=]]> #{endDate})) |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="getStatusData" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select |
| | | <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where is_deleted = false |
| | | and wcs > 0 |
| | | and time <![CDATA[>=]]> #{startDate} and time <![CDATA[<]]> #{endDate} |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="getStatusDataByFactoryDate" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where factory_date <![CDATA[>=]]> #{startFactoryDate} and factory_date <![CDATA[<=]]> #{endFactoryDate} |
| | | and rps > 0 |
| | | and wcs > 0 |
| | | and is_deleted = false |
| | | <if test="workstationIds != null and workstationIds.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="workstationIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <!-- 查询按班次的状态数据,在用时分析中使用 and calendar_code = #{calendarCode,jdbcType=VARCHAR} --> |
| | | <select id="shiftState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where factory_date = #{factoryDate} |
| | | and wcs > 0 |
| | | and shift_index = #{shiftIndex} |
| | | and calendar_code = "#{calendarCode}" |
| | | and is_deleted = false |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="weekState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where factory_year = #{year} |
| | | and factory_week = #{week} |
| | | and is_deleted = false |
| | | and wcs > 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="yearState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where factory_year = #{year} |
| | | and factory_month = #{month} |
| | | and is_deleted = false |
| | | and wcs > 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | |
| | | <select id="dateState" |
| | | resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateState"> |
| | | select <include refid="aggregateStateColumnSql"/> |
| | | from root.f2.aggregate_state_* |
| | | where is_deleted = false |
| | | and wcs > 0 |
| | | and factory_date = #{factoryDate} |
| | | <if test="ids != null and ids.size() > 0"> |
| | | AND workstation_id IN |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | align by device |
| | | </select> |
| | | </mapper> |
| | | |