<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd"> <mapper namespace="com.mortals.xhx.module.asset.dao.ibatis.AssetDaoImpl"> <!-- 字段和属性映射 --> <resultMap type="AssetEntity" id="AssetEntity-Map"> <result property="id" column="id" /> <result property="assetNum" column="assetNum" /> <result property="deviceNum" column="deviceNum" /> <result property="materiaId" column="materiaId" /> <result property="materiaCode" column="materiaCode" /> <result property="bomId" column="bomId" /> <result property="producerId" column="producerId" /> <result property="produceDate" column="produceDate" /> <result property="produceCost" column="produceCost" /> <result property="beforeFlowStatus" column="beforeFlowStatus" /> <result property="flowStatus" column="flowStatus" /> <result property="enabled" column="enabled" /> <result property="updateTime" column="updateTime" /> <result property="updateUser" column="updateUser" /> <result property="createTime" column="createTime" /> <result property="createUser" column="createUser" /> </resultMap> <!-- 表所有列 --> <sql id="_columns"> <trim suffixOverrides="," suffix=""> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))"> a.id as id, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('assetNum') or colPickMode == 1 and data.containsKey('assetNum')))"> a.assetNum as assetNum, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceNum') or colPickMode == 1 and data.containsKey('deviceNum')))"> a.deviceNum as deviceNum, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materiaId') or colPickMode == 1 and data.containsKey('materiaId')))"> a.materiaId as materiaId, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materiaCode') or colPickMode == 1 and data.containsKey('materiaCode')))"> a.materiaCode as materiaCode, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('bomId') or colPickMode == 1 and data.containsKey('bomId')))"> a.bomId as bomId, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('producerId') or colPickMode == 1 and data.containsKey('producerId')))"> a.producerId as producerId, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('produceDate') or colPickMode == 1 and data.containsKey('produceDate')))"> a.produceDate as produceDate, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('produceCost') or colPickMode == 1 and data.containsKey('produceCost')))"> a.produceCost as produceCost, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('beforeFlowStatus') or colPickMode == 1 and data.containsKey('beforeFlowStatus')))"> a.beforeFlowStatus as beforeFlowStatus, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('flowStatus') or colPickMode == 1 and data.containsKey('flowStatus')))"> a.flowStatus as flowStatus, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('enabled') or colPickMode == 1 and data.containsKey('enabled')))"> a.enabled as enabled, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))"> a.updateTime as updateTime, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUser') or colPickMode == 1 and data.containsKey('updateUser')))"> a.updateUser as updateUser, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))"> a.createTime as createTime, </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUser') or colPickMode == 1 and data.containsKey('createUser')))"> a.createUser as createUser, </if> </trim> </sql> <!-- 新增 --> <insert id="insert" parameterType="AssetEntity" useGeneratedKeys="true" keyProperty="id"> insert into mortals_iot_asset (assetNum,deviceNum,materiaId,materiaCode,bomId, producerId,produceDate,produceCost,beforeFlowStatus,flowStatus, enabled,updateTime,updateUser,createTime,createUser )VALUES(#{assetNum},#{deviceNum},#{materiaId},#{materiaCode},#{bomId}, #{producerId},#{produceDate},#{produceCost},#{beforeFlowStatus},#{flowStatus}, #{enabled},#{updateTime},#{updateUser},#{createTime},#{createUser}) </insert> <!-- 批量新增 --> <insert id="insertBatch" parameterType="paramDto"> insert into mortals_iot_asset (assetNum,deviceNum,materiaId,materiaCode,bomId, producerId,produceDate,produceCost,beforeFlowStatus,flowStatus, enabled,updateTime,updateUser,createTime,createUser ) VALUES <foreach collection="data.dataList" item="item" index="index" separator="," > (#{item.assetNum},#{item.deviceNum},#{item.materiaId},#{item.materiaCode},#{item.bomId}, #{item.producerId},#{item.produceDate},#{item.produceCost},#{item.beforeFlowStatus},#{item.flowStatus}, #{item.enabled},#{item.updateTime},#{item.updateUser},#{item.createTime},#{item.createUser}) </foreach> </insert> <!-- 根据ParamDto更新 --> <update id="update" parameterType="paramDto"> update mortals_iot_asset as a set <trim suffixOverrides="," suffix=""> <if test="(colPickMode==0 and data.containsKey('assetNum')) or (colPickMode==1 and !data.containsKey('assetNum'))"> a.assetNum=#{data.assetNum}, </if> <if test="(colPickMode==0 and data.containsKey('deviceNum')) or (colPickMode==1 and !data.containsKey('deviceNum'))"> a.deviceNum=#{data.deviceNum}, </if> <if test="(colPickMode==0 and data.containsKey('materiaId')) or (colPickMode==1 and !data.containsKey('materiaId'))"> a.materiaId=#{data.materiaId}, </if> <if test="(colPickMode==0 and data.containsKey('materiaIdIncrement')) or (colPickMode==1 and !data.containsKey('materiaIdIncrement'))"> a.materiaId=ifnull(a.materiaId,0) + #{data.materiaIdIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('materiaCode')) or (colPickMode==1 and !data.containsKey('materiaCode'))"> a.materiaCode=#{data.materiaCode}, </if> <if test="(colPickMode==0 and data.containsKey('bomId')) or (colPickMode==1 and !data.containsKey('bomId'))"> a.bomId=#{data.bomId}, </if> <if test="(colPickMode==0 and data.containsKey('bomIdIncrement')) or (colPickMode==1 and !data.containsKey('bomIdIncrement'))"> a.bomId=ifnull(a.bomId,0) + #{data.bomIdIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('producerId')) or (colPickMode==1 and !data.containsKey('producerId'))"> a.producerId=#{data.producerId}, </if> <if test="(colPickMode==0 and data.containsKey('producerIdIncrement')) or (colPickMode==1 and !data.containsKey('producerIdIncrement'))"> a.producerId=ifnull(a.producerId,0) + #{data.producerIdIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('produceDate')) or (colPickMode==1 and !data.containsKey('produceDate'))"> a.produceDate=#{data.produceDate}, </if> <if test="(colPickMode==0 and data.containsKey('produceCost')) or (colPickMode==1 and !data.containsKey('produceCost'))"> a.produceCost=#{data.produceCost}, </if> <if test="(colPickMode==0 and data.containsKey('produceCostIncrement')) or (colPickMode==1 and !data.containsKey('produceCostIncrement'))"> a.produceCost=ifnull(a.produceCost,0) + #{data.produceCostIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('beforeFlowStatus')) or (colPickMode==1 and !data.containsKey('beforeFlowStatus'))"> a.beforeFlowStatus=#{data.beforeFlowStatus}, </if> <if test="(colPickMode==0 and data.containsKey('beforeFlowStatusIncrement')) or (colPickMode==1 and !data.containsKey('beforeFlowStatusIncrement'))"> a.beforeFlowStatus=ifnull(a.beforeFlowStatus,0) + #{data.beforeFlowStatusIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('flowStatus')) or (colPickMode==1 and !data.containsKey('flowStatus'))"> a.flowStatus=#{data.flowStatus}, </if> <if test="(colPickMode==0 and data.containsKey('flowStatusIncrement')) or (colPickMode==1 and !data.containsKey('flowStatusIncrement'))"> a.flowStatus=ifnull(a.flowStatus,0) + #{data.flowStatusIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('enabled')) or (colPickMode==1 and !data.containsKey('enabled'))"> a.enabled=#{data.enabled}, </if> <if test="(colPickMode==0 and data.containsKey('enabledIncrement')) or (colPickMode==1 and !data.containsKey('enabledIncrement'))"> a.enabled=ifnull(a.enabled,0) + #{data.enabledIncrement}, </if> <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))"> a.updateTime=#{data.updateTime}, </if> <if test="(colPickMode==0 and data.containsKey('updateUser')) or (colPickMode==1 and !data.containsKey('updateUser'))"> a.updateUser=#{data.updateUser}, </if> <if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))"> a.createTime=#{data.createTime}, </if> <if test="(colPickMode==0 and data.containsKey('createUser')) or (colPickMode==1 and !data.containsKey('createUser'))"> a.createUser=#{data.createUser}, </if> </trim> <trim suffixOverrides="where" suffix=""> where <trim prefixOverrides="and" prefix=""> <include refid="_condition_"/> </trim> </trim> </update> <!-- 批量更新 --> <update id="updateBatch" parameterType="paramDto"> update mortals_iot_asset as a <trim prefix="set" suffixOverrides=","> <trim prefix="assetNum=(case" suffix="ELSE assetNum end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('assetNum')) or (colPickMode==1 and !item.containsKey('assetNum'))"> when a.id=#{item.id} then #{item.assetNum} </if> </foreach> </trim> <trim prefix="deviceNum=(case" suffix="ELSE deviceNum end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('deviceNum')) or (colPickMode==1 and !item.containsKey('deviceNum'))"> when a.id=#{item.id} then #{item.deviceNum} </if> </foreach> </trim> <trim prefix="materiaId=(case" suffix="ELSE materiaId end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('materiaId')) or (colPickMode==1 and !item.containsKey('materiaId'))"> when a.id=#{item.id} then #{item.materiaId} </when> <when test="(colPickMode==0 and item.containsKey('materiaIdIncrement')) or (colPickMode==1 and !item.containsKey('materiaIdIncrement'))"> when a.id=#{item.id} then ifnull(a.materiaId,0) + #{item.materiaIdIncrement} </when> </choose> </foreach> </trim> <trim prefix="materiaCode=(case" suffix="ELSE materiaCode end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('materiaCode')) or (colPickMode==1 and !item.containsKey('materiaCode'))"> when a.id=#{item.id} then #{item.materiaCode} </if> </foreach> </trim> <trim prefix="bomId=(case" suffix="ELSE bomId end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('bomId')) or (colPickMode==1 and !item.containsKey('bomId'))"> when a.id=#{item.id} then #{item.bomId} </when> <when test="(colPickMode==0 and item.containsKey('bomIdIncrement')) or (colPickMode==1 and !item.containsKey('bomIdIncrement'))"> when a.id=#{item.id} then ifnull(a.bomId,0) + #{item.bomIdIncrement} </when> </choose> </foreach> </trim> <trim prefix="producerId=(case" suffix="ELSE producerId end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('producerId')) or (colPickMode==1 and !item.containsKey('producerId'))"> when a.id=#{item.id} then #{item.producerId} </when> <when test="(colPickMode==0 and item.containsKey('producerIdIncrement')) or (colPickMode==1 and !item.containsKey('producerIdIncrement'))"> when a.id=#{item.id} then ifnull(a.producerId,0) + #{item.producerIdIncrement} </when> </choose> </foreach> </trim> <trim prefix="produceDate=(case" suffix="ELSE produceDate end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('produceDate')) or (colPickMode==1 and !item.containsKey('produceDate'))"> when a.id=#{item.id} then #{item.produceDate} </if> </foreach> </trim> <trim prefix="produceCost=(case" suffix="ELSE produceCost end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('produceCost')) or (colPickMode==1 and !item.containsKey('produceCost'))"> when a.id=#{item.id} then #{item.produceCost} </when> <when test="(colPickMode==0 and item.containsKey('produceCostIncrement')) or (colPickMode==1 and !item.containsKey('produceCostIncrement'))"> when a.id=#{item.id} then ifnull(a.produceCost,0) + #{item.produceCostIncrement} </when> </choose> </foreach> </trim> <trim prefix="beforeFlowStatus=(case" suffix="ELSE beforeFlowStatus end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('beforeFlowStatus')) or (colPickMode==1 and !item.containsKey('beforeFlowStatus'))"> when a.id=#{item.id} then #{item.beforeFlowStatus} </when> <when test="(colPickMode==0 and item.containsKey('beforeFlowStatusIncrement')) or (colPickMode==1 and !item.containsKey('beforeFlowStatusIncrement'))"> when a.id=#{item.id} then ifnull(a.beforeFlowStatus,0) + #{item.beforeFlowStatusIncrement} </when> </choose> </foreach> </trim> <trim prefix="flowStatus=(case" suffix="ELSE flowStatus end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('flowStatus')) or (colPickMode==1 and !item.containsKey('flowStatus'))"> when a.id=#{item.id} then #{item.flowStatus} </when> <when test="(colPickMode==0 and item.containsKey('flowStatusIncrement')) or (colPickMode==1 and !item.containsKey('flowStatusIncrement'))"> when a.id=#{item.id} then ifnull(a.flowStatus,0) + #{item.flowStatusIncrement} </when> </choose> </foreach> </trim> <trim prefix="enabled=(case" suffix="ELSE enabled end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <choose> <when test="(colPickMode==0 and item.containsKey('enabled')) or (colPickMode==1 and !item.containsKey('enabled'))"> when a.id=#{item.id} then #{item.enabled} </when> <when test="(colPickMode==0 and item.containsKey('enabledIncrement')) or (colPickMode==1 and !item.containsKey('enabledIncrement'))"> when a.id=#{item.id} then ifnull(a.enabled,0) + #{item.enabledIncrement} </when> </choose> </foreach> </trim> <trim prefix="updateTime=(case" suffix="ELSE updateTime end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))"> when a.id=#{item.id} then #{item.updateTime} </if> </foreach> </trim> <trim prefix="updateUser=(case" suffix="ELSE updateUser end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('updateUser')) or (colPickMode==1 and !item.containsKey('updateUser'))"> when a.id=#{item.id} then #{item.updateUser} </if> </foreach> </trim> <trim prefix="createTime=(case" suffix="ELSE createTime end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))"> when a.id=#{item.id} then #{item.createTime} </if> </foreach> </trim> <trim prefix="createUser=(case" suffix="ELSE createUser end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('createUser')) or (colPickMode==1 and !item.containsKey('createUser'))"> when a.id=#{item.id} then #{item.createUser} </if> </foreach> </trim> </trim> where id in <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> #{item.id} </foreach> </update> <!-- 根据主健查询 --> <select id="getByKey" parameterType="paramDto" resultMap="AssetEntity-Map"> select <include refid="_columns"/> from mortals_iot_asset as a where a.id=#{condition.id} </select> <!-- 根据主健删除 --> <delete id="deleteByKey" parameterType="paramDto"> delete a.* from mortals_iot_asset as a where a.id=#{condition.id} </delete> <!-- 根据主健删除一批,针对单一主健有效 --> <delete id="deleteByKeys"> delete from mortals_iot_asset where id in <foreach collection="array" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </delete> <!-- 根据paramDto删除一批 --> <delete id="deleteByMap" parameterType="paramDto"> delete a.* from mortals_iot_asset as a <trim suffixOverrides="where" suffix=""> where <trim prefixOverrides="and" prefix=""> <include refid="_condition_"/> </trim> </trim> </delete> <!-- 获取列表 --> <select id="getList" parameterType="paramDto" resultMap="AssetEntity-Map"> select <include refid="_columns"/> from mortals_iot_asset as a <trim suffixOverrides="where" suffix=""> where <trim prefixOverrides="and" prefix=""> <include refid="_condition_"/> </trim> </trim> <include refid="_orderCols_"/> </select> <!-- 获取 --> <select id="getListCount" parameterType="paramDto" resultType="int"> select count(1) from mortals_iot_asset as a <trim suffixOverrides="where" suffix=""> where <trim prefixOverrides="and" prefix=""> <include refid="_condition_"/> </trim> </trim> </select> <!-- 条件映射 --> <sql id="_condition_"> <if test="condition != null and !condition.isEmpty()"> <!-- 条件映射-普通条件 --> <include refid="_condition_param_"> <property name="_conditionParam_" value="condition"/> <property name="_conditionType_" value="and"/> </include> <!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) --> <if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()"> and <foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and "> <trim prefixOverrides="or" prefix="(" suffix=")"> <include refid="_condition_param_"> <property name="_conditionParam_" value="andCondition"/> <property name="_conditionType_" value="or"/> </include> </trim> </foreach> </if> <!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) --> <if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()"> and <foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or "> <trim prefixOverrides="and" prefix="(" suffix=")"> <include refid="_condition_param_"> <property name="_conditionParam_" value="orCondition"/> <property name="_conditionType_" value="and"/> </include> </trim> </foreach> </if> </if> </sql> <!-- 条件映射-代参数 --> <sql id="_condition_param_"> <bind name="conditionParamRef" value="${_conditionParam_}"/> <if test="conditionParamRef.containsKey('id')"> <if test="conditionParamRef.id != null"> ${_conditionType_} a.id=#{${_conditionParam_}.id} </if> </if> <if test="conditionParamRef.containsKey('id')"> <if test="conditionParamRef.id != null "> ${_conditionType_} a.id = #{${_conditionParam_}.id} </if> <if test="conditionParamRef.id == null"> ${_conditionType_} a.id is null </if> </if> <if test="conditionParamRef.containsKey('idList')"> ${_conditionType_} a.id in <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null"> ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart} </if> <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null"> ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd} </if> <if test="conditionParamRef.containsKey('assetNum')"> <if test="conditionParamRef.assetNum != null and conditionParamRef.assetNum != ''"> ${_conditionType_} a.assetNum like #{${_conditionParam_}.assetNum} </if> <if test="conditionParamRef.assetNum == null"> ${_conditionType_} a.assetNum is null </if> </if> <if test="conditionParamRef.containsKey('assetNumList')"> ${_conditionType_} a.assetNum in <foreach collection="conditionParamRef.assetNumList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('deviceNum')"> <if test="conditionParamRef.deviceNum != null and conditionParamRef.deviceNum != ''"> ${_conditionType_} a.deviceNum like #{${_conditionParam_}.deviceNum} </if> <if test="conditionParamRef.deviceNum == null"> ${_conditionType_} a.deviceNum is null </if> </if> <if test="conditionParamRef.containsKey('deviceNumList')"> ${_conditionType_} a.deviceNum in <foreach collection="conditionParamRef.deviceNumList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('materiaId')"> <if test="conditionParamRef.materiaId != null "> ${_conditionType_} a.materiaId = #{${_conditionParam_}.materiaId} </if> <if test="conditionParamRef.materiaId == null"> ${_conditionType_} a.materiaId is null </if> </if> <if test="conditionParamRef.containsKey('materiaIdList')"> ${_conditionType_} a.materiaId in <foreach collection="conditionParamRef.materiaIdList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('materiaIdStart') and conditionParamRef.materiaIdStart != null"> ${_conditionType_} a.materiaId <![CDATA[ >= ]]> #{${_conditionParam_}.materiaIdStart} </if> <if test="conditionParamRef.containsKey('materiaIdEnd') and conditionParamRef.materiaIdEnd != null"> ${_conditionType_} a.materiaId <![CDATA[ <= ]]> #{${_conditionParam_}.materiaIdEnd} </if> <if test="conditionParamRef.containsKey('materiaCode')"> <if test="conditionParamRef.materiaCode != null and conditionParamRef.materiaCode != ''"> ${_conditionType_} a.materiaCode like #{${_conditionParam_}.materiaCode} </if> <if test="conditionParamRef.materiaCode == null"> ${_conditionType_} a.materiaCode is null </if> </if> <if test="conditionParamRef.containsKey('materiaCodeList')"> ${_conditionType_} a.materiaCode in <foreach collection="conditionParamRef.materiaCodeList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('bomId')"> <if test="conditionParamRef.bomId != null "> ${_conditionType_} a.bomId = #{${_conditionParam_}.bomId} </if> <if test="conditionParamRef.bomId == null"> ${_conditionType_} a.bomId is null </if> </if> <if test="conditionParamRef.containsKey('bomIdList')"> ${_conditionType_} a.bomId in <foreach collection="conditionParamRef.bomIdList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('bomIdStart') and conditionParamRef.bomIdStart != null"> ${_conditionType_} a.bomId <![CDATA[ >= ]]> #{${_conditionParam_}.bomIdStart} </if> <if test="conditionParamRef.containsKey('bomIdEnd') and conditionParamRef.bomIdEnd != null"> ${_conditionType_} a.bomId <![CDATA[ <= ]]> #{${_conditionParam_}.bomIdEnd} </if> <if test="conditionParamRef.containsKey('producerId')"> <if test="conditionParamRef.producerId != null "> ${_conditionType_} a.producerId = #{${_conditionParam_}.producerId} </if> <if test="conditionParamRef.producerId == null"> ${_conditionType_} a.producerId is null </if> </if> <if test="conditionParamRef.containsKey('producerIdList')"> ${_conditionType_} a.producerId in <foreach collection="conditionParamRef.producerIdList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('producerIdStart') and conditionParamRef.producerIdStart != null"> ${_conditionType_} a.producerId <![CDATA[ >= ]]> #{${_conditionParam_}.producerIdStart} </if> <if test="conditionParamRef.containsKey('producerIdEnd') and conditionParamRef.producerIdEnd != null"> ${_conditionType_} a.producerId <![CDATA[ <= ]]> #{${_conditionParam_}.producerIdEnd} </if> <if test="conditionParamRef.containsKey('produceDate')"> <if test="conditionParamRef.produceDate != null "> ${_conditionType_} a.produceDate = #{${_conditionParam_}.produceDate} </if> <if test="conditionParamRef.produceDate == null"> ${_conditionType_} a.produceDate is null </if> </if> <if test="conditionParamRef.containsKey('produceDateStart') and conditionParamRef.produceDateStart != null and conditionParamRef.produceDateStart!=''"> ${_conditionType_} a.produceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.produceDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('produceDateEnd') and conditionParamRef.produceDateEnd != null and conditionParamRef.produceDateEnd!=''"> ${_conditionType_} a.produceDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.produceDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('produceCost')"> <if test="conditionParamRef.produceCost != null "> ${_conditionType_} a.produceCost = #{${_conditionParam_}.produceCost} </if> <if test="conditionParamRef.produceCost == null"> ${_conditionType_} a.produceCost is null </if> </if> <if test="conditionParamRef.containsKey('produceCostList')"> ${_conditionType_} a.produceCost in <foreach collection="conditionParamRef.produceCostList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('produceCostStart') and conditionParamRef.produceCostStart != null"> ${_conditionType_} a.produceCost <![CDATA[ >= ]]> #{${_conditionParam_}.produceCostStart} </if> <if test="conditionParamRef.containsKey('produceCostEnd') and conditionParamRef.produceCostEnd != null"> ${_conditionType_} a.produceCost <![CDATA[ <= ]]> #{${_conditionParam_}.produceCostEnd} </if> <if test="conditionParamRef.containsKey('beforeFlowStatus')"> <if test="conditionParamRef.beforeFlowStatus != null "> ${_conditionType_} a.beforeFlowStatus = #{${_conditionParam_}.beforeFlowStatus} </if> <if test="conditionParamRef.beforeFlowStatus == null"> ${_conditionType_} a.beforeFlowStatus is null </if> </if> <if test="conditionParamRef.containsKey('beforeFlowStatusList')"> ${_conditionType_} a.beforeFlowStatus in <foreach collection="conditionParamRef.beforeFlowStatusList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('beforeFlowStatusStart') and conditionParamRef.beforeFlowStatusStart != null"> ${_conditionType_} a.beforeFlowStatus <![CDATA[ >= ]]> #{${_conditionParam_}.beforeFlowStatusStart} </if> <if test="conditionParamRef.containsKey('beforeFlowStatusEnd') and conditionParamRef.beforeFlowStatusEnd != null"> ${_conditionType_} a.beforeFlowStatus <![CDATA[ <= ]]> #{${_conditionParam_}.beforeFlowStatusEnd} </if> <if test="conditionParamRef.containsKey('flowStatus')"> <if test="conditionParamRef.flowStatus != null "> ${_conditionType_} a.flowStatus = #{${_conditionParam_}.flowStatus} </if> <if test="conditionParamRef.flowStatus == null"> ${_conditionType_} a.flowStatus is null </if> </if> <if test="conditionParamRef.containsKey('flowStatusList')"> ${_conditionType_} a.flowStatus in <foreach collection="conditionParamRef.flowStatusList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('flowStatusStart') and conditionParamRef.flowStatusStart != null"> ${_conditionType_} a.flowStatus <![CDATA[ >= ]]> #{${_conditionParam_}.flowStatusStart} </if> <if test="conditionParamRef.containsKey('flowStatusEnd') and conditionParamRef.flowStatusEnd != null"> ${_conditionType_} a.flowStatus <![CDATA[ <= ]]> #{${_conditionParam_}.flowStatusEnd} </if> <if test="conditionParamRef.containsKey('enabled')"> <if test="conditionParamRef.enabled != null "> ${_conditionType_} a.enabled = #{${_conditionParam_}.enabled} </if> <if test="conditionParamRef.enabled == null"> ${_conditionType_} a.enabled is null </if> </if> <if test="conditionParamRef.containsKey('enabledList')"> ${_conditionType_} a.enabled in <foreach collection="conditionParamRef.enabledList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('enabledStart') and conditionParamRef.enabledStart != null"> ${_conditionType_} a.enabled <![CDATA[ >= ]]> #{${_conditionParam_}.enabledStart} </if> <if test="conditionParamRef.containsKey('enabledEnd') and conditionParamRef.enabledEnd != null"> ${_conditionType_} a.enabled <![CDATA[ <= ]]> #{${_conditionParam_}.enabledEnd} </if> <if test="conditionParamRef.containsKey('updateTime')"> <if test="conditionParamRef.updateTime != null "> ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime} </if> <if test="conditionParamRef.updateTime == null"> ${_conditionType_} a.updateTime is null </if> </if> <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''"> ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''"> ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('updateUser')"> <if test="conditionParamRef.updateUser != null and conditionParamRef.updateUser != ''"> ${_conditionType_} a.updateUser like #{${_conditionParam_}.updateUser} </if> <if test="conditionParamRef.updateUser == null"> ${_conditionType_} a.updateUser is null </if> </if> <if test="conditionParamRef.containsKey('updateUserList')"> ${_conditionType_} a.updateUser in <foreach collection="conditionParamRef.updateUserList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> <if test="conditionParamRef.containsKey('createTime')"> <if test="conditionParamRef.createTime != null "> ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime} </if> <if test="conditionParamRef.createTime == null"> ${_conditionType_} a.createTime is null </if> </if> <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''"> ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''"> ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="conditionParamRef.containsKey('createUser')"> <if test="conditionParamRef.createUser != null and conditionParamRef.createUser != ''"> ${_conditionType_} a.createUser like #{${_conditionParam_}.createUser} </if> <if test="conditionParamRef.createUser == null"> ${_conditionType_} a.createUser is null </if> </if> <if test="conditionParamRef.containsKey('createUserList')"> ${_conditionType_} a.createUser in <foreach collection="conditionParamRef.createUserList" open="(" close=")" index="index" item="item" separator=","> #{item} </foreach> </if> </sql> <sql id="_orderCols_"> <if test="orderColList != null and !orderColList.isEmpty()"> order by <trim suffixOverrides="," suffix=""> <foreach collection="orderColList" open="" close="" index="index" item="item" separator=","> ${item.colName} ${item.sortKind} </foreach> </trim> </if> <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()"> order by <trim suffixOverrides="," suffix=""> <if test="orderCol.containsKey('id')"> a.id <if test="orderCol.id!= null"> ${orderCol.id} </if> , </if> <if test="orderCol.containsKey('assetNum')"> a.assetNum <if test="orderCol.assetNum!= null"> ${orderCol.assetNum} </if> , </if> <if test="orderCol.containsKey('deviceNum')"> a.deviceNum <if test="orderCol.deviceNum!= null"> ${orderCol.deviceNum} </if> , </if> <if test="orderCol.containsKey('materiaId')"> a.materiaId <if test="orderCol.materiaId!= null"> ${orderCol.materiaId} </if> , </if> <if test="orderCol.containsKey('materiaCode')"> a.materiaCode <if test="orderCol.materiaCode!= null"> ${orderCol.materiaCode} </if> , </if> <if test="orderCol.containsKey('bomId')"> a.bomId <if test="orderCol.bomId!= null"> ${orderCol.bomId} </if> , </if> <if test="orderCol.containsKey('producerId')"> a.producerId <if test="orderCol.producerId!= null"> ${orderCol.producerId} </if> , </if> <if test="orderCol.containsKey('produceDate')"> a.produceDate <if test="orderCol.produceDate!= null"> ${orderCol.produceDate} </if> , </if> <if test="orderCol.containsKey('produceCost')"> a.produceCost <if test="orderCol.produceCost!= null"> ${orderCol.produceCost} </if> , </if> <if test="orderCol.containsKey('beforeFlowStatus')"> a.beforeFlowStatus <if test="orderCol.beforeFlowStatus!= null"> ${orderCol.beforeFlowStatus} </if> , </if> <if test="orderCol.containsKey('flowStatus')"> a.flowStatus <if test="orderCol.flowStatus!= null"> ${orderCol.flowStatus} </if> , </if> <if test="orderCol.containsKey('enabled')"> a.enabled <if test="orderCol.enabled!= null"> ${orderCol.enabled} </if> , </if> <if test="orderCol.containsKey('updateTime')"> a.updateTime <if test="orderCol.updateTime!= null"> ${orderCol.updateTime} </if> , </if> <if test="orderCol.containsKey('updateUser')"> a.updateUser <if test="orderCol.updateUser!= null"> ${orderCol.updateUser} </if> , </if> <if test="orderCol.containsKey('createTime')"> a.createTime <if test="orderCol.createTime!= null"> ${orderCol.createTime} </if> , </if> <if test="orderCol.containsKey('createUser')"> a.createUser <if test="orderCol.createUser!= null"> ${orderCol.createUser} </if> , </if> </trim> </if> </sql> <sql id="_group_by_"> <if test="groupList != null and !groupList.isEmpty()"> GROUP BY <trim suffixOverrides="," suffix=""> <foreach collection="groupList" open="" close="" index="index" item="item" separator=","> ${item} </foreach> </trim> </if> </sql> </mapper>