<?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.WorkorderRecordExtMapper"> 
 | 
  
 | 
  <!-- 管理页面查询 --> 
 | 
  <resultMap id="WorkorderRecordExtListVO" type="doumeemes.dao.ext.vo.WorkorderRecordExtListVO" 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> 
 | 
    <association property="pmodel" javaType="doumeemes.dao.business.model.Plans"> 
 | 
      <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_ORIGIN" jdbcType="TINYINT" property="origin"/> 
 | 
      <result column="PMODEL_PLAN_DATE" jdbcType="TIMESTAMP" property="planDate"/> 
 | 
      <result column="PMODEL_MATERIAL_ID" jdbcType="INTEGER" property="materialId"/> 
 | 
      <result column="PMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> 
 | 
      <result column="PMODEL_FACTORY_ID" jdbcType="INTEGER" property="factoryId"/> 
 | 
      <result column="PMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> 
 | 
      <result column="PMODEL_NUM" jdbcType="INTEGER" property="num"/> 
 | 
      <result column="PMODEL_BATCH" jdbcType="VARCHAR" property="batch"/> 
 | 
      <result column="PMODEL_URGENT" jdbcType="TINYINT" property="urgent"/> 
 | 
      <result column="PMODEL_IMPORT_ID" jdbcType="INTEGER" property="importId"/> 
 | 
      <result column="PMODEL_USER_ID" jdbcType="INTEGER" property="userId"/> 
 | 
      <result column="PMODEL_STATUS" jdbcType="TINYINT" property="status"/> 
 | 
      <result column="PMODEL_PUBLISH_DATE" jdbcType="TIMESTAMP" property="publishDate"/> 
 | 
    </association> 
 | 
    <association property="omodel" javaType="doumeemes.dao.business.model.Workorder"> 
 | 
      <id column="OMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="OMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="OMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="OMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="OMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="OMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="OMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="OMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <result column="OMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> 
 | 
      <result column="OMODEL_PLAN_ID" jdbcType="INTEGER" property="planId"/> 
 | 
      <result column="OMODEL_FACTORY_ID" jdbcType="INTEGER" property="factoryId"/> 
 | 
      <result column="OMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> 
 | 
      <result column="OMODEL_CODE" jdbcType="VARCHAR" property="code"/> 
 | 
      <result column="OMODEL_ORIGIN_WORKORDER_ID" jdbcType="INTEGER" property="originWorkorderId"/> 
 | 
      <result column="OMODEL_TYPE_ID" jdbcType="INTEGER" property="typeId"/> 
 | 
      <result column="OMODEL_ORIGIN_ID" jdbcType="INTEGER" property="originId"/> 
 | 
      <result column="OMODEL_PLAN_DATE" jdbcType="TIMESTAMP" property="planDate"/> 
 | 
      <result column="OMODEL_PLAN_NUM" jdbcType="INTEGER" property="planNum"/> 
 | 
      <result column="OMODEL_MATERIAL_ID" jdbcType="INTEGER" property="materialId"/> 
 | 
      <result column="OMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> 
 | 
      <result column="OMODEL_BATCH" jdbcType="VARCHAR" property="batch"/> 
 | 
      <result column="OMODEL_PRO_USER_ID" jdbcType="INTEGER" property="proUserId"/> 
 | 
      <result column="OMODEL_PRO_GROUP_ID" jdbcType="INTEGER" property="proGroupId"/> 
 | 
      <result column="OMODEL_QUALIFIED_NUM" jdbcType="INTEGER" property="qualifiedNum"/> 
 | 
      <result column="OMODEL_UNQUALIFIED_NUM" jdbcType="INTEGER" property="unqualifiedNum"/> 
 | 
      <result column="OMODEL_CHECK_USER_ID" jdbcType="INTEGER" property="checkUserId"/> 
 | 
      <result column="OMODEL_STATUS" jdbcType="TINYINT" property="status"/> 
 | 
      <result column="OMODEL_LAST_DEAL_DATE" jdbcType="TIMESTAMP" property="lastDealDate"/> 
 | 
      <result column="OMODEL_LAST_DEAL_INFO" jdbcType="VARCHAR" property="lastDealInfo"/> 
 | 
      <result column="OMODEL_URGENT" jdbcType="TINYINT" property="urgent"/> 
 | 
    </association> 
 | 
    <association property="fmodel" javaType="doumeemes.dao.business.model.Department"> 
 | 
      <id column="FMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="FMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="FMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="FMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="FMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="FMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="FMODEL_NAME" jdbcType="VARCHAR" property="name"/> 
 | 
      <result column="FMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="FMODEL_ROOT_ID" jdbcType="INTEGER" property="rootId"/> 
 | 
      <result column="FMODEL_PARENT_ID" jdbcType="INTEGER" property="parentId"/> 
 | 
      <result column="FMODEL_COMPANY_ID" jdbcType="INTEGER" property="companyId"/> 
 | 
      <result column="FMODEL_TYPE" jdbcType="TINYINT" property="type"/> 
 | 
      <result column="FMODEL_ERP_ID" jdbcType="VARCHAR" property="erpId"/> 
 | 
      <result column="FMODEL_STATUS" jdbcType="INTEGER" property="status"/> 
 | 
      <result column="FMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> 
 | 
      <result column="FMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> 
 | 
    </association> 
 | 
    <association property="promodel" javaType="doumeemes.dao.business.model.Procedures"> 
 | 
      <id column="PROMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="PROMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="PROMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="PROMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="PROMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="PROMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="PROMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="PROMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <result column="PROMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> 
 | 
      <result column="PROMODEL_CODE" jdbcType="VARCHAR" property="code"/> 
 | 
      <result column="PROMODEL_NAME" jdbcType="VARCHAR" property="name"/> 
 | 
      <result column="PROMODEL_SORTNUM" jdbcType="INTEGER" property="sortnum"/> 
 | 
      <result column="PROMODEL_ORG_ID" jdbcType="INTEGER" property="orgId"/> 
 | 
      <result column="PROMODEL_USER_ID" jdbcType="INTEGER" property="userId"/> 
 | 
      <result column="PROMODEL_PICKING_WAREHOUSE_ID" jdbcType="INTEGER" property="pickingWarehouseId"/> 
 | 
      <result column="PROMODEL_PRODUCE_WAREHOUSE_ID" jdbcType="INTEGER" property="produceWarehouseId"/> 
 | 
      <result column="PROMODEL_LEVEL" jdbcType="TINYINT" property="level"/> 
 | 
    </association> 
 | 
    <association property="amodel" javaType="doumeemes.dao.business.model.Appliances"> 
 | 
      <id column="AMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="AMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="AMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="AMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="AMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="AMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="AMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="AMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <result column="AMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> 
 | 
      <result column="AMODEL_SERIAL_NUM" jdbcType="VARCHAR" property="serialNum"/> 
 | 
      <result column="AMODEL_BRCODE" jdbcType="INTEGER" property="brcode"/> 
 | 
      <result column="AMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> 
 | 
      <result column="AMODEL_TYPE" jdbcType="TINYINT" property="type"/> 
 | 
      <result column="AMODEL_STATUS" jdbcType="TINYINT" property="status"/> 
 | 
      <result column="AMODEL_WORKORDER_ID" jdbcType="INTEGER" property="workorderId"/> 
 | 
      <result column="AMODEL_MATERIAL_ID" jdbcType="VARCHAR" property="materialId"/> 
 | 
      <result column="AMODEL_NUM" jdbcType="INTEGER" property="num"/> 
 | 
      <result column="AMODEL_CODE" jdbcType="VARCHAR" property="code"/> 
 | 
      <result column="AMODEL_POSITION_TYPE" jdbcType="TINYINT" property="positionType"/> 
 | 
      <result column="AMODEL_WAREHOUSE_ID" jdbcType="INTEGER" property="warehouseId"/> 
 | 
      <result column="AMODEL_LOCATION_ID" jdbcType="INTEGER" property="locationId"/> 
 | 
      <result column="AMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> 
 | 
      <result column="AMODEL_CUR_OBJ_TYPE" jdbcType="TINYINT" property="curObjType"/> 
 | 
      <result column="AMODEL_CUR_OBJ_ID" jdbcType="INTEGER" property="curObjId"/> 
 | 
      <result column="AMODEL_BATCH"   property="batch"/> 
 | 
      <result column="AMODEL_QUALITY_TYPE"   property="qualityType"/> 
 | 
      <result column="AMODEL_SALEORDER_ID"   property="saleorderId"/> 
 | 
      <result column="AMODEL_BACK_PROCEDURE_ID"   property="backProcedureId"/> 
 | 
      <result column="AMODEL_NEXT_PROCEDURE_ID"   property="nextProcedureId"/> 
 | 
      <result column="AMODEL_RELOBJ_TYPE"   property="relobjType"/> 
 | 
      <result column="AMODEL_BACKORDER_ID"   property="backorderId"/> 
 | 
      <result column="AMODEL_CUR_OBJ_ID"   property="curObjId"/> 
 | 
      <result column="AMODEL_CUR_OBJ_ID"   property="curObjId"/> 
 | 
      <result column="AMODEL_CUR_OBJ_ID"   property="curObjId"/> 
 | 
      <result column="AMODEL_CUR_OBJ_ID"   property="curObjId"/> 
 | 
    </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="umodel" javaType="doumeemes.dao.business.model.Unit"> 
 | 
      <id column="UMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="UMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="UMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="UMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="UMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="UMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="UMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="UMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <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="selectAllList"   parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" resultMap="WorkorderRecordExtListVO"> 
 | 
    SELECT a.*,omodel.`STATUS` as workorderStatus, 
 | 
    `amodel`.`SERIAL_NUM` AS AMODEL_SERIAL_NUM, 
 | 
    `amodel`.`BRCODE` AS AMODEL_BRCODE, 
 | 
    `amodel`.`VALID_TIME` AS AMODEL_VALID_TIME, 
 | 
    `amodel`.`TYPE` AS AMODEL_TYPE, 
 | 
    `amodel`.`STATUS` AS AMODEL_STATUS, 
 | 
    `amodel`.`WORKORDER_ID` AS AMODEL_WORKORDER_ID, 
 | 
    `amodel`.`PROCEDURE_ID` AS AMODEL_PROCEDURE_ID, 
 | 
    `amodel`.`MATERIAL_ID` AS AMODEL_MATERIAL_ID, 
 | 
    `amodel`.`NUM` AS AMODEL_NUM, 
 | 
    `amodel`.`CODE` AS AMODEL_CODE, 
 | 
    `amodel`.`POSITION_TYPE` AS AMODEL_POSITION_TYPE, 
 | 
    `amodel`.`WAREHOUSE_ID` AS AMODEL_WAREHOUSE_ID, 
 | 
    `amodel`.`LOCATION_ID` AS AMODEL_LOCATION_ID, 
 | 
    `amodel`.`CUR_OBJ_TYPE` AS AMODEL_CUR_OBJ_TYPE, 
 | 
    `amodel`.`CUR_OBJ_ID` AS AMODEL_CUR_OBJ_ID, 
 | 
    `amodel`.`CUR_OBJ_ID` AS AMODEL_CUR_OBJ_ID, 
 | 
    `amodel`.`BATCH` AS AMODEL_BATCH, 
 | 
    `amodel`.`QUALITY_TYPE` AS AMODEL_QUALITY_TYPE, 
 | 
    `amodel`.`SALEORDER_ID` AS AMODEL_SALEORDER_ID, 
 | 
    `amodel`.`BACK_PROCEDURE_ID` AS AMODEL_BACK_PROCEDURE_ID, 
 | 
    `amodel`.`NEXT_PROCEDURE_ID` AS AMODEL_NEXT_PROCEDURE_ID, 
 | 
    `amodel`.`RELOBJ_TYPE` AS AMODEL_RELOBJ_TYPE, 
 | 
    `amodel`.`BACKORDER_ID` AS AMODEL_BACKORDER_ID, 
 | 
    `umodel`.`ID` AS UMODEL_ID, 
 | 
    `umodel`.`NAME` AS UMODEL_NAME, 
 | 
    `mmodel`.`ID` AS MMODEL_ID, 
 | 
    `mmodel`.`NAME` AS MMODEL_NAME, 
 | 
    `mmodel`.`CODE` AS MMODEL_CODE 
 | 
    FROM `workorder_record` `a` 
 | 
    LEFT JOIN `workorder` `omodel` ON a.`WORKORDER_ID`=omodel.ID 
 | 
    LEFT JOIN `appliances` `amodel` ON a.`APPLIANCES_ID`=amodel.ID 
 | 
    LEFT JOIN `unit` `umodel` ON a.UNIT_ID=umodel.ID 
 | 
    LEFT JOIN `material_distribute` `mdmodel` ON a.MATERIAL_ID=mdmodel.ID 
 | 
    LEFT JOIN `material` `mmodel` ON mdmodel.MATERIAL_ID=mmodel.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="planId != null"> 
 | 
      AND `a`.`PLAN_ID` = #{planId} 
 | 
    </if> 
 | 
    <if test="workorderId != null"> 
 | 
      AND `a`.`WORKORDER_ID` = #{workorderId} 
 | 
    </if> 
 | 
    <if test="batch != null and batch != ''"> 
 | 
      AND `a`.`BATCH` = #{batch} 
 | 
    </if> 
 | 
    <if test="factoryId != null"> 
 | 
      AND `a`.`FACTORY_ID` = #{factoryId} 
 | 
    </if> 
 | 
    <if test="procedureId != null"> 
 | 
      AND `a`.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    <if test="proDeviceId != null"> 
 | 
      AND `a`.`PRO_DEVICE_ID` = #{proDeviceId} 
 | 
    </if> 
 | 
    <if test="appliancesId != null"> 
 | 
      AND `a`.`APPLIANCES_ID` = #{appliancesId} 
 | 
    </if> 
 | 
    <if test="proDate != null"> 
 | 
      AND `a`.`PRO_DATE` = #{proDate} 
 | 
    </if> 
 | 
    <if test="type != null"> 
 | 
      AND `a`.`TYPE` = #{type} 
 | 
    </if> 
 | 
    <if test="num != null"> 
 | 
      AND `a`.`NUM` = #{num} 
 | 
    </if> 
 | 
    <if test="doneType != null"> 
 | 
      AND `a`.`DONE_TYPE` = #{doneType} 
 | 
    </if> 
 | 
    <if test="materialId != null"> 
 | 
      AND `a`.`MATERIAL_ID` = #{materialId} 
 | 
    </if> 
 | 
    <if test="unitId != null"> 
 | 
      AND `a`.`UNIT_ID` = #{unitId} 
 | 
    </if> 
 | 
    <if test="materialBatch != null and materialBatch != ''"> 
 | 
      AND `a`.`MATERIAL_BATCH` = #{materialBatch} 
 | 
    </if> 
 | 
    <if test="checkWay != null"> 
 | 
      AND `a`.`CHECK_WAY` = #{checkWay} 
 | 
    </if> 
 | 
    <if test="checkUserId != null"> 
 | 
      AND `a`.`CHECK_USER_ID` = #{checkUserId} 
 | 
    </if> 
 | 
    <if test="qualifiedNum != null"> 
 | 
      AND `a`.`QUALIFIED_NUM` = #{qualifiedNum} 
 | 
    </if> 
 | 
    <if test="unqualifiedNum != null"> 
 | 
      AND `a`.`UNQUALIFIED_NUM` = #{unqualifiedNum} 
 | 
    </if> 
 | 
    <if test="checkDate != null"> 
 | 
      AND `a`.`CHECK_DATE` = #{checkDate} 
 | 
    </if> 
 | 
    <if test="checkInfo != null and checkInfo != ''"> 
 | 
      AND `a`.`CHECK_INFO` = #{checkInfo} 
 | 
    </if> 
 | 
    <if test="qualifiedApplianceId != null and qualifiedApplianceId != ''"> 
 | 
      AND `a`.`QUALIFIED_APPLIANCE_ID` = #{qualifiedApplianceId} 
 | 
    </if> 
 | 
    <if test="proUserids != null"> 
 | 
      AND `a`.`PRO_USERIDS` = #{proUserids} 
 | 
    </if> 
 | 
    <if test="applianceIds != null and applianceIds.size()>0"> 
 | 
      AND `a`.`APPLIANCES_ID` in 
 | 
          <foreach collection="applianceIds" separator="," open="(" close=")" item="item"> 
 | 
          #{item.applianceId} 
 | 
          </foreach> 
 | 
    </if> 
 | 
    </where> 
 | 
    order  by `a`.`CREATE_TIME` desc 
 | 
  </select> 
 | 
  <select id="selectByModel" parameterType="doumeemes.dao.business.model.WorkorderRecord" resultType="doumeemes.dao.business.model.WorkorderRecord"> 
 | 
    SELECT a.*,omodel.`STATUS` as workorderStatus 
 | 
    FROM `workorder_record` `a` 
 | 
    LEFT JOIN `workorder` `omodel` ON a.WORKORDER_ID=omodel.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="planId != null"> 
 | 
      AND `a`.`PLAN_ID` = #{planId} 
 | 
    </if> 
 | 
    <if test="workorderId != null"> 
 | 
      AND `a`.`WORKORDER_ID` = #{workorderId} 
 | 
    </if> 
 | 
    <if test="batch != null and batch != ''"> 
 | 
      AND `a`.`BATCH` = #{batch} 
 | 
    </if> 
 | 
    <if test="factoryId != null"> 
 | 
      AND `a`.`FACTORY_ID` = #{factoryId} 
 | 
    </if> 
 | 
    <if test="procedureId != null"> 
 | 
      AND `a`.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    <if test="proDeviceId != null"> 
 | 
      AND `a`.`PRO_DEVICE_ID` = #{proDeviceId} 
 | 
    </if> 
 | 
    <if test="appliancesId != null"> 
 | 
      AND `a`.`APPLIANCES_ID` = #{appliancesId} 
 | 
    </if> 
 | 
    <if test="proDate != null"> 
 | 
      AND `a`.`PRO_DATE` = #{proDate} 
 | 
    </if> 
 | 
    <if test="type != null"> 
 | 
      AND `a`.`TYPE` = #{type} 
 | 
    </if> 
 | 
    <if test="num != null"> 
 | 
      AND `a`.`NUM` = #{num} 
 | 
    </if> 
 | 
    <if test="doneType != null"> 
 | 
      AND `a`.`DONE_TYPE` = #{doneType} 
 | 
    </if> 
 | 
    <if test="materialId != null"> 
 | 
      AND `a`.`MATERIAL_ID` = #{materialId} 
 | 
    </if> 
 | 
    <if test="unitId != null"> 
 | 
      AND `a`.`UNIT_ID` = #{unitId} 
 | 
    </if> 
 | 
    <if test="materialBatch != null and materialBatch != ''"> 
 | 
      AND `a`.`MATERIAL_BATCH` = #{materialBatch} 
 | 
    </if> 
 | 
    <if test="checkWay != null"> 
 | 
      AND `a`.`CHECK_WAY` = #{checkWay} 
 | 
    </if> 
 | 
    <if test="checkUserId != null"> 
 | 
      AND `a`.`CHECK_USER_ID` = #{checkUserId} 
 | 
    </if> 
 | 
    <if test="qualifiedNum != null"> 
 | 
      AND `a`.`QUALIFIED_NUM` = #{qualifiedNum} 
 | 
    </if> 
 | 
    <if test="unqualifiedNum != null"> 
 | 
      AND `a`.`UNQUALIFIED_NUM` = #{unqualifiedNum} 
 | 
    </if> 
 | 
    <if test="checkDate != null"> 
 | 
      AND `a`.`CHECK_DATE` = #{checkDate} 
 | 
    </if> 
 | 
    <if test="checkInfo != null and checkInfo != ''"> 
 | 
      AND `a`.`CHECK_INFO` = #{checkInfo} 
 | 
    </if> 
 | 
    <if test="qualifiedApplianceId != null and qualifiedApplianceId != ''"> 
 | 
      AND `a`.`QUALIFIED_APPLIANCE_ID` = #{qualifiedApplianceId} 
 | 
    </if> 
 | 
    <if test="proUserids != null"> 
 | 
      AND `a`.`PRO_USERIDS` = #{proUserids} 
 | 
    </if> 
 | 
    </where> 
 | 
    limit 1 
 | 
  </select> 
 | 
  <select id="userSalaryPage" parameterType="doumeemes.dao.ext.dto.QueryUserSalaryListDTO" resultType="doumeemes.dao.ext.vo.UserSalaryListVO"> 
 | 
    select a.WORKORDER_ID,b.`CODE` as workorderCode,c.`NAME` as materialName,c.code as materialCode 
 | 
    ,d.name as unitName,a.PROCEDURE_ID,f.`NAME` as procedureName,a.CREATE_USER as userId 
 | 
    ,sum(a.QUALIFIED_NUM) as qualifiedNum 
 | 
    ,sum(a.UNQUALIFIED_NUM) as unQualifiedNum 
 | 
    ,sum(a.num) as NUM 
 | 
    from `workorder_record` a 
 | 
    left join workorder b on a.WORKORDER_ID=b.id 
 | 
    left join material_distribute m on b.MATERIAL_ID = m.ID 
 | 
    left join material c on m.MATERIAL_ID = c.ID 
 | 
    left join unit d on a.UNIT_ID = d.ID 
 | 
    left join procedures f on a.PROCEDURE_ID =f.ID 
 | 
    where a.DELETED = 0 
 | 
      and a.TYPE = 1 
 | 
    <if test="rootDepartId != null"> 
 | 
      AND  a.`ROOT_DEPART_ID` = #{rootDepartId} 
 | 
    </if> 
 | 
    <if test="procedureId != null"> 
 | 
      AND  a.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    <if test="materialName != null and materialName !=''"> 
 | 
      AND  (c.`name` like concat('%', #{materialName},'%') or c.`code` like concat('%', #{materialName},'%')) 
 | 
    </if> 
 | 
    <if test="startDate != null and startDate != ''"> 
 | 
      AND  a.`CREATE_TIME` >= concat(#{startDate},' 00:00:00') 
 | 
    </if> 
 | 
    <if test="endDate != null and endDate != ''"> 
 | 
      AND   concat(#{endDate},' 23:59:59') >= a.`CREATE_TIME` 
 | 
    </if> 
 | 
    <if test="userId != null"> 
 | 
      AND  a.`CREATE_USER` = #{userId} 
 | 
    </if> 
 | 
    group by  a.`WORKORDER_ID` 
 | 
    order by a.CREATE_TIME desc 
 | 
  </select> 
 | 
  <select id="salaryStatistic" parameterType="doumeemes.dao.ext.dto.QuerySalaryStatisticDTO" resultType="doumeemes.dao.ext.vo.SalaryStatisticsListVO"> 
 | 
    select `CREATE_USER` as userId ,sum(CASE  WHEN salary_type=0 THEN salary ELSE 0 END ) as jijianSalary 
 | 
    ,sum(CASE  WHEN salary_type=0 THEN  0 ELSE salary  END ) as jishiSalary 
 | 
    ,count(distinct(workorder_id)) as num 
 | 
    ,sum(salary) as totalSalary 
 | 
    from `workorder_record` 
 | 
    where `DELETED` =0 and `SALARY` >0 
 | 
    <if test="rootDepartId != null"> 
 | 
      AND  `ROOT_DEPART_ID` = #{rootDepartId} 
 | 
    </if> 
 | 
    <if test="userId != null"> 
 | 
      AND  `CREATE_USER` = #{userId} 
 | 
    </if> 
 | 
    <if test="startDate != null and startDate != ''"> 
 | 
      AND  `CREATE_TIME` >= concat(#{startDate},' 00:00:00') 
 | 
    </if> 
 | 
    <if test="endDate != null and endDate != ''"> 
 | 
      AND   concat(#{endDate},' 23:59:59') >= `CREATE_TIME` 
 | 
    </if> 
 | 
    group by  `CREATE_USER` 
 | 
   <!-- order by `CREATE_TIME` desc--> 
 | 
  </select> 
 | 
  <select id="getUserProduceTopData" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" 
 | 
          resultType="doumeemes.dao.business.dto.statistics.UserProduceTopModel"> 
 | 
    SELECT sum(a.num) as doneNum,b.user_id as userId,b.`NAME` as userName,b.PHONE 
 | 
    from workorder_record a 
 | 
    left join company_user b on b.DELETED=0 and b.user_id=a.CREATE_USER 
 | 
    left join workorder c on a.WORKORDER_ID=c.id 
 | 
    where a.deleted=0 and a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId} and c.status=4 
 | 
    <if test="procedureId != null"> 
 | 
      AND  a.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    GROUP BY a.CREATE_USER 
 | 
    ORDER By doneNum desc 
 | 
    limit 10 
 | 
  </select> 
 | 
  <select id="getUnqualified7DayData" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" 
 | 
          resultType="doumeemes.dao.business.dto.statistics.Unqualified7DayModel"> 
 | 
    SELECT sum(a.UNQUALIFIED_NUM) as unqualifiedNum,a.CREATE_TIME 
 | 
    from workorder_record a 
 | 
    left join workorder c on a.WORKORDER_ID=c.id 
 | 
    where  a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}  and c.`STATUS`=4 
 | 
    and 7 > (TO_DAYS(now()) - TO_DAYS(a.CREATE_TIME) ) 
 | 
    <if test="procedureId != null"> 
 | 
      AND  a.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    GROUP BY TO_DAYS(a.CREATE_TIME ) 
 | 
  </select> 
 | 
  <select id="getUnqualifiedCateData" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" 
 | 
          resultType="doumeemes.dao.business.dto.statistics.UnqualifiedCateModel"> 
 | 
    SELECT sum(b.UNQUALIFIED_NUM) as unqualifiedNum,d.`NAME` as categoryName 
 | 
    from unqualified_record b 
 | 
    left join workorder_record a on b.RECORD_ID=a.id 
 | 
    left join workorder c on a.WORKORDER_ID=c.id 
 | 
    left join category d on b.CATEGORY_ID=d.id 
 | 
    where a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}  and c.`STATUS`=4 and a.deleted=0 
 | 
    and 7>TO_DAYS(now()) - TO_DAYS(a.CREATE_TIME ) 
 | 
    <if test="procedureId != null"> 
 | 
      AND  a.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    GROUP BY TO_DAYS(d.ID ) 
 | 
    order by unqualifiedNum desc 
 | 
    limit 6 
 | 
  </select> 
 | 
  <select id="getRecordLog" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" 
 | 
          resultType="doumeemes.dao.business.dto.statistics.RecordLogModel"> 
 | 
    select a.CREATE_TIME as createTime,a.UNQUALIFIED_NUM as unqualifiedNum,a.QUALIFIED_NUM as qualifiedNum, 
 | 
    d.name as userName,c.name as materialName,c.code as materialCode 
 | 
    from workorder_record a 
 | 
    left join material_distribute b on a.MATERIAL_ID=b.ID 
 | 
    left join material c on b.MATERIAL_ID=c.ID 
 | 
    left join company_user d on d.DELETED=0 and d.user_id=a.CREATE_USER 
 | 
    left JOIN workorder  e on e.id=a.WORKORDER_ID 
 | 
    where a.DELETED = 0 AND a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}  AND e.`STATUS` = 4 
 | 
    <if test="procedureId != null"> 
 | 
      AND  a.`PROCEDURE_ID` = #{procedureId} 
 | 
    </if> 
 | 
    ORDER BY a.CREATE_TIME desc 
 | 
  
 | 
  </select> 
 | 
  <select id="selectListNew" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" resultMap="WorkorderRecordExtListVO"> 
 | 
    SELECT 
 | 
      `a`.*, 
 | 
      `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, 
 | 
      `pmodel`.`ID` AS PMODEL_ID, 
 | 
      `pmodel`.`DELETED` AS PMODEL_DELETED, 
 | 
      `pmodel`.`CREATE_USER` AS PMODEL_CREATE_USER, 
 | 
      `pmodel`.`CREATE_TIME` AS PMODEL_CREATE_TIME, 
 | 
      `pmodel`.`UPDATE_USER` AS PMODEL_UPDATE_USER, 
 | 
      `pmodel`.`UPDATE_TIME` AS PMODEL_UPDATE_TIME, 
 | 
      `pmodel`.`REMARK` AS PMODEL_REMARK, 
 | 
      `pmodel`.`ROOT_DEPART_ID` AS PMODEL_ROOT_DEPART_ID, 
 | 
      `pmodel`.`DEPART_ID` AS PMODEL_DEPART_ID, 
 | 
      `pmodel`.`ORIGIN` AS PMODEL_ORIGIN, 
 | 
      `pmodel`.`PLAN_DATE` AS PMODEL_PLAN_DATE, 
 | 
      `pmodel`.`MATERIAL_ID` AS PMODEL_MATERIAL_ID, 
 | 
      `pmodel`.`PROCEDURE_ID` AS PMODEL_PROCEDURE_ID, 
 | 
      `pmodel`.`FACTORY_ID` AS PMODEL_FACTORY_ID, 
 | 
      `pmodel`.`UNIT_ID` AS PMODEL_UNIT_ID, 
 | 
      `pmodel`.`NUM` AS PMODEL_NUM, 
 | 
      `pmodel`.`BATCH` AS PMODEL_BATCH, 
 | 
      `pmodel`.`URGENT` AS PMODEL_URGENT, 
 | 
      `pmodel`.`IMPORT_ID` AS PMODEL_IMPORT_ID, 
 | 
      `pmodel`.`USER_ID` AS PMODEL_USER_ID, 
 | 
      `pmodel`.`STATUS` AS PMODEL_STATUS, 
 | 
      `pmodel`.`PUBLISH_DATE` AS PMODEL_PUBLISH_DATE, 
 | 
      `omodel`.`ID` AS OMODEL_ID, 
 | 
      `omodel`.`DELETED` AS OMODEL_DELETED, 
 | 
      `omodel`.`CREATE_USER` AS OMODEL_CREATE_USER, 
 | 
      `omodel`.`CREATE_TIME` AS OMODEL_CREATE_TIME, 
 | 
      `omodel`.`UPDATE_USER` AS OMODEL_UPDATE_USER, 
 | 
      `omodel`.`UPDATE_TIME` AS OMODEL_UPDATE_TIME, 
 | 
      `omodel`.`REMARK` AS OMODEL_REMARK, 
 | 
      `omodel`.`ROOT_DEPART_ID` AS OMODEL_ROOT_DEPART_ID, 
 | 
      `omodel`.`DEPART_ID` AS OMODEL_DEPART_ID, 
 | 
      `omodel`.`PLAN_ID` AS OMODEL_PLAN_ID, 
 | 
      `omodel`.`FACTORY_ID` AS OMODEL_FACTORY_ID, 
 | 
      `omodel`.`PROCEDURE_ID` AS OMODEL_PROCEDURE_ID, 
 | 
      `omodel`.`CODE` AS OMODEL_CODE, 
 | 
      `omodel`.`ORIGIN_WORKORDER_ID` AS OMODEL_ORIGIN_WORKORDER_ID, 
 | 
      `omodel`.`TYPE_ID` AS OMODEL_TYPE_ID, 
 | 
      `omodel`.`ORIGIN_ID` AS OMODEL_ORIGIN_ID, 
 | 
      `omodel`.`PLAN_DATE` AS OMODEL_PLAN_DATE, 
 | 
      `omodel`.`PLAN_NUM` AS OMODEL_PLAN_NUM, 
 | 
      `omodel`.`MATERIAL_ID` AS OMODEL_MATERIAL_ID, 
 | 
      `omodel`.`UNIT_ID` AS OMODEL_UNIT_ID, 
 | 
      `omodel`.`BATCH` AS OMODEL_BATCH, 
 | 
      `omodel`.`PRO_USER_ID` AS OMODEL_PRO_USER_ID, 
 | 
      `omodel`.`PRO_GROUP_ID` AS OMODEL_PRO_GROUP_ID, 
 | 
      `omodel`.`QUALIFIED_NUM` AS OMODEL_QUALIFIED_NUM, 
 | 
      `omodel`.`UNQUALIFIED_NUM` AS OMODEL_UNQUALIFIED_NUM, 
 | 
      `omodel`.`CHECK_USER_ID` AS OMODEL_CHECK_USER_ID, 
 | 
      `omodel`.`STATUS` AS OMODEL_STATUS, 
 | 
      `omodel`.`LAST_DEAL_DATE` AS OMODEL_LAST_DEAL_DATE, 
 | 
      `omodel`.`LAST_DEAL_INFO` AS OMODEL_LAST_DEAL_INFO, 
 | 
      `omodel`.`URGENT` AS OMODEL_URGENT, 
 | 
      `fmodel`.`ID` AS FMODEL_ID, 
 | 
      `fmodel`.`DELETED` AS FMODEL_DELETED, 
 | 
      `fmodel`.`CREATE_USER` AS FMODEL_CREATE_USER, 
 | 
      `fmodel`.`CREATE_TIME` AS FMODEL_CREATE_TIME, 
 | 
      `fmodel`.`UPDATE_USER` AS FMODEL_UPDATE_USER, 
 | 
      `fmodel`.`UPDATE_TIME` AS FMODEL_UPDATE_TIME, 
 | 
      `fmodel`.`NAME` AS FMODEL_NAME, 
 | 
      `fmodel`.`REMARK` AS FMODEL_REMARK, 
 | 
      `fmodel`.`ROOT_ID` AS FMODEL_ROOT_ID, 
 | 
      `fmodel`.`PARENT_ID` AS FMODEL_PARENT_ID, 
 | 
      `fmodel`.`COMPANY_ID` AS FMODEL_COMPANY_ID, 
 | 
      `fmodel`.`TYPE` AS FMODEL_TYPE, 
 | 
      `fmodel`.`ERP_ID` AS FMODEL_ERP_ID, 
 | 
      `fmodel`.`STATUS` AS FMODEL_STATUS, 
 | 
      `fmodel`.`VALID_TIME` AS FMODEL_VALID_TIME, 
 | 
      `fmodel`.`INVALID_TIME` AS FMODEL_INVALID_TIME, 
 | 
      `promodel`.`ID` AS PROMODEL_ID, 
 | 
      `promodel`.`DELETED` AS PROMODEL_DELETED, 
 | 
      `promodel`.`CREATE_USER` AS PROMODEL_CREATE_USER, 
 | 
      `promodel`.`CREATE_TIME` AS PROMODEL_CREATE_TIME, 
 | 
      `promodel`.`UPDATE_USER` AS PROMODEL_UPDATE_USER, 
 | 
      `promodel`.`UPDATE_TIME` AS PROMODEL_UPDATE_TIME, 
 | 
      `promodel`.`REMARK` AS PROMODEL_REMARK, 
 | 
      `promodel`.`ROOT_DEPART_ID` AS PROMODEL_ROOT_DEPART_ID, 
 | 
      `promodel`.`DEPART_ID` AS PROMODEL_DEPART_ID, 
 | 
      `promodel`.`CODE` AS PROMODEL_CODE, 
 | 
      `promodel`.`NAME` AS PROMODEL_NAME, 
 | 
      `promodel`.`SORTNUM` AS PROMODEL_SORTNUM, 
 | 
      `promodel`.`ORG_ID` AS PROMODEL_ORG_ID, 
 | 
      `promodel`.`USER_ID` AS PROMODEL_USER_ID, 
 | 
      `promodel`.`PICKING_WAREHOUSE_ID` AS PROMODEL_PICKING_WAREHOUSE_ID, 
 | 
      `promodel`.`PRODUCE_WAREHOUSE_ID` AS PROMODEL_PRODUCE_WAREHOUSE_ID, 
 | 
      `promodel`.`LEVEL` AS PROMODEL_LEVEL, 
 | 
      `amodel`.`ID` AS AMODEL_ID, 
 | 
      `amodel`.`DELETED` AS AMODEL_DELETED, 
 | 
      `amodel`.`CREATE_USER` AS AMODEL_CREATE_USER, 
 | 
      `amodel`.`CREATE_TIME` AS AMODEL_CREATE_TIME, 
 | 
      `amodel`.`UPDATE_USER` AS AMODEL_UPDATE_USER, 
 | 
      `amodel`.`UPDATE_TIME` AS AMODEL_UPDATE_TIME, 
 | 
      `amodel`.`REMARK` AS AMODEL_REMARK, 
 | 
      `amodel`.`ROOT_DEPART_ID` AS AMODEL_ROOT_DEPART_ID, 
 | 
      `amodel`.`DEPART_ID` AS AMODEL_DEPART_ID, 
 | 
      `amodel`.`SERIAL_NUM` AS AMODEL_SERIAL_NUM, 
 | 
      `amodel`.`BRCODE` AS AMODEL_BRCODE, 
 | 
      `amodel`.`VALID_TIME` AS AMODEL_VALID_TIME, 
 | 
      `amodel`.`TYPE` AS AMODEL_TYPE, 
 | 
      `amodel`.`STATUS` AS AMODEL_STATUS, 
 | 
      `amodel`.`WORKORDER_ID` AS AMODEL_WORKORDER_ID, 
 | 
      `amodel`.`MATERIAL_ID` AS AMODEL_MATERIAL_ID, 
 | 
      `amodel`.`NUM` AS AMODEL_NUM, 
 | 
      `amodel`.`CODE` AS AMODEL_CODE, 
 | 
      `amodel`.`POSITION_TYPE` AS AMODEL_POSITION_TYPE, 
 | 
      `amodel`.`WAREHOUSE_ID` AS AMODEL_WAREHOUSE_ID, 
 | 
      `amodel`.`LOCATION_ID` AS AMODEL_LOCATION_ID, 
 | 
      `amodel`.`PROCEDURE_ID` AS AMODEL_PROCEDURE_ID, 
 | 
      `amodel`.`CUR_OBJ_TYPE` AS AMODEL_CUR_OBJ_TYPE, 
 | 
      `amodel`.`CUR_OBJ_ID` AS AMODEL_CUR_OBJ_ID, 
 | 
      `mmodel`.`ID` AS MMODEL_ID, 
 | 
      `mmodel`.`DELETED` AS MMODEL_DELETED, 
 | 
      `mmodel`.`CREATE_USER` AS MMODEL_CREATE_USER, 
 | 
      `mmodel`.`CREATE_TIME` AS MMODEL_CREATE_TIME, 
 | 
      `mmodel`.`UPDATE_USER` AS MMODEL_UPDATE_USER, 
 | 
      `mmodel`.`UPDATE_TIME` AS MMODEL_UPDATE_TIME, 
 | 
      `mmodel`.`REMARK` AS MMODEL_REMARK, 
 | 
      `mmodel`.`ROOT_DEPART_ID` AS MMODEL_ROOT_DEPART_ID, 
 | 
      `mmodel`.`NAME` AS MMODEL_NAME, 
 | 
      `mmodel`.`CODE` AS MMODEL_CODE, 
 | 
      `mmodel`.`ATTR` AS MMODEL_ATTR, 
 | 
      `mmodel`.`UNION_NAME` AS MMODEL_UNION_NAME, 
 | 
      `mmodel`.`UNIT_ID` AS MMODEL_UNIT_ID, 
 | 
      `mmodel`.`CATE_UNION_ID` AS MMODEL_CATE_UNION_ID, 
 | 
      `mmodel`.`FORMATION` AS MMODEL_FORMATION, 
 | 
      `mmodel`.`QRCODE_ID` AS MMODEL_QRCODE_ID, 
 | 
      `mmodel`.`STATUS` AS MMODEL_STATUS, 
 | 
      `mmodel`.`VALID_TIME` AS MMODEL_VALID_TIME, 
 | 
      `mmodel`.`INVALID_TIME` AS MMODEL_INVALID_TIME, 
 | 
      `mmodel`.`CHECK_WAY` AS MMODEL_CHECK_WAY, 
 | 
      `mmodel`.`QUALITY_REQUIRE` AS MMODEL_QUALITY_REQUIRE, 
 | 
      `mmodel`.`CHECK_NOTE` AS MMODEL_CHECK_NOTE, 
 | 
      `umodel`.`ID` AS UMODEL_ID, 
 | 
      `umodel`.`DELETED` AS UMODEL_DELETED, 
 | 
      `umodel`.`CREATE_USER` AS UMODEL_CREATE_USER, 
 | 
      `umodel`.`CREATE_TIME` AS UMODEL_CREATE_TIME, 
 | 
      `umodel`.`UPDATE_USER` AS UMODEL_UPDATE_USER, 
 | 
      `umodel`.`UPDATE_TIME` AS UMODEL_UPDATE_TIME, 
 | 
      `umodel`.`REMARK` AS UMODEL_REMARK, 
 | 
      `umodel`.`ROOT_DEPART_ID` AS UMODEL_ROOT_DEPART_ID, 
 | 
      `umodel`.`NAME` AS UMODEL_NAME, 
 | 
      `umodel`.`TYPE` AS UMODEL_TYPE, 
 | 
      `umodel`.`STATUS` AS UMODEL_STATUS , 
 | 
    d.`CODE` as deviceCode , d.`NAME`  as deviceName, 
 | 
    `cumodel`.`CATE_BIG_ID` AS CUMODEL_CATE_BIG_ID, 
 | 
    `cumodel`.`CATE_MIDDLE_ID` AS CUMODEL_CATE_MIDDLE_ID, 
 | 
    `cumodel`.`CATE_SMALL_ID` AS CUMODEL_CATE_SMALL_ID, 
 | 
    `smodel`.code as SMODEL_CODE, 
 | 
    `smodel`.label as SMODEL_LABEL 
 | 
    FROM `workorder_record` `a` 
 | 
    LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.ID 
 | 
    LEFT JOIN `plans` `pmodel` ON a.PLAN_ID=pmodel.ID 
 | 
    LEFT JOIN `workorder` `omodel` ON a.WORKORDER_ID=omodel.ID 
 | 
    LEFT JOIN `department` `fmodel` ON a.FACTORY_ID=fmodel.ID 
 | 
    LEFT JOIN `procedures` `promodel` ON a.PROCEDURE_ID=promodel.ID 
 | 
    LEFT JOIN `appliances` `amodel` ON a.APPLIANCES_ID=amodel.ID 
 | 
    LEFT JOIN `material_distribute` `mdmodel` ON a.MATERIAL_ID=mdmodel.ID 
 | 
    LEFT JOIN `material` `mmodel` ON mdmodel.MATERIAL_ID=mmodel.ID 
 | 
    LEFT JOIN `unit` `umodel` ON a.UNIT_ID=umodel.ID 
 | 
    LEFT JOIN device d on omodel.PRO_GROUP_ID = d.id 
 | 
    LEFT JOIN `category_union` `cumodel` ON amodel.`CATEGORY_ID`=cumodel.ID 
 | 
    LEFT JOIN `system_dict_data` `smodel` ON amodel.TYPE=smodel.ID 
 | 
    <where> 
 | 
      <if test="id != null"> 
 | 
        AND `a`.`ID` = #{id} 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        AND `a`.`DELETED` = #{deleted} 
 | 
      </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="endDate != null"> 
 | 
        AND   #{endDate} >=`a`.`CREATE_TIME` 
 | 
      </if> 
 | 
      <if test="startDate != null"> 
 | 
        AND `a`.`CREATE_TIME` >=#{startDate} 
 | 
      </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="planId != null"> 
 | 
        AND `a`.`PLAN_ID` = #{planId} 
 | 
      </if> 
 | 
      <if test="workorderId != null"> 
 | 
        AND `a`.`WORKORDER_ID` = #{workorderId} 
 | 
      </if> 
 | 
      <if test="batch != null and batch != ''"> 
 | 
        AND `a`.`BATCH` = #{batch} 
 | 
      </if> 
 | 
      <if test="factoryId != null"> 
 | 
        AND `a`.`FACTORY_ID` = #{factoryId} 
 | 
      </if> 
 | 
      <if test="procedureId != null"> 
 | 
        AND `a`.`PROCEDURE_ID` = #{procedureId} 
 | 
      </if> 
 | 
      <if test="proDeviceId != null"> 
 | 
        AND `a`.`PRO_DEVICE_ID` = #{proDeviceId} 
 | 
      </if> 
 | 
      <if test="appliancesId != null"> 
 | 
        AND `a`.`APPLIANCES_ID` = #{appliancesId} 
 | 
      </if> 
 | 
      <if test="proDate != null"> 
 | 
        AND `a`.`PRO_DATE` = #{proDate} 
 | 
      </if> 
 | 
      <if test="type != null"> 
 | 
        AND `a`.`TYPE` = #{type} 
 | 
      </if> 
 | 
      <if test="num != null"> 
 | 
        AND `a`.`NUM` = #{num} 
 | 
      </if> 
 | 
      <if test="doneType != null"> 
 | 
        AND `a`.`DONE_TYPE` = #{doneType} 
 | 
      </if> 
 | 
      <if test="materialId != null"> 
 | 
        AND `a`.`MATERIAL_ID` = #{materialId} 
 | 
      </if> 
 | 
      <if test="unitId != null"> 
 | 
        AND `a`.`UNIT_ID` = #{unitId} 
 | 
      </if> 
 | 
      <if test="materialBatch != null and materialBatch != ''"> 
 | 
        AND `a`.`MATERIAL_BATCH` = #{materialBatch} 
 | 
      </if> 
 | 
      <if test="checkWay != null"> 
 | 
        AND `a`.`CHECK_WAY` = #{checkWay} 
 | 
      </if> 
 | 
      <if test="checkUserId != null"> 
 | 
        AND `a`.`CHECK_USER_ID` = #{checkUserId} 
 | 
      </if> 
 | 
      <if test="qualifiedNum != null"> 
 | 
        AND `a`.`QUALIFIED_NUM` = #{qualifiedNum} 
 | 
      </if> 
 | 
      <if test="unqualifiedNum != null"> 
 | 
        AND `a`.`UNQUALIFIED_NUM` = #{unqualifiedNum} 
 | 
      </if> 
 | 
      <if test="checkDate != null"> 
 | 
        AND `a`.`CHECK_DATE` = #{checkDate} 
 | 
      </if> 
 | 
      <if test="checkInfo != null and checkInfo != ''"> 
 | 
        AND `a`.`CHECK_INFO` = #{checkInfo} 
 | 
      </if> 
 | 
      <if test="qualifiedApplianceId != null and qualifiedApplianceId != ''"> 
 | 
        AND `a`.`QUALIFIED_APPLIANCE_ID` = #{qualifiedApplianceId} 
 | 
      </if> 
 | 
      <if test="proUserids != null"> 
 | 
        AND `a`.`PRO_USERIDS` = #{proUserids} 
 | 
      </if> 
 | 
      <if test="materialDonetype != null"> 
 | 
        AND `a`.`MATERIAL_DONETYPE` = #{materialDonetype} 
 | 
      </if> 
 | 
      <if test="materialProcedurId != null"> 
 | 
        AND `a`.`MATERIAL_PROCEDURE_ID` = #{materialProcedurId} 
 | 
      </if> 
 | 
      <if test="relobjId != null"> 
 | 
        AND `a`.`RELOBJ_ID` = #{relobjId} 
 | 
      </if> 
 | 
      <if test="relobjType != null"> 
 | 
        AND `a`.`RELOBJ_TYPE` = #{relobjType} 
 | 
      </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="pmodelId != null"> 
 | 
        AND `pmodel`.`ID` = #{pmodelId} 
 | 
      </if> 
 | 
      <if test="pmodelDeleted != null"> 
 | 
        AND `pmodel`.`DELETED` = #{pmodelDeleted} 
 | 
      </if> 
 | 
      <if test="pmodelCreateUser != null"> 
 | 
        AND `pmodel`.`CREATE_USER` = #{pmodelCreateUser} 
 | 
      </if> 
 | 
      <if test="pmodelCreateTime != null"> 
 | 
        AND `pmodel`.`CREATE_TIME` = #{pmodelCreateTime} 
 | 
      </if> 
 | 
      <if test="pmodelUpdateUser != null"> 
 | 
        AND `pmodel`.`UPDATE_USER` = #{pmodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="pmodelUpdateTime != null"> 
 | 
        AND `pmodel`.`UPDATE_TIME` = #{pmodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="pmodelRemark != null and pmodelRemark != ''"> 
 | 
        AND `pmodel`.`REMARK` = #{pmodelRemark} 
 | 
      </if> 
 | 
      <if test="pmodelRootDepartId != null"> 
 | 
        AND `pmodel`.`ROOT_DEPART_ID` = #{pmodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="pmodelDepartId != null"> 
 | 
        AND `pmodel`.`DEPART_ID` = #{pmodelDepartId} 
 | 
      </if> 
 | 
      <if test="pmodelOrigin != null"> 
 | 
        AND `pmodel`.`ORIGIN` = #{pmodelOrigin} 
 | 
      </if> 
 | 
      <if test="pmodelPlanDate != null"> 
 | 
        AND `pmodel`.`PLAN_DATE` = #{pmodelPlanDate} 
 | 
      </if> 
 | 
      <if test="pmodelMaterialId != null"> 
 | 
        AND `pmodel`.`MATERIAL_ID` = #{pmodelMaterialId} 
 | 
      </if> 
 | 
      <if test="pmodelProcedureId != null"> 
 | 
        AND `pmodel`.`PROCEDURE_ID` = #{pmodelProcedureId} 
 | 
      </if> 
 | 
      <if test="pmodelFactoryId != null"> 
 | 
        AND `pmodel`.`FACTORY_ID` = #{pmodelFactoryId} 
 | 
      </if> 
 | 
      <if test="pmodelUnitId != null"> 
 | 
        AND `pmodel`.`UNIT_ID` = #{pmodelUnitId} 
 | 
      </if> 
 | 
      <if test="pmodelNum != null"> 
 | 
        AND `pmodel`.`NUM` = #{pmodelNum} 
 | 
      </if> 
 | 
      <if test="pmodelBatch != null and pmodelBatch != ''"> 
 | 
        AND `pmodel`.`BATCH` = #{pmodelBatch} 
 | 
      </if> 
 | 
      <if test="pmodelUrgent != null"> 
 | 
        AND `pmodel`.`URGENT` = #{pmodelUrgent} 
 | 
      </if> 
 | 
      <if test="pmodelImportId != null"> 
 | 
        AND `pmodel`.`IMPORT_ID` = #{pmodelImportId} 
 | 
      </if> 
 | 
      <if test="pmodelUserId != null"> 
 | 
        AND `pmodel`.`USER_ID` = #{pmodelUserId} 
 | 
      </if> 
 | 
      <if test="pmodelStatus != null"> 
 | 
        AND `pmodel`.`STATUS` = #{pmodelStatus} 
 | 
      </if> 
 | 
      <if test="pmodelPublishDate != null"> 
 | 
        AND `pmodel`.`PUBLISH_DATE` = #{pmodelPublishDate} 
 | 
      </if> 
 | 
      <if test="omodelId != null"> 
 | 
        AND `omodel`.`ID` = #{omodelId} 
 | 
      </if> 
 | 
      <if test="omodelDeleted != null"> 
 | 
        AND `omodel`.`DELETED` = #{omodelDeleted} 
 | 
      </if> 
 | 
      <if test="omodelCreateUser != null"> 
 | 
        AND `omodel`.`CREATE_USER` = #{omodelCreateUser} 
 | 
      </if> 
 | 
      <if test="omodelCreateTime != null"> 
 | 
        AND `omodel`.`CREATE_TIME` = #{omodelCreateTime} 
 | 
      </if> 
 | 
      <if test="omodelUpdateUser != null"> 
 | 
        AND `omodel`.`UPDATE_USER` = #{omodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="omodelUpdateTime != null"> 
 | 
        AND `omodel`.`UPDATE_TIME` = #{omodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="omodelRemark != null and omodelRemark != ''"> 
 | 
        AND `omodel`.`REMARK` = #{omodelRemark} 
 | 
      </if> 
 | 
      <if test="omodelRootDepartId != null"> 
 | 
        AND `omodel`.`ROOT_DEPART_ID` = #{omodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="omodelDepartId != null"> 
 | 
        AND `omodel`.`DEPART_ID` = #{omodelDepartId} 
 | 
      </if> 
 | 
      <if test="omodelPlanId != null"> 
 | 
        AND `omodel`.`PLAN_ID` = #{omodelPlanId} 
 | 
      </if> 
 | 
      <if test="omodelFactoryId != null"> 
 | 
        AND `omodel`.`FACTORY_ID` = #{omodelFactoryId} 
 | 
      </if> 
 | 
      <if test="omodelProcedureId != null"> 
 | 
        AND `omodel`.`PROCEDURE_ID` = #{omodelProcedureId} 
 | 
      </if> 
 | 
      <if test="omodelCode != null and omodelCode != ''"> 
 | 
        AND `omodel`.`CODE` = #{omodelCode} 
 | 
      </if> 
 | 
      <if test="omodelOriginWorkorderId != null"> 
 | 
        AND `omodel`.`ORIGIN_WORKORDER_ID` = #{omodelOriginWorkorderId} 
 | 
      </if> 
 | 
      <if test="omodelTypeId != null"> 
 | 
        AND `omodel`.`TYPE_ID` = #{omodelTypeId} 
 | 
      </if> 
 | 
      <if test="omodelOriginId != null"> 
 | 
        AND `omodel`.`ORIGIN_ID` = #{omodelOriginId} 
 | 
      </if> 
 | 
      <if test="omodelPlanDate != null"> 
 | 
        AND `omodel`.`PLAN_DATE` = #{omodelPlanDate} 
 | 
      </if> 
 | 
      <if test="omodelPlanNum != null"> 
 | 
        AND `omodel`.`PLAN_NUM` = #{omodelPlanNum} 
 | 
      </if> 
 | 
      <if test="omodelMaterialId != null"> 
 | 
        AND `omodel`.`MATERIAL_ID` = #{omodelMaterialId} 
 | 
      </if> 
 | 
      <if test="omodelUnitId != null"> 
 | 
        AND `omodel`.`UNIT_ID` = #{omodelUnitId} 
 | 
      </if> 
 | 
      <if test="omodelBatch != null and omodelBatch != ''"> 
 | 
        AND `omodel`.`BATCH` = #{omodelBatch} 
 | 
      </if> 
 | 
      <if test="omodelProUserId != null"> 
 | 
        AND exists( select pu.id from workorder_user pu where `pu`.`PRO_USER_ID` = #{omodelProUserId} and pu.WORKORDER_ID=a.WORKORDER_ID and pu.deleted=0) 
 | 
      </if> 
 | 
      <if test="omodelProGroupId != null"> 
 | 
        AND `omodel`.`PRO_GROUP_ID` = #{omodelProGroupId} 
 | 
      </if> 
 | 
      <if test="omodelQualifiedNum != null"> 
 | 
        AND `omodel`.`QUALIFIED_NUM` = #{omodelQualifiedNum} 
 | 
      </if> 
 | 
      <if test="omodelUnqualifiedNum != null"> 
 | 
        AND `omodel`.`UNQUALIFIED_NUM` = #{omodelUnqualifiedNum} 
 | 
      </if> 
 | 
      <if test="omodelCheckUserId != null"> 
 | 
        AND `omodel`.`CHECK_USER_ID` = #{omodelCheckUserId} 
 | 
      </if> 
 | 
      <if test="omodelStatus != null"> 
 | 
        AND `omodel`.`STATUS` = #{omodelStatus} 
 | 
      </if> 
 | 
      <if test="omodelLastDealDate != null"> 
 | 
        AND `omodel`.`LAST_DEAL_DATE` = #{omodelLastDealDate} 
 | 
      </if> 
 | 
      <if test="omodelLastDealInfo != null and omodelLastDealInfo != ''"> 
 | 
        AND `omodel`.`LAST_DEAL_INFO` = #{omodelLastDealInfo} 
 | 
      </if> 
 | 
      <if test="omodelUrgent != null"> 
 | 
        AND `omodel`.`URGENT` = #{omodelUrgent} 
 | 
      </if> 
 | 
      <if test="fmodelId != null"> 
 | 
        AND `fmodel`.`ID` = #{fmodelId} 
 | 
      </if> 
 | 
      <if test="fmodelDeleted != null"> 
 | 
        AND `fmodel`.`DELETED` = #{fmodelDeleted} 
 | 
      </if> 
 | 
      <if test="fmodelCreateUser != null"> 
 | 
        AND `fmodel`.`CREATE_USER` = #{fmodelCreateUser} 
 | 
      </if> 
 | 
      <if test="fmodelCreateTime != null"> 
 | 
        AND `fmodel`.`CREATE_TIME` = #{fmodelCreateTime} 
 | 
      </if> 
 | 
      <if test="fmodelUpdateUser != null"> 
 | 
        AND `fmodel`.`UPDATE_USER` = #{fmodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="fmodelUpdateTime != null"> 
 | 
        AND `fmodel`.`UPDATE_TIME` = #{fmodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="fmodelName != null and fmodelName != ''"> 
 | 
        AND `fmodel`.`NAME` = #{fmodelName} 
 | 
      </if> 
 | 
      <if test="fmodelRemark != null and fmodelRemark != ''"> 
 | 
        AND `fmodel`.`REMARK` = #{fmodelRemark} 
 | 
      </if> 
 | 
      <if test="fmodelRootId != null"> 
 | 
        AND `fmodel`.`ROOT_ID` = #{fmodelRootId} 
 | 
      </if> 
 | 
      <if test="fmodelParentId != null"> 
 | 
        AND `fmodel`.`PARENT_ID` = #{fmodelParentId} 
 | 
      </if> 
 | 
      <if test="fmodelCompanyId != null"> 
 | 
        AND `fmodel`.`COMPANY_ID` = #{fmodelCompanyId} 
 | 
      </if> 
 | 
      <if test="fmodelType != null"> 
 | 
        AND `fmodel`.`TYPE` = #{fmodelType} 
 | 
      </if> 
 | 
      <if test="fmodelErpId != null and fmodelErpId != ''"> 
 | 
        AND `fmodel`.`ERP_ID` = #{fmodelErpId} 
 | 
      </if> 
 | 
      <if test="fmodelStatus != null"> 
 | 
        AND `fmodel`.`STATUS` = #{fmodelStatus} 
 | 
      </if> 
 | 
      <if test="fmodelValidTime != null"> 
 | 
        AND `fmodel`.`VALID_TIME` = #{fmodelValidTime} 
 | 
      </if> 
 | 
      <if test="fmodelInvalidTime != null"> 
 | 
        AND `fmodel`.`INVALID_TIME` = #{fmodelInvalidTime} 
 | 
      </if> 
 | 
      <if test="promodelId != null"> 
 | 
        AND `promodel`.`ID` = #{promodelId} 
 | 
      </if> 
 | 
      <if test="promodelDeleted != null"> 
 | 
        AND `promodel`.`DELETED` = #{promodelDeleted} 
 | 
      </if> 
 | 
      <if test="promodelCreateUser != null"> 
 | 
        AND `promodel`.`CREATE_USER` = #{promodelCreateUser} 
 | 
      </if> 
 | 
      <if test="promodelCreateTime != null"> 
 | 
        AND `promodel`.`CREATE_TIME` = #{promodelCreateTime} 
 | 
      </if> 
 | 
      <if test="promodelUpdateUser != null"> 
 | 
        AND `promodel`.`UPDATE_USER` = #{promodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="promodelUpdateTime != null"> 
 | 
        AND `promodel`.`UPDATE_TIME` = #{promodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="promodelRemark != null and promodelRemark != ''"> 
 | 
        AND `promodel`.`REMARK` = #{promodelRemark} 
 | 
      </if> 
 | 
      <if test="promodelRootDepartId != null"> 
 | 
        AND `promodel`.`ROOT_DEPART_ID` = #{promodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="promodelDepartId != null"> 
 | 
        AND `promodel`.`DEPART_ID` = #{promodelDepartId} 
 | 
      </if> 
 | 
      <if test="promodelCode != null and promodelCode != ''"> 
 | 
        AND `promodel`.`CODE` = #{promodelCode} 
 | 
      </if> 
 | 
      <if test="promodelName != null and promodelName != ''"> 
 | 
        AND `promodel`.`NAME` = #{promodelName} 
 | 
      </if> 
 | 
      <if test="promodelSortnum != null"> 
 | 
        AND `promodel`.`SORTNUM` = #{promodelSortnum} 
 | 
      </if> 
 | 
      <if test="promodelOrgId != null"> 
 | 
        AND `promodel`.`ORG_ID` = #{promodelOrgId} 
 | 
      </if> 
 | 
      <if test="promodelUserId != null"> 
 | 
        AND `promodel`.`USER_ID` = #{promodelUserId} 
 | 
      </if> 
 | 
      <if test="promodelPickingWarehouseId != null"> 
 | 
        AND `promodel`.`PICKING_WAREHOUSE_ID` = #{promodelPickingWarehouseId} 
 | 
      </if> 
 | 
      <if test="promodelProduceWarehouseId != null"> 
 | 
        AND `promodel`.`PRODUCE_WAREHOUSE_ID` = #{promodelProduceWarehouseId} 
 | 
      </if> 
 | 
      <if test="promodelLevel != null"> 
 | 
        AND `promodel`.`LEVEL` = #{promodelLevel} 
 | 
      </if> 
 | 
      <if test="amodelId != null"> 
 | 
        AND `amodel`.`ID` = #{amodelId} 
 | 
      </if> 
 | 
      <if test="amodelDeleted != null"> 
 | 
        AND `amodel`.`DELETED` = #{amodelDeleted} 
 | 
      </if> 
 | 
      <if test="amodelCreateUser != null"> 
 | 
        AND `amodel`.`CREATE_USER` = #{amodelCreateUser} 
 | 
      </if> 
 | 
      <if test="amodelCreateTime != null"> 
 | 
        AND `amodel`.`CREATE_TIME` = #{amodelCreateTime} 
 | 
      </if> 
 | 
      <if test="amodelUpdateUser != null"> 
 | 
        AND `amodel`.`UPDATE_USER` = #{amodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="amodelUpdateTime != null"> 
 | 
        AND `amodel`.`UPDATE_TIME` = #{amodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="amodelRemark != null and amodelRemark != ''"> 
 | 
        AND `amodel`.`REMARK` = #{amodelRemark} 
 | 
      </if> 
 | 
      <if test="amodelRootDepartId != null"> 
 | 
        AND `amodel`.`ROOT_DEPART_ID` = #{amodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="amodelDepartId != null"> 
 | 
        AND `amodel`.`DEPART_ID` = #{amodelDepartId} 
 | 
      </if> 
 | 
      <if test="amodelSerialNum != null and amodelSerialNum != ''"> 
 | 
        AND `amodel`.`SERIAL_NUM` = #{amodelSerialNum} 
 | 
      </if> 
 | 
      <if test="amodelBrcode != null"> 
 | 
        AND `amodel`.`BRCODE` = #{amodelBrcode} 
 | 
      </if> 
 | 
      <if test="amodelValidTime != null"> 
 | 
        AND `amodel`.`VALID_TIME` = #{amodelValidTime} 
 | 
      </if> 
 | 
      <if test="amodelType != null"> 
 | 
        AND `amodel`.`TYPE` = #{amodelType} 
 | 
      </if> 
 | 
      <if test="amodelStatus != null"> 
 | 
        AND `amodel`.`STATUS` = #{amodelStatus} 
 | 
      </if> 
 | 
      <if test="amodelWorkorderId != null"> 
 | 
        AND `amodel`.`WORKORDER_ID` = #{amodelWorkorderId} 
 | 
      </if> 
 | 
      <if test="amodelMaterialId != null and amodelMaterialId != ''"> 
 | 
        AND `amodel`.`MATERIAL_ID` = #{amodelMaterialId} 
 | 
      </if> 
 | 
      <if test="amodelNum != null"> 
 | 
        AND `amodel`.`NUM` = #{amodelNum} 
 | 
      </if> 
 | 
      <if test="amodelCode != null and amodelCode != ''"> 
 | 
        AND `amodel`.`CODE` = #{amodelCode} 
 | 
      </if> 
 | 
      <if test="amodelPositionType != null"> 
 | 
        AND `amodel`.`POSITION_TYPE` = #{amodelPositionType} 
 | 
      </if> 
 | 
      <if test="amodelWarehouseId != null"> 
 | 
        AND `amodel`.`WAREHOUSE_ID` = #{amodelWarehouseId} 
 | 
      </if> 
 | 
      <if test="amodelLocationId != null"> 
 | 
        AND `amodel`.`LOCATION_ID` = #{amodelLocationId} 
 | 
      </if> 
 | 
      <if test="amodelProcedureId != null"> 
 | 
        AND `amodel`.`PROCEDURE_ID` = #{amodelProcedureId} 
 | 
      </if> 
 | 
      <if test="amodelCurObjType != null"> 
 | 
        AND `amodel`.`CUR_OBJ_TYPE` = #{amodelCurObjType} 
 | 
      </if> 
 | 
      <if test="amodelCurObjId != null"> 
 | 
        AND `amodel`.`CUR_OBJ_ID` = #{amodelCurObjId} 
 | 
      </if> 
 | 
      <if test="mmodelId != null"> 
 | 
        AND `mmodel`.`ID` = #{mmodelId} 
 | 
      </if> 
 | 
      <if test="mmodelDeleted != null"> 
 | 
        AND `mmodel`.`DELETED` = #{mmodelDeleted} 
 | 
      </if> 
 | 
      <if test="mmodelCreateUser != null"> 
 | 
        AND `mmodel`.`CREATE_USER` = #{mmodelCreateUser} 
 | 
      </if> 
 | 
      <if test="mmodelCreateTime != null"> 
 | 
        AND `mmodel`.`CREATE_TIME` = #{mmodelCreateTime} 
 | 
      </if> 
 | 
      <if test="mmodelUpdateUser != null"> 
 | 
        AND `mmodel`.`UPDATE_USER` = #{mmodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="mmodelUpdateTime != null"> 
 | 
        AND `mmodel`.`UPDATE_TIME` = #{mmodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="mmodelRemark != null and mmodelRemark != ''"> 
 | 
        AND `mmodel`.`REMARK` = #{mmodelRemark} 
 | 
      </if> 
 | 
      <if test="mmodelRootDepartId != null"> 
 | 
        AND `mmodel`.`ROOT_DEPART_ID` = #{mmodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="mmodelName != null and mmodelName != ''"> 
 | 
        AND `mmodel`.`NAME` = #{mmodelName} 
 | 
      </if> 
 | 
      <if test="mmodelCode != null and mmodelCode != ''"> 
 | 
        AND `mmodel`.`CODE` = #{mmodelCode} 
 | 
      </if> 
 | 
      <if test="mmodelAttr != null and mmodelAttr != ''"> 
 | 
        AND `mmodel`.`ATTR` = #{mmodelAttr} 
 | 
      </if> 
 | 
      <if test="mmodelUnionName != null and mmodelUnionName != ''"> 
 | 
        AND `mmodel`.`UNION_NAME` = #{mmodelUnionName} 
 | 
      </if> 
 | 
      <if test="mmodelUnitId != null"> 
 | 
        AND `mmodel`.`UNIT_ID` = #{mmodelUnitId} 
 | 
      </if> 
 | 
      <if test="mmodelCateUnionId != null"> 
 | 
        AND `mmodel`.`CATE_UNION_ID` = #{mmodelCateUnionId} 
 | 
      </if> 
 | 
      <if test="mmodelFormation != null"> 
 | 
        AND `mmodel`.`FORMATION` = #{mmodelFormation} 
 | 
      </if> 
 | 
      <if test="mmodelQrcodeId != null and mmodelQrcodeId != ''"> 
 | 
        AND `mmodel`.`QRCODE_ID` = #{mmodelQrcodeId} 
 | 
      </if> 
 | 
      <if test="mmodelStatus != null"> 
 | 
        AND `mmodel`.`STATUS` = #{mmodelStatus} 
 | 
      </if> 
 | 
      <if test="mmodelValidTime != null"> 
 | 
        AND `mmodel`.`VALID_TIME` = #{mmodelValidTime} 
 | 
      </if> 
 | 
      <if test="mmodelInvalidTime != null"> 
 | 
        AND `mmodel`.`INVALID_TIME` = #{mmodelInvalidTime} 
 | 
      </if> 
 | 
      <if test="mmodelCheckWay != null"> 
 | 
        AND `mmodel`.`CHECK_WAY` = #{mmodelCheckWay} 
 | 
      </if> 
 | 
      <if test="mmodelQualityRequire != null and mmodelQualityRequire != ''"> 
 | 
        AND `mmodel`.`QUALITY_REQUIRE` = #{mmodelQualityRequire} 
 | 
      </if> 
 | 
      <if test="mmodelCheckNote != null and mmodelCheckNote != ''"> 
 | 
        AND `mmodel`.`CHECK_NOTE` = #{mmodelCheckNote} 
 | 
      </if> 
 | 
      <if test="umodelId != null"> 
 | 
        AND `umodel`.`ID` = #{umodelId} 
 | 
      </if> 
 | 
      <if test="umodelDeleted != null"> 
 | 
        AND `umodel`.`DELETED` = #{umodelDeleted} 
 | 
      </if> 
 | 
      <if test="umodelCreateUser != null"> 
 | 
        AND `umodel`.`CREATE_USER` = #{umodelCreateUser} 
 | 
      </if> 
 | 
      <if test="umodelCreateTime != null"> 
 | 
        AND `umodel`.`CREATE_TIME` = #{umodelCreateTime} 
 | 
      </if> 
 | 
      <if test="umodelUpdateUser != null"> 
 | 
        AND `umodel`.`UPDATE_USER` = #{umodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="umodelUpdateTime != null"> 
 | 
        AND `umodel`.`UPDATE_TIME` = #{umodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="umodelRemark != null and umodelRemark != ''"> 
 | 
        AND `umodel`.`REMARK` = #{umodelRemark} 
 | 
      </if> 
 | 
      <if test="umodelRootDepartId != null"> 
 | 
        AND `umodel`.`ROOT_DEPART_ID` = #{umodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="umodelName != null and umodelName != ''"> 
 | 
        AND `umodel`.`NAME` = #{umodelName} 
 | 
      </if> 
 | 
      <if test="umodelType != null"> 
 | 
        AND `umodel`.`TYPE` = #{umodelType} 
 | 
      </if> 
 | 
      <if test="umodelStatus != null"> 
 | 
        AND `umodel`.`STATUS` = #{umodelStatus} 
 | 
      </if> 
 | 
<!--      <choose> 
 | 
        <when test="departIds != null and departIds.size()>0"> 
 | 
          AND ( `a`.`CREATE_USER` = #{createUser}  or `omodel`.`PRO_USER_ID` = #{createUser}  or exists (select d.id from company_user d where  (d.user_id= omodel.PRO_USER_ID or  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}  or `omodel`.`PRO_USER_ID` = #{createUser}) 
 | 
          </if> 
 | 
        </otherwise> 
 | 
      </choose>--> 
 | 
  
 | 
      <choose> 
 | 
        <when test="departIds != null and departIds.size()>0"> 
 | 
          AND (  `a`.`CREATE_USER` = #{createUser}  or 
 | 
          exists (select d.id from workorder_user d where d.WORKORDER_ID=omodel.id and d.DELETED=0 and d.PRO_USER_ID=#{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>) 
 | 
          or exists (select d.id from workorder_user wu left join  company_user d on wu.PRO_USER_ID=d.USER_ID and d.DELETED=0 where  wu.WORKORDER_ID= omodel.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 exists (select d.id from workorder_user d where d.WORKORDER_ID=a.id and d.DELETED=0 and d.PRO_USER_ID=#{createUser} )) 
 | 
          </if> 
 | 
        </otherwise> 
 | 
      </choose> 
 | 
    </where> 
 | 
        order by a.id desc 
 | 
  </select> 
 | 
  
 | 
  
 | 
  
 | 
  <resultMap id="WStockExtListForWorkorderVO" type="doumeemes.dao.ext.vo.WStockExtListForWorkorderVO" autoMapping="true"> 
 | 
    <id column="ID" jdbcType="INTEGER" property="id"/> 
 | 
    <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="umodel" javaType="doumeemes.dao.business.model.Unit"> 
 | 
      <id column="UMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="UMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="UMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="UMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="UMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="UMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="UMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="UMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <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> 
 | 
    <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="wmodel" javaType="doumeemes.dao.business.model.Warehouse"> 
 | 
      <id column="WMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="WMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="WMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="WMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="WMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="WMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="WMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="WMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <result column="WMODEL_DEPART_ID" jdbcType="INTEGER" property="departId"/> 
 | 
      <result column="WMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> 
 | 
      <result column="WMODEL_QRCODE" jdbcType="INTEGER" property="qrcode"/> 
 | 
      <result column="WMODEL_NAME" jdbcType="VARCHAR" property="name"/> 
 | 
      <result column="WMODEL_USE_LOCATION" jdbcType="TINYINT" property="useLocation"/> 
 | 
      <result column="WMODEL_STATUS" jdbcType="TINYINT" property="status"/> 
 | 
      <result column="WMODEL_ADDR" jdbcType="VARCHAR" property="addr"/> 
 | 
    </association> 
 | 
  </resultMap> 
 | 
  
 | 
  <select id="choiceWorkorderRecordUseStockList" parameterType="doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO" resultMap="WStockExtListForWorkorderVO"> 
 | 
  
 | 
    SELECT 
 | 
    w.id , 
 | 
    f.id as materialId, 
 | 
    b.CODE AS materialCode, 
 | 
    b.NAME AS materialName, 
 | 
    c.id AS unitId, 
 | 
    c.NAME AS unitName, 
 | 
    CONCAT( IFNULL(h.`NAME`,''), IFNULL(i.`NAME`,''), IFNULL(j.`NAME`,'') ) AS categoryName , 
 | 
    h.`NAME` as categoryBigName , 
 | 
    i.`NAME` as categoryMiddleName, 
 | 
    j.`NAME`  as categorySmallName , 
 | 
    a.batch, 
 | 
    a.LOCATION_ID AS locationId, 
 | 
    d.UNION_NAME AS locationName, 
 | 
    w.num , 
 | 
    b.ATTR , 
 | 
    c.ATTRIBUTE_DATA as unitAttribute , 
 | 
    a.PROCEDURE_ID as procedureId , p.name as procedureName , a.QUALITY_TYPE as qualityType 
 | 
    FROM 
 | 
    w_stock a 
 | 
    INNER JOIN material_distribute f ON a.MATERIAL_ID = f.id 
 | 
    INNER JOIN material b ON f.MATERIAL_ID = b.id 
 | 
    INNER JOIN category_union g ON b.CATE_UNION_ID = g.id 
 | 
    LEFT JOIN category h ON g.CATE_BIG_ID = h.id 
 | 
    LEFT JOIN category i ON g.CATE_MIDDLE_ID = i.id 
 | 
    LEFT JOIN category j ON g.CATE_SMALL_ID = j.id 
 | 
    INNER JOIN unit c ON a.UNIT_ID = c.ID 
 | 
    LEFT JOIN warehouse_location d ON a.LOCATION_ID = d.ID 
 | 
    LEFT JOIN warehouse e ON a.WAREHOUSE_ID = e.ID 
 | 
    LEFT JOIN procedures p ON a.PROCEDURE_ID=p.ID 
 | 
    LEFT JOIN workorder_record w on w.APPLIANCES_ID = a.id 
 | 
    <where> 
 | 
      and w.DELETED = 0 
 | 
      <if test="type != null"> 
 | 
        AND `w`.`TYPE` = #{type} 
 | 
      </if> 
 | 
      <if test="workorderId != null"> 
 | 
        AND `w`.`WORKORDER_ID` = #{workorderId} 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  <insert id="insertBatch" parameterType="doumeemes.dao.business.model.WorkorderRecord"> 
 | 
    insert into `workorder_record` ( 
 | 
      `ID`, 
 | 
      `DELETED`, 
 | 
      `CREATE_USER`, 
 | 
      `CREATE_TIME`, 
 | 
      `UPDATE_USER`, 
 | 
      `UPDATE_TIME`, 
 | 
      `REMARK`, 
 | 
      `ROOT_DEPART_ID`, 
 | 
      `DEPART_ID`, 
 | 
      `PLAN_ID`, 
 | 
      `WORKORDER_ID`, 
 | 
      `BATCH`, 
 | 
      `FACTORY_ID`, 
 | 
      `PROCEDURE_ID`, 
 | 
      `PRO_DEVICE_ID`, 
 | 
      `APPLIANCES_ID`, 
 | 
      `PRO_DATE`, 
 | 
      `TYPE`, 
 | 
      `NUM`, 
 | 
      `DONE_TYPE`, 
 | 
      `MATERIAL_ID`, 
 | 
      `UNIT_ID`, 
 | 
      `MATERIAL_BATCH`, 
 | 
      `CHECK_WAY`, 
 | 
      `CHECK_USER_ID`, 
 | 
      `QUALIFIED_NUM`, 
 | 
      `UNQUALIFIED_NUM`, 
 | 
      `CHECK_DATE`, 
 | 
      `CHECK_INFO`, 
 | 
      `QUALIFIED_APPLIANCE_ID`, 
 | 
      `PRO_USERIDS`, 
 | 
    MATERIAL_DONETYPE, 
 | 
    MATERIAL_PROCEDURE_ID, 
 | 
    RELOBJ_ID, 
 | 
    RELOBJ_TYPE, 
 | 
    `DURATION`, 
 | 
    `SALARY`, 
 | 
    `SALARY_PRICE`, 
 | 
    `SALARY_NUM`, 
 | 
    `SALARY_TIMES`, 
 | 
    `SALARY_UNQUALIFIED`, 
 | 
    `SALARY_TYPE` 
 | 
    ) 
 | 
    values <foreach collection="list" separator="," item="item"> 
 | 
           ( 
 | 
             #{item.id}, 
 | 
             #{item.deleted}, 
 | 
             #{item.createUser}, 
 | 
             #{item.createTime}, 
 | 
             #{item.updateUser}, 
 | 
             #{item.updateTime}, 
 | 
             #{item.remark}, 
 | 
             #{item.rootDepartId}, 
 | 
             #{item.departId}, 
 | 
             #{item.planId}, 
 | 
             #{item.workorderId}, 
 | 
             #{item.batch}, 
 | 
             #{item.factoryId}, 
 | 
             #{item.procedureId}, 
 | 
             #{item.proDeviceId}, 
 | 
             #{item.appliancesId}, 
 | 
             #{item.proDate}, 
 | 
             #{item.type}, 
 | 
             #{item.num}, 
 | 
             #{item.doneType}, 
 | 
             #{item.materialId}, 
 | 
             #{item.unitId}, 
 | 
             #{item.materialBatch}, 
 | 
             #{item.checkWay}, 
 | 
             #{item.checkUserId}, 
 | 
             #{item.qualifiedNum}, 
 | 
             #{item.unqualifiedNum}, 
 | 
             #{item.checkDate}, 
 | 
             #{item.checkInfo}, 
 | 
             #{item.qualifiedApplianceId}, 
 | 
             #{item.proUserids}, 
 | 
            #{item.materialDonetype}, 
 | 
            #{item.materialProcedureId}, 
 | 
            #{item.relobjId}, 
 | 
            #{item.relobjType}, 
 | 
            #{item.duration}, 
 | 
            #{item.salary}, 
 | 
            #{item.salaryPrice}, 
 | 
            #{item.salaryNum}, 
 | 
            #{item.salaryTimes}, 
 | 
            #{item.salaryUnqualified}, 
 | 
            #{item.salaryType} 
 | 
           ) 
 | 
  </foreach> 
 | 
  </insert> 
 | 
  
 | 
  
 | 
  <select id="checkIsWork"    resultMap="WorkorderRecordExtListVO"> 
 | 
    SELECT a.* 
 | 
    FROM `workorder_record` `a` 
 | 
    LEFT JOIN `workorder` `omodel` ON a.`WORKORDER_ID`=omodel.ID 
 | 
    where 1 = 1 and find_in_set( a.APPLIANCES_ID , #{ids})  and `omodel`.status in ( 0 , 1 , 2 , 3 ) 
 | 
     AND a.DELETED = 0 
 | 
    order  by `a`.`CREATE_TIME` desc 
 | 
  </select> 
 | 
  
 | 
</mapper> 
 |