| <?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="doumeemes.dao.business.ApplianceChangeMapper"> | 
|   | 
|     <resultMap id="ApplianceChangeListVo" type="doumeemes.dao.ext.vo.ApplianceChangeExtListVO" autoMapping="true"> | 
|         <id column="ID" jdbcType="INTEGER" property="id"/> | 
|         <association property="dmodel" javaType="doumeemes.dao.business.model.Department"> | 
|             <id column="DMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="DMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="DMODEL_ROOT_ID" jdbcType="INTEGER" property="rootId"/> | 
|             <result column="DMODEL_PARENT_ID" jdbcType="INTEGER" property="parentId"/> | 
|             <result column="DMODEL_COMPANY_ID" jdbcType="INTEGER" property="companyId"/> | 
|             <result column="DMODEL_TYPE" jdbcType="TINYINT" property="type"/> | 
|             <result column="DMODEL_ERP_ID" jdbcType="VARCHAR" property="erpId"/> | 
|             <result column="DMODEL_STATUS" jdbcType="INTEGER" property="status"/> | 
|             <result column="DMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="DMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|         </association> | 
|   | 
|         <association property="mmodel" javaType="doumeemes.dao.business.model.Material"> | 
|             <id column="MMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="MMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="MMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="MMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="MMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="MMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="MMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="MMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="MMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="MMODEL_CODE" jdbcType="VARCHAR" property="code"/> | 
|             <result column="MMODEL_ATTR" jdbcType="VARCHAR" property="attr"/> | 
|             <result column="MMODEL_UNION_NAME" jdbcType="VARCHAR" property="unionName"/> | 
|             <result column="MMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> | 
|             <result column="MMODEL_CATE_UNION_ID" jdbcType="INTEGER" property="cateUnionId"/> | 
|             <result column="MMODEL_FORMATION" jdbcType="TINYINT" property="formation"/> | 
|             <result column="MMODEL_QRCODE_ID" jdbcType="VARCHAR" property="qrcodeId"/> | 
|             <result column="MMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|             <result column="MMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="MMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|             <result column="MMODEL_CHECK_WAY" jdbcType="TINYINT" property="checkWay"/> | 
|             <result column="MMODEL_QUALITY_REQUIRE" jdbcType="VARCHAR" property="qualityRequire"/> | 
|             <result column="MMODEL_CHECK_NOTE" jdbcType="VARCHAR" property="checkNote"/> | 
|         </association> | 
|         <association property="mdmodel" javaType="doumeemes.dao.business.model.MaterialDistribute"> | 
|             <id column="MDMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="MDMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="MDMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="MDMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="MDMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="MDMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="MDMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="MDMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="MDMODEL_ATTR" jdbcType="VARCHAR" property="attr"/> | 
|             <result column="MDMODEL_UNION_NAME" jdbcType="VARCHAR" property="unionName"/> | 
|             <result column="MDMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> | 
|             <result column="MDMODEL_CATE_UNION_ID" jdbcType="INTEGER" property="cateUnionId"/> | 
|             <result column="MDMODEL_FORMATION" jdbcType="INTEGER" property="formation"/> | 
|             <result column="MDMODEL_STATUS" jdbcType="INTEGER" property="status"/> | 
|             <result column="MDMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="MDMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|         </association> | 
|         <association property="whmodel" javaType="doumeemes.dao.business.model.Warehouse"> | 
|             <id column="WHMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="WHMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="WHMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="WHMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="WHMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="WHMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="WHMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="WHMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="WHMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> | 
|             <result column="WHMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> | 
|             <result column="WHMODEL_QRCODE" jdbcType="INTEGER" property="qrcode"/> | 
|             <result column="WHMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="WHMODEL_USE_LOCATION" jdbcType="TINYINT" property="useLocation"/> | 
|             <result column="WHMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|             <result column="WHMODEL_ADDR" jdbcType="VARCHAR" property="addr"/> | 
|         </association> | 
|         <association property="lmodel" javaType="doumeemes.dao.business.model.WarehouseLocation"> | 
|             <id column="LMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="LMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="LMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="LMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="LMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="LMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="LMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="LMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="LMODEL_WAREHOUSE_ID" jdbcType="INTEGER" property="warehouseId"/> | 
|             <result column="LMODEL_UNION_NAME" jdbcType="VARCHAR" property="unionName"/> | 
|             <result column="LMODEL_AREA" jdbcType="VARCHAR" property="area"/> | 
|             <result column="LMODEL_SHELF" jdbcType="VARCHAR" property="shelf"/> | 
|             <result column="LMODEL_CELL" jdbcType="VARCHAR" property="cell"/> | 
|             <result column="LMODEL_QRCODE" jdbcType="INTEGER" property="qrcode"/> | 
|             <result column="LMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|         </association> | 
|         <association property="pmodel" javaType="doumeemes.dao.business.model.Procedures"> | 
|             <id column="PMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="PMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="PMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="PMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="PMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="PMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="PMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="PMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="PMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> | 
|             <result column="PMODEL_CODE" jdbcType="VARCHAR" property="code"/> | 
|             <result column="PMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="PMODEL_SORTNUM" jdbcType="INTEGER" property="sortnum"/> | 
|             <result column="PMODEL_ORG_ID" jdbcType="INTEGER" property="orgId"/> | 
|             <result column="PMODEL_USER_ID" jdbcType="INTEGER" property="userId"/> | 
|             <result column="PMODEL_PICKING_WAREHOUSE_ID" jdbcType="INTEGER" property="pickingWarehouseId"/> | 
|             <result column="PMODEL_PRODUCE_WAREHOUSE_ID" jdbcType="INTEGER" property="produceWarehouseId"/> | 
|             <result column="PMODEL_LEVEL" jdbcType="TINYINT" property="level"/> | 
|         </association> | 
|   | 
|   | 
|         <association property="ppmodel" javaType="doumeemes.dao.business.model.Procedures"> | 
|             <id column="PPMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|   | 
|             <result column="PPMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="PPMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> | 
|             <result column="PPMODEL_CODE" jdbcType="VARCHAR" property="code"/> | 
|             <result column="PPMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="PPMODEL_SORTNUM" jdbcType="INTEGER" property="sortnum"/> | 
|             <result column="PPMODEL_ORG_ID" jdbcType="INTEGER" property="orgId"/> | 
|             <result column="PPMODEL_USER_ID" jdbcType="INTEGER" property="userId"/> | 
|             <result column="PPMODEL_PICKING_WAREHOUSE_ID" jdbcType="INTEGER" property="pickingWarehouseId"/> | 
|             <result column="PPMODEL_PRODUCE_WAREHOUSE_ID" jdbcType="INTEGER" property="produceWarehouseId"/> | 
|             <result column="PPMODEL_LEVEL" jdbcType="TINYINT" property="level"/> | 
|         </association> | 
|   | 
|         <association property="umodel" javaType="doumeemes.dao.business.model.Unit"> | 
|             <id column="UMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="UMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="UMODEL_TYPE" jdbcType="TINYINT" property="type"/> | 
|             <result column="UMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|         </association> | 
|     </resultMap> | 
|     <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryApplianceChangeExtDTO" | 
|             resultMap="ApplianceChangeListVo"> | 
|         SELECT | 
|         `a`.*, | 
|         `mdmodel`.`UNIT_ID` AS MDMODEL_UNIT_ID, | 
|         `mdmodel`.`ID` AS MDMODEL_ID, | 
|         mmodel.code as MMODEL_CODE, | 
|         mmodel.name as MMODEL_NAME, | 
|         `dmodel`.`ID` AS DMODEL_ID, | 
|         `dmodel`.`NAME` AS DMODEL_NAME, | 
|         `dmodel`.`ROOT_ID` AS DMODEL_ROOT_ID, | 
|         `dmodel`.`PARENT_ID` AS DMODEL_PARENT_ID, | 
|         `dmodel`.`COMPANY_ID` AS DMODEL_COMPANY_ID, | 
|         `dmodel`.`TYPE` AS DMODEL_TYPE, | 
|         `dmodel`.`ERP_ID` AS DMODEL_ERP_ID, | 
|         `dmodel`.`STATUS` AS DMODEL_STATUS, | 
|         `dmodel`.`VALID_TIME` AS DMODEL_VALID_TIME, | 
|         `dmodel`.`INVALID_TIME` AS DMODEL_INVALID_TIME, | 
|         `smodel`.code as SMODEL_CODE, | 
|   | 
|         `whmodel`.`ID` AS WHMODEL_ID, | 
|         `whmodel`.`DELETED` AS WHMODEL_DELETED, | 
|         `whmodel`.`CREATE_USER` AS WHMODEL_CREATE_USER, | 
|         `whmodel`.`CREATE_TIME` AS WHMODEL_CREATE_TIME, | 
|         `whmodel`.`UPDATE_USER` AS WHMODEL_UPDATE_USER, | 
|         `whmodel`.`UPDATE_TIME` AS WHMODEL_UPDATE_TIME, | 
|         `whmodel`.`REMARK` AS WHMODEL_REMARK, | 
|         `whmodel`.`ROOT_DEPART_ID` AS WHMODEL_ROOT_DEPART_ID, | 
|         `whmodel`.`DEPART_ID` AS WHMODEL_DEPART_ID, | 
|         `whmodel`.`PROCEDURE_ID` AS WHMODEL_PROCEDURE_ID, | 
|         `whmodel`.`QRCODE` AS WHMODEL_QRCODE, | 
|         `whmodel`.`NAME` AS WHMODEL_NAME, | 
|         `whmodel`.`USE_LOCATION` AS WHMODEL_USE_LOCATION, | 
|         `whmodel`.`STATUS` AS WHMODEL_STATUS, | 
|         `whmodel`.`ADDR` AS WHMODEL_ADDR, | 
|         `lmodel`.`ID` AS LMODEL_ID, | 
|         `lmodel`.`DELETED` AS LMODEL_DELETED, | 
|         `lmodel`.`CREATE_USER` AS LMODEL_CREATE_USER, | 
|         `lmodel`.`CREATE_TIME` AS LMODEL_CREATE_TIME, | 
|         `lmodel`.`UPDATE_USER` AS LMODEL_UPDATE_USER, | 
|         `lmodel`.`UPDATE_TIME` AS LMODEL_UPDATE_TIME, | 
|         `lmodel`.`REMARK` AS LMODEL_REMARK, | 
|         `lmodel`.`ROOT_DEPART_ID` AS LMODEL_ROOT_DEPART_ID, | 
|         `lmodel`.`WAREHOUSE_ID` AS LMODEL_WAREHOUSE_ID, | 
|         `lmodel`.`UNION_NAME` AS LMODEL_UNION_NAME, | 
|         `lmodel`.`AREA` AS LMODEL_AREA, | 
|         `lmodel`.`SHELF` AS LMODEL_SHELF, | 
|         `lmodel`.`CELL` AS LMODEL_CELL, | 
|         `lmodel`.`QRCODE` AS LMODEL_QRCODE, | 
|         `lmodel`.`STATUS` AS LMODEL_STATUS, | 
|         `pmodel`.`ID` AS PMODEL_ID, | 
|         `pmodel`.`ROOT_DEPART_ID` AS PMODEL_ROOT_DEPART_ID, | 
|         `pmodel`.`DEPART_ID` AS PMODEL_DEPART_ID, | 
|         `pmodel`.`CODE` AS PMODEL_CODE, | 
|         `pmodel`.`NAME` AS PMODEL_NAME, | 
|         `pmodel`.`SORTNUM` AS PMODEL_SORTNUM, | 
|         `pmodel`.`ORG_ID` AS PMODEL_ORG_ID, | 
|         `pmodel`.`USER_ID` AS PMODEL_USER_ID, | 
|         `pmodel`.`PICKING_WAREHOUSE_ID` AS PMODEL_PICKING_WAREHOUSE_ID, | 
|         `pmodel`.`PRODUCE_WAREHOUSE_ID` AS PMODEL_PRODUCE_WAREHOUSE_ID, | 
|         `pmodel`.`LEVEL` AS PMODEL_LEVEL, | 
|   | 
|         `ppmodel`.`ID` AS PPMODEL_ID, | 
|         `ppmodel`.`ROOT_DEPART_ID` AS PPMODEL_ROOT_DEPART_ID, | 
|         `ppmodel`.`DEPART_ID` AS PPMODEL_DEPART_ID, | 
|         `ppmodel`.`CODE` AS PPMODEL_CODE, | 
|         `ppmodel`.`NAME` AS PPMODEL_NAME, | 
|         `ppmodel`.`SORTNUM` AS PPMODEL_SORTNUM, | 
|         `ppmodel`.`ORG_ID` AS PPMODEL_ORG_ID, | 
|         `ppmodel`.`USER_ID` AS PPMODEL_USER_ID, | 
|         `ppmodel`.`PICKING_WAREHOUSE_ID` AS PPMODEL_PICKING_WAREHOUSE_ID, | 
|         `ppmodel`.`PRODUCE_WAREHOUSE_ID` AS PPMODEL_PRODUCE_WAREHOUSE_ID, | 
|         `ppmodel`.`LEVEL` AS PPMODEL_LEVEL, | 
|         lpmodel.REALNAME as createName, | 
|   | 
|         `umodel`.`ID` AS UMODEL_ID, | 
|         `umodel`.`NAME` AS UMODEL_NAME, | 
|         `umodel`.`TYPE` AS UMODEL_TYPE, | 
|         `umodel`.`STATUS` AS UMODEL_STATUS, | 
|         (select SUM(num) from appliance_change_detial b where b.DELETED=0 and   b.CHANE_ID=a.id) as changesum, | 
|         (select st.batch from w_stock st where st.`LOCATION_ID`=a.`LOCATION_ID` and st.deleted=0 and st. `MATERIAL_ID` =a. `MATERIAL_ID` limit 1) as proBatch | 
|   | 
|         FROM `appliance_change` `a` | 
|         LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.ID | 
|         LEFT JOIN `system_dict_data` `smodel` ON a.TYPE=smodel.ID | 
|         LEFT JOIN `warehouse` `whmodel` ON a.WAREHOUSE_ID=whmodel.ID | 
|         LEFT JOIN `warehouse_location` `lmodel` ON a.LOCATION_ID=lmodel.ID | 
|         LEFT JOIN `procedures` `pmodel` ON a.PROCEDURE_ID=pmodel.ID | 
|         LEFT JOIN `salesorder` `somodel` ON a.SALEORDER_ID=somodel.ID | 
|         LEFT JOIN `procedures` `ppmodel` ON a.BACK_PROCEDURE_ID=ppmodel.ID | 
|         LEFT JOIN `material_distribute` `mdmodel` ON a.MATERIAL_ID=mdmodel.ID | 
|         LEFT JOIN `material` `mmodel` ON mdmodel.MATERIAL_ID=mmodel.ID | 
|         LEFT JOIN `system_user` `lpmodel` ON a.CREATE_USER=lpmodel.ID | 
|         LEFT JOIN `unit` `umodel` ON mmodel.UNIT_ID=umodel.ID | 
|         <where> | 
|             <if test="id != null"> | 
|                 AND `a`.`ID` = #{id} | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 AND `a`.`DELETED` = #{deleted} | 
|             </if> | 
|           <!--  <if test="createUser != null"> | 
|                 AND `a`.`CREATE_USER` = #{createUser} | 
|             </if> | 
| --> | 
|             <if test="startDate  != null and startDate!= ''"> | 
|                 <![CDATA[ | 
|           and  `a`.`CREATE_TIME`  >= str_to_date( #{startDate},'%Y-%m-%d %H:%i:%s') | 
|           ]]> | 
|             </if> | 
|             <if test="endDate  != null and endDate!= ''"> | 
|                 <![CDATA[ | 
|            AND  `a`.`CREATE_TIME` < str_to_date( #{endDate},'%Y-%m-%d %H:%i:%s') | 
|           ]]> | 
|             </if> | 
|             <if test="updateUser != null"> | 
|                 AND `a`.`UPDATE_USER` = #{updateUser} | 
|             </if> | 
|             <if test="updateTime != null"> | 
|                 AND `a`.`UPDATE_TIME` = #{updateTime} | 
|             </if> | 
|             <if test="remark != null and remark != ''"> | 
|                 AND `a`.`REMARK` = #{remark} | 
|             </if> | 
|             <if test="rootDepartId != null"> | 
|                 AND `a`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|             </if> | 
|             <if test="departId != null"> | 
|                 AND `a`.`DEPART_ID` = #{departId} | 
|             </if> | 
|   | 
|             <if test="type != null"> | 
|                 AND `a`.`TYPE` = #{type} | 
|             </if> | 
|   | 
|             <if test="materialId != null and materialId != ''"> | 
|                 AND `a`.`MATERIAL_ID` = #{materialId} | 
|             </if> | 
|   | 
|             <if test="code != null and code != ''"> | 
|                 AND `a`.`CODE` = #{code} | 
|             </if> | 
|   | 
|             <if test="warehouseId != null"> | 
|                 AND `a`.`WAREHOUSE_ID` = #{warehouseId} | 
|             </if> | 
|             <if test="locationId != null"> | 
|                 AND `a`.`LOCATION_ID` = #{locationId} | 
|             </if> | 
|             <if test="procedureId != null"> | 
|                 AND `a`.`PROCEDURE_ID` = #{procedureId} | 
|             </if> | 
|             <if test="backProcedureId != null"> | 
|                 AND `a`.`BACK_PROCEDURE_ID` = #{backProcedureId} | 
|             </if> | 
|             <if test="saleorderId != null"> | 
|                 AND `a`.`SALEORDER_ID` = #{saleorderId} | 
|             </if> | 
|   | 
|   | 
|             <if test="batch != null"> | 
|                 AND a.BATCH = #{batch} | 
|             </if> | 
|   | 
|             <if test="materialId != null"> | 
|                 AND a.MATERIAL_ID = #{materialId} | 
|             </if> | 
|   | 
|             <if test="dmodelId != null"> | 
|                 AND `dmodel`.`ID` = #{dmodelId} | 
|             </if> | 
|   | 
|             <if test="dmodelName != null and dmodelName != ''"> | 
|                 AND `dmodel`.`NAME` = #{dmodelName} | 
|             </if> | 
|   | 
|             <if test="dmodelRootId != null"> | 
|                 AND `dmodel`.`ROOT_ID` = #{dmodelRootId} | 
|             </if> | 
|             <if test="dmodelParentId != null"> | 
|                 AND `dmodel`.`PARENT_ID` = #{dmodelParentId} | 
|             </if> | 
|             <if test="dmodelCompanyId != null"> | 
|                 AND `dmodel`.`COMPANY_ID` = #{dmodelCompanyId} | 
|             </if> | 
|             <if test="dmodelType != null"> | 
|                 AND `dmodel`.`TYPE` = #{dmodelType} | 
|             </if> | 
|             <if test="dmodelErpId != null and dmodelErpId != ''"> | 
|                 AND `dmodel`.`ERP_ID` = #{dmodelErpId} | 
|             </if> | 
|             <if test="dmodelStatus != null"> | 
|                 AND `dmodel`.`STATUS` = #{dmodelStatus} | 
|             </if> | 
|             <if test="dmodelValidTime != null"> | 
|                 AND `dmodel`.`VALID_TIME` = #{dmodelValidTime} | 
|             </if> | 
|             <if test="dmodelInvalidTime != null"> | 
|                 AND `dmodel`.`INVALID_TIME` = #{dmodelInvalidTime} | 
|             </if> | 
|   | 
|             <if test="whmodelId != null"> | 
|                 AND `whmodel`.`ID` = #{whmodelId} | 
|             </if> | 
|   | 
|             <if test="whmodelRootDepartId != null"> | 
|                 AND `whmodel`.`ROOT_DEPART_ID` = #{whmodelRootDepartId} | 
|             </if> | 
|             <if test="whmodelDepartId != null"> | 
|                 AND `whmodel`.`DEPART_ID` = #{whmodelDepartId} | 
|             </if> | 
|             <if test="whmodelProcedureId != null"> | 
|                 AND `whmodel`.`PROCEDURE_ID` = #{whmodelProcedureId} | 
|             </if> | 
|             <if test="whmodelQrcode != null"> | 
|                 AND `whmodel`.`QRCODE` = #{whmodelQrcode} | 
|             </if> | 
|             <if test="whmodelName != null and whmodelName != ''"> | 
|                 AND `whmodel`.`NAME` = #{whmodelName} | 
|             </if> | 
|             <if test="whmodelUseLocation != null"> | 
|                 AND `whmodel`.`USE_LOCATION` = #{whmodelUseLocation} | 
|             </if> | 
|             <if test="whmodelStatus != null"> | 
|                 AND `whmodel`.`STATUS` = #{whmodelStatus} | 
|             </if> | 
|             <if test="whmodelAddr != null and whmodelAddr != ''"> | 
|                 AND `whmodel`.`ADDR` = #{whmodelAddr} | 
|             </if> | 
|             <if test="lmodelId != null"> | 
|                 AND `lmodel`.`ID` = #{lmodelId} | 
|             </if> | 
|   | 
|             <if test="lmodelRootDepartId != null"> | 
|                 AND `lmodel`.`ROOT_DEPART_ID` = #{lmodelRootDepartId} | 
|             </if> | 
|             <if test="lmodelWarehouseId != null"> | 
|                 AND `lmodel`.`WAREHOUSE_ID` = #{lmodelWarehouseId} | 
|             </if> | 
|             <if test="lmodelUnionName != null and lmodelUnionName != ''"> | 
|                 AND `lmodel`.`UNION_NAME` = #{lmodelUnionName} | 
|             </if> | 
|             <if test="lmodelArea != null and lmodelArea != ''"> | 
|                 AND `lmodel`.`AREA` = #{lmodelArea} | 
|             </if> | 
|             <if test="lmodelShelf != null and lmodelShelf != ''"> | 
|                 AND `lmodel`.`SHELF` = #{lmodelShelf} | 
|             </if> | 
|             <if test="lmodelCell != null and lmodelCell != ''"> | 
|                 AND `lmodel`.`CELL` = #{lmodelCell} | 
|             </if> | 
|             <if test="lmodelQrcode != null"> | 
|                 AND `lmodel`.`QRCODE` = #{lmodelQrcode} | 
|             </if> | 
|             <if test="lmodelStatus != null"> | 
|                 AND `lmodel`.`STATUS` = #{lmodelStatus} | 
|             </if> | 
|             <if test="pmodelId != null"> | 
|                 AND `pmodel`.`ID` = #{pmodelId} | 
|             </if> | 
|   | 
|             <if test="pmodelRootDepartId != null"> | 
|                 AND `pmodel`.`ROOT_DEPART_ID` = #{pmodelRootDepartId} | 
|             </if> | 
|             <if test="pmodelDepartId != null"> | 
|                 AND `pmodel`.`DEPART_ID` = #{pmodelDepartId} | 
|             </if> | 
|             <if test="pmodelCode != null and pmodelCode != ''"> | 
|                 AND `pmodel`.`CODE` = #{pmodelCode} | 
|             </if> | 
|             <if test="pmodelName != null and pmodelName != ''"> | 
|                 AND `pmodel`.`NAME` = #{pmodelName} | 
|             </if> | 
|             <if test="pmodelSortnum != null"> | 
|                 AND `pmodel`.`SORTNUM` = #{pmodelSortnum} | 
|             </if> | 
|             <if test="pmodelOrgId != null"> | 
|                 AND `pmodel`.`ORG_ID` = #{pmodelOrgId} | 
|             </if> | 
|             <if test="pmodelUserId != null"> | 
|                 AND `pmodel`.`USER_ID` = #{pmodelUserId} | 
|             </if> | 
|             <if test="pmodelPickingWarehouseId != null"> | 
|                 AND `pmodel`.`PICKING_WAREHOUSE_ID` = #{pmodelPickingWarehouseId} | 
|             </if> | 
|             <if test="pmodelProduceWarehouseId != null"> | 
|                 AND `pmodel`.`PRODUCE_WAREHOUSE_ID` = #{pmodelProduceWarehouseId} | 
|             </if> | 
|             <if test="pmodelLevel != null"> | 
|                 AND `pmodel`.`LEVEL` = #{pmodelLevel} | 
|             </if> | 
|   | 
|             <if test="smodelLabel != null and smodelLabel!=''"> | 
|                 AND `smodel`.label = #{smodelLabel} | 
|             </if> | 
|   | 
|             <if test="mmodelName != null and mmodelName!=''"> | 
|                 AND  (mmodel.name like concat('%',#{mmodelName},'%') or mmodel.code like concat('%',#{mmodelName},'%') ) | 
|   | 
|             </if> | 
|   | 
|             <choose> | 
|                 <when test="departIds != null and departIds.size()>0"> | 
|                     AND (`a`.`CREATE_USER` = #{createUser} | 
|                     or exists (select d.id from company_user d where d.user_id= a.CREATE_USER and d.department_id | 
|                     in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) | 
|                     ) | 
|                 </when> | 
|         <otherwise> | 
|             <if test="createUser!=null"> | 
|                 and `a`.`CREATE_USER` = #{createUser} | 
|             </if> | 
|         </otherwise> | 
|             </choose> | 
|   | 
|         </where> | 
|          order by `a`.`CREATE_TIME` desc | 
|     </select> | 
|   | 
| </mapper> |