<?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.ld.igds.grain.mapper.GrainServiceMapper">
|
|
<!-- 基础查询字段 -->
|
<sql id="DATA_REPORT_COLUMN">
|
g.BATCH_ID_ AS batchId,
|
g.COMPANY_ID_ AS companyId,
|
g.DEPOT_ID_ AS depotId,
|
g.TEMP_MIN_ AS tempMin,
|
g.TEMP_MAX_ AS tempMax,
|
g.TEMP_AVE_ AS tempAve,
|
g.HUMIDITY_IN_ AS humidityIn,
|
g.TEMP_IN_ AS tempIn,
|
g.HUMIDITY_OUT_ AS humidityOut,
|
g.TEMP_OUT_ AS tempOut,
|
g.CABLE_ AS cable,
|
g.CABLE_CIR_ AS cableCir,
|
g.OIL_HEIGHT_ AS oilHeight,
|
g.WEATHER_ AS weather,
|
g.RECEIVE_DATE_ AS receiveDate,
|
g.CHECK_USER_ AS checkUser,
|
g.REMARK_ AS remark,
|
g.POINTS_ AS points,
|
|
d.STORE_KEEPER_NAME_ AS storeKeeperName,
|
d.PER_WET_ AS perWet,
|
d.PER_IMPURITY_ AS perImpurity,
|
d.DEPOT_TYPE_ AS depotType,
|
d.STORAGE_REAL_ AS storageReal,
|
d.FOOD_VARIETY_ AS foodVariety
|
</sql>
|
|
<sql id="DATA_COLUMN">
|
BATCH_ID_ AS batchId,
|
COMPANY_ID_ AS companyId,
|
DEPOT_ID_ AS
|
depotId,
|
TEMP_MIN_ AS tempMin,
|
TEMP_MAX_ AS tempMax,
|
TEMP_AVE_ AS tempAve,
|
HUMIDITY_IN_ AS humidityIn,
|
TEMP_IN_ AS tempIn,
|
HUMIDITY_OUT_ AS humidityOut,
|
TEMP_OUT_ AS tempOut,
|
CABLE_ AS cable,
|
CABLE_CIR_ AS cableCir,
|
OIL_HEIGHT_ AS oilHeight,
|
WEATHER_ AS weather,
|
RECEIVE_DATE_ AS receiveDate,
|
CHECK_USER_ AS checkUser,
|
REMARK_ AS remark,
|
POINTS_ AS points
|
</sql>
|
|
|
<!-- 根据参数分页获取 -->
|
<select id="pageDataReport" resultType="com.ld.igds.grain.dto.GrainDataReport"
|
parameterType="java.util.Map">
|
select
|
<include refid="DATA_REPORT_COLUMN"/>
|
from
|
D_GRAIN g LEFT JOIN D_DEPOT d ON g.COMPANY_ID_ = d.COMPANY_ID_ AND
|
g.DEPOT_ID_ = d.ID_
|
<where>
|
<if test="param.companyId != null">AND g.COMPANY_ID_ =
|
#{param.companyId}
|
</if>
|
<if test="param.depotId != null">AND g.DEPOT_ID_ =
|
#{param.depotId}
|
</if>
|
<if test="param.start != null">AND
|
g.RECEIVE_DATE_ <![CDATA[ >= ]]>
|
#{param.start,jdbcType=DATE}
|
</if>
|
<if test="param.end != null">AND
|
g.RECEIVE_DATE_ <![CDATA[ <= ]]>
|
#{param.end,jdbcType=DATE}
|
</if>
|
</where>
|
ORDER BY g.BATCH_ID_ DESC
|
</select>
|
|
<!-- 根据参数分页获取 -->
|
<select id="pageListGrainData" resultType="com.ld.igds.grain.dto.GrainData"
|
parameterType="com.ld.igds.grain.dto.GrainParam">
|
select
|
<include refid="DATA_COLUMN"/>
|
from
|
D_GRAIN
|
<where>
|
<if test="param.companyId != null">AND COMPANY_ID_ =
|
#{param.companyId}
|
</if>
|
<if test="param.start != null">AND
|
RECEIVE_DATE_ <![CDATA[ >= ]]>
|
#{param.start,jdbcType=DATE}
|
</if>
|
<if test="param.end != null">AND
|
RECEIVE_DATE_ <![CDATA[ <= ]]>
|
#{param.end,jdbcType=DATE}
|
</if>
|
<if test="param.depotId != null">AND DEPOT_ID_ = #{param.depotId}</if>
|
<if test="param.batchId != null">AND BATCH_ID_ = #{param.batchId}</if>
|
<if test="param.extBatchId != null">AND BATCH_ID_ != #{param.extBatchId}</if>
|
</where>
|
ORDER BY BATCH_ID_ DESC
|
</select>
|
|
<delete id="deleteListData" parameterType="java.util.List">
|
delete from D_GRAIN
|
where
|
<foreach collection="list" item="item" separator="or">
|
( BATCH_ID_ = #{item.batchId}
|
AND COMPANY_ID_=#{item.companyId}
|
AND DEPOT_ID_=#{item.depotId}
|
)
|
</foreach>
|
</delete>
|
|
<!-- 根据参数分页获取 -->
|
<select id="pageListChartData" resultType="com.ld.igds.grain.dto.GrainData"
|
parameterType="com.ld.igds.grain.dto.GrainParam">
|
select
|
<include refid="DATA_COLUMN"/>
|
from
|
D_GRAIN
|
<where>
|
<if test="param.companyId != null">AND COMPANY_ID_ =
|
#{param.companyId}
|
</if>
|
<if test="param.start != null">AND
|
RECEIVE_DATE_ <![CDATA[ >= ]]>
|
#{param.start}
|
</if>
|
<if test="param.end != null">AND
|
RECEIVE_DATE_ <![CDATA[ <= ]]>
|
#{param.end}
|
</if>
|
<if test="param.depotId != null">AND DEPOT_ID_ = #{param.depotId}</if>
|
<if test="param.batchId != null">AND BATCH_ID_ = #{param.batchId}</if>
|
<if test="param.extBatchId != null">AND BATCH_ID_ != #{param.extBatchId}</if>
|
</where>
|
ORDER BY BATCH_ID_ ASC
|
</select>
|
|
<!-- 根据条件获取粮情信息 -->
|
<select id="listGrainData" resultType="com.ld.igds.grain.dto.GrainData"
|
parameterType="com.ld.igds.grain.dto.GrainParam">
|
select
|
<include refid="DATA_COLUMN"/>
|
from
|
D_GRAIN
|
<where>
|
<if test="param.companyId != null">AND COMPANY_ID_ =
|
#{param.companyId}
|
</if>
|
<if test="param.start != null">AND
|
RECEIVE_DATE_ <![CDATA[ >= ]]>
|
#{param.start,jdbcType=DATE}
|
</if>
|
<if test="param.end != null">AND
|
RECEIVE_DATE_ <![CDATA[ <= ]]>
|
#{param.end,jdbcType=DATE}
|
</if>
|
<if test="param.depotId != null">AND DEPOT_ID_ = #{param.depotId}</if>
|
</where>
|
ORDER BY BATCH_ID_ DESC
|
</select>
|
|
|
<insert id="saveGrain" parameterType="com.ld.igds.models.Grain">
|
insert into
|
D_GRAIN(BATCH_ID_,
|
COMPANY_ID_,
|
DEPOT_ID_,
|
TEMP_MIN_,
|
TEMP_MAX_,
|
TEMP_AVE_,
|
HUMIDITY_IN_,
|
TEMP_IN_,
|
HUMIDITY_OUT_,
|
TEMP_OUT_,
|
CABLE_,
|
CABLE_CIR_,
|
OIL_HEIGHT_,
|
WEATHER_,
|
RECEIVE_DATE_,
|
CHECK_USER_,
|
REMARK_,
|
POINTS_
|
)values(
|
#{data.batchId},
|
#{data.companyId},
|
#{data.depotId},
|
#{data.tempMin},
|
#{data.tempMax},
|
#{data.tempAve},
|
#{data.humidityIn},
|
#{data.tempIn},
|
#{data.humidityOut},
|
#{data.tempOut},
|
#{data.cable},
|
#{data.cableCir},
|
#{data.oilHeight},
|
#{data.weather},
|
#{data.receiveDate},
|
#{data.checkUser},
|
#{data.remark},
|
#{data.points}
|
)
|
</insert>
|
|
<!-- 获取满足条件的个数-->
|
<select id="countGrain" resultType="java.lang.Integer" parameterType="com.ld.igds.models.Grain">
|
select count(BATCH_ID_) as count from D_GRAIN where BATCH_ID_ = #{data.batchId} and COMPANY_ID_ = #{data.companyId} and DEPOT_ID_ = #{data.depotId}
|
</select>
|
|
<!-- 修改数据-->
|
<update id="updateGrain" parameterType="com.ld.igds.models.Grain">
|
UPDATE D_GRAIN
|
<set>
|
<if test="data.tempMin != null">TEMP_MIN_ = #{data.tempMin},</if>
|
<if test="data.tempMax != null">TEMP_MAX_ = #{data.tempMax},</if>
|
<if test="data.tempAve != null">TEMP_AVE_ = #{data.tempAve},</if>
|
<if test="data.humidityIn != null">HUMIDITY_IN_ = #{data.humidityIn},</if>
|
<if test="data.tempIn != null">TEMP_IN_ = #{data.tempIn},</if>
|
<if test="data.tempOut != null">TEMP_OUT_ = #{data.tempOut},</if>
|
<if test="data.humidityOut != null">HUMIDITY_OUT_ = #{data.humidityOut},</if>
|
<if test="data.cable != null">CABLE_ = #{data.cable},</if>
|
<if test="data.weather != null">WEATHER_ = #{data.weather},</if>
|
<if test="data.receiveDate != null">RECEIVE_DATE_ = #{data.receiveDate},</if>
|
<if test="data.checkUser != null">CHECK_USER_ = #{data.checkUser},</if>
|
<if test="data.remark != null">REMARK_ = #{data.remark},</if>
|
<if test="data.points != null">POINTS_ = #{data.points},</if>
|
</set>
|
where BATCH_ID_ = #{data.batchId} and COMPANY_ID_ = #{data.companyId} and DEPOT_ID_ = #{data.depotId}
|
</update>
|
|
|
<!-- 新增采集点信息 -->
|
<insert id="addItem" parameterType="com.ld.igds.grain.dto.GrainItemInfo">
|
INSERT INTO D_GRAIN_INFO (
|
ID_,NUM_,CABLE_,TEMP_,TEMP_AVE_,RECEIVE_DATE_
|
) values (
|
#{data.id},
|
#{data.num},
|
#{data.cable},
|
#{data.temp},
|
#{data.tempAve},
|
#{data.receiveDate}
|
)
|
</insert>
|
|
<!-- 根据参数获取采集位的粮情信息-->
|
<select id="listGrainItemInfo" parameterType="com.ld.igds.grain.dto.GrainPointParam"
|
resultType="com.ld.igds.grain.dto.GrainItemInfo">
|
select
|
ID_ as id,
|
NUM_ as num,
|
TEMP_ as temp,
|
TEMP_AVE_ as tempAve,
|
RECEIVE_DATE_ AS receiveDate
|
from D_GRAIN_INFO
|
<where>
|
<if test="param.id != null">AND ID_ LIKE
|
#{param.id}
|
</if>
|
<if test="param.start != null">AND
|
RECEIVE_DATE_ <![CDATA[ >= ]]>
|
#{param.start,jdbcType=DATE}
|
</if>
|
AND NUM_ = #{param.num}
|
</where>
|
ORDER BY RECEIVE_DATE_
|
</select>
|
|
<!-- 根据仓库获取粮情信息 -->
|
<select id="getDepotAndGrain" resultType="com.ld.igds.screen.data.DepotGrainData" parameterType="java.lang.String">
|
SELECT
|
d.ID_ AS id,
|
d.NAME_ AS NAME,
|
d.COMPANY_ID_ AS companyId,
|
d.DEPT_ID_ AS deptId,
|
d.DEPOT_TYPE_ AS depotType,
|
d.DEPOT_STATUS_ AS depotStatus,
|
d.FOOD_VARIETY_ AS foodVariety,
|
d.FOOD_TYPE_ AS foodType,
|
d.FOOD_LEVEL_ AS foodLevel,
|
d.FOOD_LOCATION_ AS foodLocation,
|
d.FOOD_YEAR_ AS foodYear,
|
d.STORAGE_REAL_ AS storageReal,
|
d.STORE_KEEPER_NAME_ AS storeKeeperName,
|
g.TEMP_MAX_ AS tempMax,
|
g.TEMP_AVE_ AS tempAve,
|
g.TEMP_MIN_ AS tempMin,
|
g.HUMIDITY_IN_ AS humidityIn,
|
g.TEMP_IN_ AS tempIn,
|
g.HUMIDITY_OUT_ AS humidityOut,
|
g.TEMP_OUT_ AS tempOut,
|
g.RECEIVE_DATE_ AS receiveDate
|
FROM
|
d_depot d
|
LEFT JOIN (
|
SELECT
|
*
|
FROM
|
(
|
SELECT DISTINCT
|
*
|
FROM
|
d_grain
|
ORDER BY
|
RECEIVE_DATE_ DESC
|
) a
|
GROUP BY
|
DEPOT_ID_
|
) g ON d.ID_ = g.DEPOT_ID_
|
<where>
|
<if test="companyId != null and companyId != ''">AND d.COMPANY_ID_ = #{companyId}</if>
|
<if test="deptId != null and deptId != ''">AND d.DEPT_ID_ = #{deptId}</if>
|
</where>
|
ORDER BY d.ID_
|
</select>
|
</mapper>
|