| <?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.QUALIFIED_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  and b.root_depart_id=a.root_depart_id | 
|     left join workorder c on a.WORKORDER_ID=c.id | 
|     where  to_days(a.create_time)=to_days(now()) and 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  b.CATEGORY_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,p.name as procedureName | 
|     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 and d.root_depart_id=a.root_depart_id | 
|     left join procedures p on a.PROCEDURE_ID=p.ID | 
|     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 and a.type=1 | 
|     <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> |