<?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.smartman.modules.mdc.mapper.SuperAggregateOutputMapper">
|
|
|
|
|
|
<select id="getOutputDataByWorkstationAndFactoryDate"
|
resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId
|
from iot_data.super_aggregate_output
|
where output <![CDATA[>=]]> 0
|
and ts <![CDATA[>=]]> #{startDate} and ts <![CDATA[<]]> #{endDate}
|
<if test="workstationId != null and workstationId !=''">
|
AND workstation_id =#{workstationId}
|
</if>
|
ORDER BY ts asc
|
</select>
|
|
<select id="getShiftOutput"
|
resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId
|
from iot_data.super_aggregate_output
|
where output <![CDATA[>=]]> 0
|
and factory_date = #{factoryDate}
|
and shift_index = #{shiftIndex}
|
<if test="workstationIds != null and workstationIds.size() > 0">
|
AND workstation_id IN
|
<foreach collection="workstationIds" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
ORDER BY ts asc
|
</select>
|
|
<select id="getOutputByDateCycle" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
SELECT ts,
|
pre_ts AS preTs,
|
output,
|
cur_output AS curOutput,
|
pre_output AS preOutput,
|
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,
|
program,
|
product_code AS productCode,
|
product_name AS productName,
|
workstation_id AS workstationId
|
FROM
|
iot_data.super_aggregate_output
|
WHERE
|
output >= 0
|
<if test="ids != null and ids.size() > 0">
|
AND workstation_id IN
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
<if test="beginTime !=null and endTime !=null">
|
and factory_date BETWEEN #{beginTime} AND #{endTime}
|
</if>
|
ORDER BY ts asc
|
</select>
|
<select id="getOutputByDateCycleAndWorkstationId"
|
resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
SELECT
|
output,
|
factory_date AS factoryDate,
|
shift_index AS shiftIndex,
|
shift_time_type AS shiftTimeType,
|
factory_month AS factoryMonth,
|
factory_week AS factoryWeek,
|
workstation_id AS workstationId
|
FROM
|
iot_data.aggregate_output_${workstationId}
|
WHERE
|
output >= 0
|
<if test="beginTime !=null and endTime !=null">
|
and factory_date BETWEEN #{beginTime} AND #{endTime}
|
</if>
|
ORDER BY ts asc
|
</select>
|
|
<select id="queryPerfByDay" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and output > 0
|
and employee_id = #{employeeId}
|
and factory_date >= #{startTime}
|
and factory_date <= #{endTime}
|
</select>
|
|
<select id="queryPerfByWeek" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and output > 0
|
and employee_id = #{employeeId}
|
and factory_week in
|
<foreach collection="weeks" item="week" open="(" separator="," close=")">
|
#{week}
|
</foreach>
|
</select>
|
|
<select id="queryPerfByMonth" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and output > 0
|
and employee_id = #{employeeId}
|
and factory_month in
|
<foreach collection="months" item="month" open="(" separator="," close=")">
|
#{month}
|
</foreach>
|
</select>
|
|
<select id="queryPerfByEtDay" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where employee_id = #{employeeId}
|
and workstation_id is not null
|
and output > 0
|
and factory_date = #{time}
|
</select>
|
|
<select id="queryPerfByEtWeek" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where employee_id = #{employeeId}
|
and workstation_id is not null
|
and output > 0
|
and factory_week = #{week}
|
</select>
|
|
<select id="queryPerfByEtMonth" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where employee_id = #{employeeId}
|
and workstation_id is not null
|
and output > 0
|
and factory_month = #{month}
|
</select>
|
|
<select id="queryPerfByWtDay" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and employee_id is not null
|
and output > 0
|
and factory_date = #{time}
|
</select>
|
|
<select id="queryPerfByWtWeek" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and employee_id is not null
|
and output > 0
|
and factory_week = #{week}
|
</select>
|
|
<select id="queryPerfByWtMonth" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select ts,
|
pre_ts as preTs,
|
output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId,
|
employee_id as employeeId
|
from iot_data.super_aggregate_output
|
where workstation_id = #{workstationId}
|
and employee_id is not null
|
and output > 0
|
and factory_month = #{month}
|
</select>
|
|
<!-- sql修改开始 -->
|
<!-- 列名中,program和已下的实际上都没有 -->
|
<sql id="aggregateOutputColumns">
|
pre_time as preTime,
|
output as output,
|
cur_output as curOutput,
|
pre_output as preOutput,
|
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,
|
program,
|
product_code as productCode,
|
product_name as productName,
|
workstation_id as workstationId
|
</sql>
|
|
<select id="getOutputDataByFactoryDate"
|
resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select <include refid="aggregateOutputColumns"/>
|
from root.f2.aggregate_output_*
|
where output <![CDATA[>=]]> 0
|
and factory_date <![CDATA[>=]]> #{startFatoryDate} and factory_date <![CDATA[<=]]> #{endFatoryDate}
|
<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="getOutputDataByNaturalDate" resultType="com.qianwen.smartman.modules.mdc.entity.SuperAggregateOutput">
|
select <include refid="aggregateOutputColumns"/>
|
from root.f2.aggregate_output_*
|
where time <![CDATA[>=]]> #{startDate} and time <![CDATA[<]]> #{endDate}
|
AND output <![CDATA[>=]]> 0
|
<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>
|
</mapper>
|