| <?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.ext.WOutboundExtMapper"> | 
|   | 
|   <!-- 管理页面查询 --> | 
|   <resultMap id="WOutboundExtListVO" type="doumeemes.dao.ext.vo.WOutboundExtListVO" 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_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|       <result column="DMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|       <result column="DMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|       <result column="DMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|       <result column="DMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|       <result column="DMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|       <result column="DMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|       <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> | 
|   </resultMap> | 
|   <select id="selectCountToday" parameterType="doumeemes.dao.ext.dto.QueryWOutboundExtDTO" resultType="java.lang.Integer"> | 
|     SELECT count(1) | 
|     FROM `w_outbound` `a` | 
|   | 
|     <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="createTime != null"> | 
|         AND `a`.`CREATE_TIME` = #{createTime} | 
|       </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="code != null and code != ''"> | 
|         AND `a`.`CODE` = #{code} | 
|       </if> | 
|       <if test="origin != null"> | 
|         AND `a`.`ORIGIN` = #{origin} | 
|       </if> | 
|       <if test="validDate != null"> | 
|         AND `a`.`VALID_DATE` = #{validDate} | 
|       </if> | 
|       <if test="type != null"> | 
|         AND `a`.`TYPE` = #{type} | 
|       </if> | 
|       <if test="originType != null"> | 
|         AND `a`.`ORIGIN_TYPE` = #{originType} | 
|       </if> | 
|       <if test="originCode != null and originCode != ''"> | 
|         AND `a`.`ORIGIN_CODE` = #{originCode} | 
|       </if> | 
|       <if test="originId != null"> | 
|         AND `a`.`ORIGIN_ID` = #{originId} | 
|       </if> | 
|       <if test="abstracts != null and abstracts != ''"> | 
|         AND `a`.`ABSTRACTS` = #{abstracts} | 
|       </if> | 
|       <if test="userId != null"> | 
|         AND `a`.`USER_ID` = #{userId} | 
|       </if> | 
|       <if test="warehouseId != null"> | 
|         AND `a`.`WAREHOUSE_ID` = #{warehouseId} | 
|       </if> | 
|       <if test="dealDate != null"> | 
|         AND `a`.`DEAL_DATE` = #{dealDate} | 
|       </if> | 
|       <if test="status != null"> | 
|         AND `a`.`STATUS` = #{status} | 
|       </if> | 
|       <if test="planDate != null"> | 
|         AND `a`.`PLAN_DATE` = #{planDate} | 
|       </if> | 
|       <if test="procedureId != null"> | 
|         AND `a`.`PROCEDURE_ID` = #{procedureId} | 
|       </if> | 
|       <if test="cancelUserId != null"> | 
|         AND `a`.`CANCEL_USER_ID` = #{cancelUserId} | 
|       </if> | 
|       <if test="cancelDate != null"> | 
|         AND `a`.`CANCEL_DATE` = #{cancelDate} | 
|       </if> | 
|       <if test="cancelInfo != null and cancelInfo != ''"> | 
|         AND `a`.`CANCEL_INFO` = #{cancelInfo} | 
|       </if> | 
|       and to_days(`a`.`CREATE_TIME`)=to_days(now()) | 
|     </where> | 
|   </select> | 
|   <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryWOutboundExtDTO" resultMap="WOutboundExtListVO"> | 
|     SELECT | 
|       `a`.`ID`, | 
|       `a`.`DELETED`, | 
|       `a`.`CREATE_USER`, | 
|       `a`.`CREATE_TIME`, | 
|       `a`.`UPDATE_USER`, | 
|       `a`.`UPDATE_TIME`, | 
|       `a`.`REMARK`, | 
|       `a`.`ROOT_DEPART_ID`, | 
|       `a`.`DEPART_ID`, | 
|       `a`.`CODE`, | 
|       `a`.`ORIGIN`, | 
|       `a`.`VALID_DATE`, | 
|       `a`.`TYPE`, | 
|       `a`.`ORIGIN_TYPE`, | 
|       `a`.`ORIGIN_CODE`, | 
|       `a`.`ORIGIN_ID`, | 
|       `a`.`ABSTRACTS`, | 
|       `a`.`USER_ID`, | 
|       `a`.`WAREHOUSE_ID`, | 
|       `a`.`DEAL_DATE`, | 
|       `a`.`STATUS`, | 
|       `a`.`PLAN_DATE`, | 
|       `a`.`PROCEDURE_ID`, | 
|       `a`.`CANCEL_USER_ID`, | 
|       `a`.`CANCEL_DATE`, | 
|       `a`.`CANCEL_INFO`, | 
|       `a`.`BILL_TYPE`, | 
|       `dmodel`.`ID` AS DMODEL_ID, | 
|       `dmodel`.`DELETED` AS DMODEL_DELETED, | 
|       `dmodel`.`CREATE_USER` AS DMODEL_CREATE_USER, | 
|       `dmodel`.`CREATE_TIME` AS DMODEL_CREATE_TIME, | 
|       `dmodel`.`UPDATE_USER` AS DMODEL_UPDATE_USER, | 
|       `dmodel`.`UPDATE_TIME` AS DMODEL_UPDATE_TIME, | 
|       `dmodel`.`NAME` AS DMODEL_NAME, | 
|       `dmodel`.`REMARK` AS DMODEL_REMARK, | 
|       `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 | 
|     FROM `w_outbound` `a` | 
|     LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.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="createTime != null"> | 
|         AND `a`.`CREATE_TIME` = #{createTime} | 
|       </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="code != null and code != ''"> | 
|         AND `a`.`CODE` = #{code} | 
|       </if> | 
|       <if test="origin != null"> | 
|         AND `a`.`ORIGIN` = #{origin} | 
|       </if> | 
|       <if test="validDate != null"> | 
|         AND `a`.`VALID_DATE` = #{validDate} | 
|       </if> | 
|       <if test="type != null"> | 
|         AND `a`.`TYPE` = #{type} | 
|       </if> | 
|       <if test="originType != null"> | 
|         AND `a`.`ORIGIN_TYPE` = #{originType} | 
|       </if> | 
|       <if test="originCode != null and originCode != ''"> | 
|         AND `a`.`ORIGIN_CODE` = #{originCode} | 
|       </if> | 
|       <if test="originId != null"> | 
|         AND `a`.`ORIGIN_ID` = #{originId} | 
|       </if> | 
|       <if test="abstracts != null and abstracts != ''"> | 
|         AND `a`.`ABSTRACTS` = #{abstracts} | 
|       </if> | 
|       <if test="userId != null"> | 
|         AND `a`.`USER_ID` = #{userId} | 
|       </if> | 
|       <if test="warehouseId != null"> | 
|         AND `a`.`WAREHOUSE_ID` = #{warehouseId} | 
|       </if> | 
|       <if test="dealDate != null"> | 
|         AND `a`.`DEAL_DATE` = #{dealDate} | 
|       </if> | 
|       <if test="status != null"> | 
|         AND `a`.`STATUS` = #{status} | 
|       </if> | 
|       <if test="planDate != null"> | 
|         AND `a`.`PLAN_DATE` = #{planDate} | 
|       </if> | 
|       <if test="procedureId != null"> | 
|         AND `a`.`PROCEDURE_ID` = #{procedureId} | 
|       </if> | 
|       <if test="cancelUserId != null"> | 
|         AND `a`.`CANCEL_USER_ID` = #{cancelUserId} | 
|       </if> | 
|       <if test="cancelDate != null"> | 
|         AND `a`.`CANCEL_DATE` = #{cancelDate} | 
|       </if> | 
|       <if test="cancelInfo != null and cancelInfo != ''"> | 
|         AND `a`.`CANCEL_INFO` = #{cancelInfo} | 
|       </if> | 
|       <if test="dmodelId != null"> | 
|         AND `dmodel`.`ID` = #{dmodelId} | 
|       </if> | 
|       <if test="dmodelDeleted != null"> | 
|         AND `dmodel`.`DELETED` = #{dmodelDeleted} | 
|       </if> | 
|       <if test="dmodelCreateUser != null"> | 
|         AND `dmodel`.`CREATE_USER` = #{dmodelCreateUser} | 
|       </if> | 
|       <if test="dmodelCreateTime != null"> | 
|         AND `dmodel`.`CREATE_TIME` = #{dmodelCreateTime} | 
|       </if> | 
|       <if test="dmodelUpdateUser != null"> | 
|         AND `dmodel`.`UPDATE_USER` = #{dmodelUpdateUser} | 
|       </if> | 
|       <if test="dmodelUpdateTime != null"> | 
|         AND `dmodel`.`UPDATE_TIME` = #{dmodelUpdateTime} | 
|       </if> | 
|       <if test="dmodelName != null and dmodelName != ''"> | 
|         AND `dmodel`.`NAME` = #{dmodelName} | 
|       </if> | 
|       <if test="dmodelRemark != null and dmodelRemark != ''"> | 
|         AND `dmodel`.`REMARK` = #{dmodelRemark} | 
|       </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="rootDepartId != null"> | 
|         AND `a`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|       </if> | 
|   | 
|       <if test="departId != null"> | 
|         AND `a`.`DEPART_ID` = #{departId} | 
|       </if> | 
|   | 
|       <if test="proUserId != null"> | 
|         AND `a`.`USER_ID` = #{proUserId} | 
|       </if> | 
|   | 
|       <if test="departIds != null and departIds.size()>0"> | 
|         AND exists (select d.id from company_user d where   d.user_id= a.USER_ID and d.department_id | 
|         in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) | 
|       </if> | 
|     </where> | 
|     order by a.CREATE_TIME desc | 
|   </select> | 
|   | 
|   | 
|   <select id="selectAdminList" parameterType="doumeemes.dao.ext.beanDto.QueryWOutBoundDto" resultMap="WOutboundExtListVO"> | 
|     SELECT | 
|     a.* , b.NAME as warehouseName , b.code as warehouseCode, | 
|     c.REALNAME as userName , e.NAME as userDepartName , '-' as procedureName | 
|     FROM  w_outbound a | 
|     left join warehouse b on a.WAREHOUSE_ID = b.id | 
|     left join `system_user` c on a.user_id = c.id | 
|     left join company_user cu on c.id = cu.USER_ID   and cu.ROOT_DEPART_ID = a.ROOT_DEPART_ID   and cu.DELETED = 0 | 
|     LEFT JOIN department e ON cu.DEPARTMENT_ID = e.id | 
|     AND e.DELETED = 0 | 
|     <where> | 
|       <if test="code != null and code != ''"> | 
|         AND a.CODE like CONCAT('%',#{code},'%') | 
|       </if> | 
|       <if test="originCode != null and originCode != ''"> | 
|         AND a.ORIGIN_CODE like CONCAT('%',#{originCode},'%') | 
|       </if> | 
|       <if test="planDateStart != null and planDateStart != '' "> | 
|         AND a.PLAN_DATE >= #{planDateStart} | 
|       </if> | 
|       <if test="planDateEnd != null and planDateEnd != '' "> | 
|         AND #{planDateEnd} >= a.PLAN_DATE | 
|       </if> | 
|       <if test="warehouseId != null"> | 
|         AND a.WAREHOUSE_ID = #{warehouseId} | 
|       </if> | 
|       <if test="originType != null"> | 
|         AND a.ORIGIN_TYPE = #{originType} | 
|       </if> | 
|       <if test="status != null"> | 
|         AND a.STATUS = #{status} | 
|       </if> | 
|       <if test="type != null"> | 
|         AND a.TYPE = #{type} | 
|       </if> | 
|   | 
|       <if test="rootDepartId != null"> | 
|         AND `a`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|       </if> | 
|   | 
|       <if test="departId != null"> | 
|         AND `a`.`DEPART_ID` = #{departId} | 
|       </if> | 
|   | 
|       <if test="billType != null"> | 
|         AND `a`.`BILL_TYPE` = #{billType} | 
|       </if> | 
|   | 
|       <if test="codeOrHouse != null and codeOrHouse != ''"> | 
|         AND ( a.CODE like CONCAT('%',#{codeOrHouse},'%') or a.WAREHOUSE_ID in ( select w.id from warehouse w where w.NAME like CONCAT('%',#{codeOrHouse},'%') )  ) | 
|       </if> | 
| <!--      <if test="proUserId != null">--> | 
| <!--        AND `a`.`USER_ID` = #{proUserId}--> | 
| <!--      </if>--> | 
|   | 
|     <choose> | 
|       <when test="departIds != null and departIds.size()>0"> | 
|         AND ( | 
|         a.CREATE_USER=#{createUser} or a.USER_ID =#{createUser} | 
|         or exists (select d.id from company_user d where (d.user_id= a.CREATE_USER or d.user_id=a.USER_ID ) 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} or a.USER_ID =#{createUser}) | 
|       </if> | 
|     </otherwise> | 
|     </choose> | 
|   | 
|     </where> | 
|     order by a.CREATE_TIME desc | 
|   </select> | 
|   | 
|   | 
|   <select id="selectCount" parameterType="doumeemes.dao.ext.beanDto.QueryWOutBoundDto" resultType="java.lang.Integer"> | 
|     SELECT | 
|     count(1) | 
|     FROM  w_outbound a | 
|     left join warehouse b on a.WAREHOUSE_ID = b.id | 
|     left join `system_user` c on a.user_id = c.id | 
|     left join system_department_user d on c.id = d.user_id and d.DELETED = 0 | 
|     left join department e on d.DEPARTMENT_ID = e.id and e.DELETED = 0 | 
|     <where> | 
|       <if test="code != null and code != ''"> | 
|         AND a.CODE like CONCAT('%',#{code},'%') | 
|       </if> | 
|       <if test="originCode != null and originCode != ''"> | 
|         AND a.ORIGIN_CODE like CONCAT('%',#{originCode},'%') | 
|   | 
|       </if> | 
|   | 
|       <if test="codeOrHouse != null and codeOrHouse != ''"> | 
|         AND ( a.CODE like CONCAT('%',#{codeOrHouse},'%') or a.WAREHOUSE_ID in ( select w.id from warehouse w where w.NAME like CONCAT('%',#{codeOrHouse},'%') )  ) | 
|       </if> | 
|       <if test="planDateStart != null and planDateStart != '' "> | 
|         AND a.PLAN_DATE >= #{planDateStart} | 
|       </if> | 
|       <if test="planDateEnd != null and planDateEnd != '' "> | 
|         AND #{planDateEnd} >= a.PLAN_DATE | 
|       </if> | 
|       <if test="warehouseId != null"> | 
|         AND a.WAREHOUSE_ID = #{warehouseId} | 
|       </if> | 
|       <if test="originType != null"> | 
|         AND a.ORIGIN_TYPE = #{originType} | 
|       </if> | 
|       <if test="status != null"> | 
|         AND a.STATUS = #{status} | 
|       </if> | 
|       <if test="type != null"> | 
|         AND a.TYPE = #{type} | 
|       </if> | 
|   | 
|       <if test="rootDepartId != null"> | 
|         AND `a`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|       </if> | 
|   | 
|       <if test="departId != null"> | 
|         AND `a`.`DEPART_ID` = #{departId} | 
|       </if> | 
|   | 
|       <if test="billType != null"> | 
|         AND `a`.`BILL_TYPE` = #{billType} | 
|       </if> | 
|       <!--      <if test="proUserId != null">--> | 
|       <!--        AND `a`.`USER_ID` = #{proUserId}--> | 
|       <!--      </if>--> | 
|   | 
|       <!--      <if test="departIds != null and departIds.size()>0">--> | 
|       <!--        AND exists (select d.id from company_user d where   d.user_id= a.USER_ID and d.department_id--> | 
|       <!--        in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>)--> | 
|       <!--      </if>--> | 
|   | 
|   | 
|       <choose> | 
|         <when test="departIds != null and departIds.size()>0"> | 
|           AND ( | 
|           a.CREATE_USER=#{createUser} or a.USER_ID =#{createUser} | 
|           or exists (select d.id from company_user d where (d.user_id= a.CREATE_USER or d.user_id=a.USER_ID ) 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} or a.USER_ID =#{createUser}) | 
|           </if> | 
|         </otherwise> | 
|       </choose> | 
|     </where> | 
|     order by a.CREATE_TIME desc | 
|   </select> | 
|   | 
|   | 
|   | 
|   <select id="wOutboundById"  resultType="doumeemes.dao.business.model.WOutbound"> | 
|     SELECT a.* ,b.name as warehouseName ,b.code as warehouseCode,b.SYSTEM_DIC_DATA_ID as warehouseQualityType, c.realName as userName , | 
|            e.NAME as userDepartName , f.realName as createName , g.mobile as  updateMobile , g.realName as  updateName , p.name as procedureName | 
|     from w_outbound a | 
|     left join warehouse b on b.id = a.WAREHOUSE_ID | 
|     left join `system_user` c on a.user_id = c.id | 
|     left join system_department_user d on c.id = d.user_id and d.DELETED = 0 | 
|     left join company_user cu on c.id = cu.USER_ID   and cu.ROOT_DEPART_ID = a.ROOT_DEPART_ID   and cu.DELETED = 0 | 
|     left join department e on cu.DEPARTMENT_ID = e.id | 
|     left join `system_user` f on a.CREATE_USER = f.id | 
|     left join `system_user` g on a.UPDATE_USER = g.id | 
|     left join procedures p on a.procedure_Id = p.id | 
|     where 1 = 1 and a.id = #{id} | 
|     limit 1 | 
|   </select> | 
|   | 
|   | 
|   <!-- 完工入库使用 根据入库货位筛选 13 件小时内,设备对应货位的转库单入库后产生的入库单记录 --> | 
|   <select id="finishedInBill"  resultType="doumeemes.dao.ext.bean.FinishedInBillBean"> | 
|     SELECT w.id, w.`CODE` as code , c.`NAME` as userName , d.`NAME` as departmentName , w.DEAL_DATE as dealDate ,w.CREATE_TIME | 
|     FROM w_outbound w | 
|     left join company_user c on w.USER_ID = c.USER_ID and c.ROOT_DEPART_ID = w.ROOT_DEPART_ID | 
|     left join department d on c.DEPARTMENT_ID = d.id | 
|     where w.TYPE = 1 | 
|       and c.deleted = 0 | 
|       and w.DELETED = 0 and w.`STATUS` = 1 and w.ORIGIN_TYPE = 3 | 
|     <if test="inLocationIds != null and inLocationIds != '' "> | 
|       and exists ( | 
|       select  1 from w_outbound_detail wd | 
|       where wd.OUTBOUND_ID = w.id | 
|       and wd.CREATE_TIME >= date_sub(now(), interval 13 hour) | 
|       and FIND_IN_SET( wd.LOCATION_ID  ,#{inLocationIds} ) | 
|       ) | 
|     </if> | 
|     <if test="inIds != null and inIds != '' "> | 
|       and FIND_IN_SET( w.id  ,#{inIds} ) | 
|     </if> | 
|   | 
|     order by w.CREATE_TIME desc | 
|   | 
|   | 
|   </select> | 
|   | 
|   | 
|   | 
|   | 
|   <select id="workOrderOutList"  resultType="doumeemes.dao.ext.vo.WorkOrderOutboundExtListVO" parameterType="doumeemes.dao.ext.beanDto.QueryWSOutBoundDto" > | 
|     select SUBSTR(w.VALID_DATE,1,10) as workDate , m.`CODE` as materialCode ,m.`NAME` as materialName , wd.BATCH as batch , p.`NAME` as produceName ,w.CREATE_TIME , | 
|            wd.QUALITY_TYPE as qualityType , round(sum( wd.DONE_NUM ),2) as inNum , wh.`NAME` as warehouseName , w.`CODE` as billNo  ,wd.MATERIAL_ID, u.`NAME` as unit, | 
|            w.ORIGIN_TYPE,w.ORIGIN_CODE, cu.name as createUserName , w.type , w.BILL_TYPE as billType | 
|     from w_outbound w inner join w_outbound_detail wd on w.id = wd.OUTBOUND_ID | 
|                       inner join material_distribute md on wd.MATERIAL_ID = md.ID | 
|                       left join material m on md.MATERIAL_ID = m.ID | 
|                       left join procedures p on wd.PROCEDURE_ID = p.ID | 
|                       left join warehouse wh on w.WAREHOUSE_ID = wh.ID | 
|                       LEFT JOIN unit U ON M.UNIT_ID = U.ID | 
|                       left join `system_user` c on w.CREATE_USER = c.id | 
|                       left join company_user cu on c.id = cu.USER_ID    and cu.DELETED = 0  and cu.ROOT_DEPART_ID = w.ROOT_DEPART_ID | 
|     <where> | 
|       <if test="billType != null"> | 
|         AND w.bill_type  = #{billType} | 
|       </if> | 
|       <if test="code != null and code != ''"> | 
|         AND w.CODE  like CONCAT('%',#{code},'%') | 
|       </if> | 
|       <if test="type != null"> | 
|         AND w.type  = #{type} | 
|       </if> | 
|       <if test="originType != null"> | 
|         AND w.ORIGIN_TYPE  = #{originType} | 
|       </if> | 
|       <if test="originCode != null and originCode != ''"> | 
|         AND w.ORIGIN_CODE  like CONCAT('%',#{originCode},'%') | 
|       </if> | 
|   | 
|       <if test="materialCode != null and materialCode != ''"> | 
|         AND m.code like CONCAT('%',#{materialCode},'%') | 
|       </if> | 
|   | 
|       <if test="produceName != null and produceName != ''"> | 
|         AND p.name like CONCAT('%',#{produceName},'%') | 
|       </if> | 
|   | 
|       <if test="batch != null and batch != ''"> | 
|         AND wd.batch like CONCAT('%',#{batch},'%') | 
|       </if> | 
|   | 
|       <if test="warehouseId != null "> | 
|         AND w.WAREHOUSE_ID  = #{warehouseId} | 
|       </if> | 
|       <if test="qualityType != null "> | 
|         AND wd.QUALITY_TYPE  = #{qualityType} | 
|       </if> | 
|       <if test="beginDate != null and beginDate != '' "> | 
|         AND `w`.`VALID_DATE` >= CONCAT(#{beginDate},' 00:00:00') | 
|       </if> | 
|       <if test="endDate != null and endDate != '' "> | 
|         AND CONCAT(#{endDate},' 23:59:59') >= `w`.`VALID_DATE` | 
|       </if> | 
|       <if test="rootDepartId != null"> | 
|         AND `w`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|       </if> | 
|       <if test="departId != null"> | 
|         AND `w`.`DEPART_ID` = #{departId} | 
|       </if> | 
|     </where> | 
|     group by SUBSTR(w.VALID_DATE,1,10) , m.`CODE`  ,m.`NAME`  , wd.BATCH   , p.`NAME`   , wd.QUALITY_TYPE    , wh.`NAME`  , w.`CODE` ,u.`NAME` ,w.CREATE_TIME , w.ORIGIN_TYPE,w.ORIGIN_CODE, w.type , w.BILL_TYPE | 
|     order by w.VALID_DATE desc, w.CREATE_TIME desc | 
|   </select> | 
|   | 
|   | 
|   | 
| </mapper> |