<?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> 
 |