<?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.qianwen.mdc.collect.mapper.iotdb.DeviceStateMapper">
|
<resultMap id="BaseResultMap" type="com.qianwen.mdc.collect.entity.iotdb.DeviceState">
|
<result column="workstation_id" jdbcType="BIGINT" property="workstationId"/>
|
<result column="value_collect" jdbcType="BIGINT" property="valueCollect"/>
|
<result column="calendar_code" jdbcType="VARCHAR" property="calendarCode"/>
|
<result column="factory_year" jdbcType="INTEGER" property="factoryYear"/>
|
<result column="factory_month" jdbcType="INTEGER" property="factoryMonth"/>
|
<result column="factory_week" jdbcType="INTEGER" property="factoryWeek"/>
|
<result column="factory_date" jdbcType="INTEGER" property="factoryDate"/>
|
<result column="shift_index" jdbcType="INTEGER" property="shiftIndex"/>
|
<result column="shift_time_type" jdbcType="INTEGER" property="shiftTimeType"/>
|
<result column="wcs" jdbcType="INTEGER" property="wcs"/>
|
<result column="rps" jdbcType="INTEGER" property="rps"/>
|
<result column="is_sync" jdbcType="BOOLEAN" property="isSync"/>
|
<result column="feedback_id" jdbcType="BIGINT" property="feedbackId"/>
|
<result column="is_deleted" jdbcType="BOOLEAN" property="isDeleted"/>
|
<result column="is_plan" jdbcType="BIGINT" property="isPlan"/>
|
<result column="employee_id" jdbcType="BIGINT" property="employeeId"/>
|
</resultMap>
|
<!--
|
|
<select id="getProcessingFeedbackState" resultType="org.springblade.posting.entity.tdengine.WorkstationState"
|
parameterType="java.lang.Long">
|
select * FROM iot_data.super_state WHERE workstation_id = #{workstationId} AND is_deleted != true AND is_sync = false AND feedback_point_type != 0
|
</select>
|
|
<insert id="insert" parameterType="org.springblade.posting.entity.tdengine.WorkstationState">
|
insert into iot_data.state_${workstationId} USING iot_data.super_state TAGS (${workstationId})
|
values (#{ts}, #{valueCollect}, #{calendarCode}, #{factoryYear}, #{factoryMonth}, #{factoryWeek}, #{factoryDate},
|
#{shiftIndex}, #{shiftTimeType}, #{wcs}, #{rps},#{isFixPoint},#{isSync}, #{isPlan},#{feedbackPointType},#{feedbackId},#{isDeleted}, #{employeeId})
|
</insert>
|
|
<insert id="batchInsert" >
|
insert into
|
<foreach separator=" " collection="list" item="item" index="index" >
|
iot_data.state_${item.workstationId} USING iot_data.super_state TAGS (${item.workstationId}) values
|
(#{item.ts}, #{item.valueCollect},#{item.calendarCode}, #{item.factoryYear}, #{item.factoryMonth}, #{item.factoryWeek}, #{item.factoryDate},
|
#{item.shiftIndex}, #{item.shiftTimeType}, #{item.wcs}, #{item.rps},#{item.isFixPoint}, #{item.isSync}, #{item.isPlan},#{item.feedbackPointType},#{item.feedbackId},#{item.isDeleted}, #{item.employeeId})
|
</foreach>
|
</insert>
|
|
<insert id="batchSave">
|
insert into iot_data.state_${workstationId} USING iot_data.super_state TAGS (${workstationId}) values
|
<foreach separator="," collection="list" item="item" index="index" >
|
(#{item.ts}, #{item.valueCollect},#{item.calendarCode}, #{item.factoryYear}, #{item.factoryMonth}, #{item.factoryWeek}, #{item.factoryDate},
|
#{item.shiftIndex}, #{item.shiftTimeType}, #{item.wcs}, #{item.rps}, #{item.isFixPoint},
|
#{item.isSync}, #{item.isPlan},#{item.feedbackPointType},#{item.feedbackId},#{item.isDeleted}, #{item.employeeId})
|
</foreach>
|
</insert>
|
|
|
<select id="getLastIsSyncNoFixPointState"
|
resultType="org.springblade.posting.entity.tdengine.WorkstationState">
|
select LAST_ROW(*), workstation_Id FROM iot_data.super_state WHERE workstation_id = #{workstationId} AND is_deleted != true AND is_sync = true and is_fix_point=false
|
</select>
|
|
|
|
<select id="getFirstWorkstationState" resultType="org.springblade.posting.entity.tdengine.WorkstationState"
|
parameterType="com.baomidou.mybatisplus.core.conditions.Wrapper">
|
select First(*) FROM iot_data.super_state
|
${ew.customSqlSegment}
|
</select>
|
-->
|
<sql id="all_columns">
|
workstation_id,value_collect,calendar_code,factory_year,factory_month,factory_date,factory_week,shift_index,shift_time_type,wcs,rps,is_fix_point,is_sync,is_plan,feedback_point_type,feedback_id,is_deleted,employee_id
|
</sql>
|
<!-- resultType="com.qianwen.mdc.collect.entity.iotdb.DeviceState" -->
|
<select id="lastSyncedNoFeedbackPointState" resultMap="BaseResultMap">
|
select <include refid="all_columns" /> FROM root.f2.aggregate_state_${workstationId}
|
where is_sync=true and is_fix_point=false and feedback_point_type=0 and is_deleted=false
|
order by time desc limit 1
|
</select>
|
|
<select id="firstNotSyncedNofeedbackPointState" resultMap="BaseResultMap">
|
select <include refid="all_columns" /> FROM root.f2.aggregate_state_${workstationId}
|
where is_sync=false and is_fix_point=false and feedback_point_type=0 and is_deleted=false
|
order by time asc limit 1
|
</select>
|
<!-- -->
|
<select id="statesInTimeRange" resultMap="BaseResultMap">
|
select <include refid="all_columns" /> FROM root.f2.state_${workstationId}
|
<where>
|
is_deleted=false
|
<if test="timeRange.startTime != null">
|
AND time >= #{timeRange.startTime}
|
</if>
|
AND time <= #{timeRange.endTime}
|
</where>
|
|
order by time asc
|
align by device
|
</select>
|
|
<!-- 只能用as 和resultType的形式??? resultType="com.qianwen.mdc.collect.entity.iotdb.DeviceState"
|
<select id="statesInTimeRange" resultMap="BaseResultMap">
|
select <include refid="all_columns" /> FROM root.f2.state_${workstationId}
|
<where>
|
is_deleted=false
|
<if test="timeRange.startTime != null">
|
AND time >= #{timeRange.startTime}
|
</if>
|
AND time <= #{timeRange.endTime}
|
</where>
|
|
order by time asc
|
align by device
|
</select>-->
|
<select id="fixPointCountByDate" resultType="Long">
|
select count(factory_date) FROM root.f2.state_* where factory_date=#{factoryDate} and is_fix_point=true
|
</select>
|
|
</mapper>
|