| <?xml version="1.0" encoding="UTF-8"?> | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
| <mapper namespace="doumeemes.dao.business.ApplianceChangeDetialMapper"> | 
|   | 
|     <resultMap id="ApplianceChangeDetailListVo" type="doumeemes.dao.ext.vo.ApplianceChangeDetailExtListVO" autoMapping="true"> | 
|         <id column="ID" jdbcType="INTEGER" property="id"/> | 
|         <association property="dmodel" javaType="doumeemes.dao.business.model.Department"> | 
|             <id column="DMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="DMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="DMODEL_ROOT_ID" jdbcType="INTEGER" property="rootId"/> | 
|             <result column="DMODEL_PARENT_ID" jdbcType="INTEGER" property="parentId"/> | 
|             <result column="DMODEL_COMPANY_ID" jdbcType="INTEGER" property="companyId"/> | 
|             <result column="DMODEL_TYPE" jdbcType="TINYINT" property="type"/> | 
|             <result column="DMODEL_ERP_ID" jdbcType="VARCHAR" property="erpId"/> | 
|             <result column="DMODEL_STATUS" jdbcType="INTEGER" property="status"/> | 
|             <result column="DMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="DMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|         </association> | 
|   | 
|         <association property="mmodel" javaType="doumeemes.dao.business.model.Material"> | 
|             <id column="MMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="MMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="MMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="MMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="MMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="MMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="MMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="MMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="MMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="MMODEL_CODE" jdbcType="VARCHAR" property="code"/> | 
|             <result column="MMODEL_ATTR" jdbcType="VARCHAR" property="attr"/> | 
|             <result column="MMODEL_UNION_NAME" jdbcType="VARCHAR" property="unionName"/> | 
|             <result column="MMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> | 
|             <result column="MMODEL_CATE_UNION_ID" jdbcType="INTEGER" property="cateUnionId"/> | 
|             <result column="MMODEL_FORMATION" jdbcType="TINYINT" property="formation"/> | 
|             <result column="MMODEL_QRCODE_ID" jdbcType="VARCHAR" property="qrcodeId"/> | 
|             <result column="MMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|             <result column="MMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="MMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|             <result column="MMODEL_CHECK_WAY" jdbcType="TINYINT" property="checkWay"/> | 
|             <result column="MMODEL_QUALITY_REQUIRE" jdbcType="VARCHAR" property="qualityRequire"/> | 
|             <result column="MMODEL_CHECK_NOTE" jdbcType="VARCHAR" property="checkNote"/> | 
|         </association> | 
|         <association property="mdmodel" javaType="doumeemes.dao.business.model.MaterialDistribute"> | 
|             <id column="MDMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="MDMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|             <result column="MDMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|             <result column="MDMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|             <result column="MDMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|             <result column="MDMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|             <result column="MDMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> | 
|             <result column="MDMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> | 
|             <result column="MDMODEL_ATTR" jdbcType="VARCHAR" property="attr"/> | 
|             <result column="MDMODEL_UNION_NAME" jdbcType="VARCHAR" property="unionName"/> | 
|             <result column="MDMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> | 
|             <result column="MDMODEL_CATE_UNION_ID" jdbcType="INTEGER" property="cateUnionId"/> | 
|             <result column="MDMODEL_FORMATION" jdbcType="INTEGER" property="formation"/> | 
|             <result column="MDMODEL_STATUS" jdbcType="INTEGER" property="status"/> | 
|             <result column="MDMODEL_VALID_TIME" jdbcType="TIMESTAMP" property="validTime"/> | 
|             <result column="MDMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|         </association> | 
|   | 
|   | 
|   | 
|   | 
|         <association property="wmodel" javaType="doumeemes.dao.business.model.Workorder"> | 
|             <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_PLAN_ID" jdbcType="INTEGER" property="planId"/> | 
|             <result column="WMODEL_FACTORY_ID" jdbcType="INTEGER" property="factoryId"/> | 
|             <result column="WMODEL_PROCEDURE_ID" jdbcType="INTEGER" property="procedureId"/> | 
|             <result column="WMODEL_CODE" jdbcType="VARCHAR" property="code"/> | 
|             <result column="WMODEL_ORIGIN_WORKORDER_ID" jdbcType="INTEGER" property="originWorkorderId"/> | 
|             <result column="WMODEL_TYPE_ID" jdbcType="INTEGER" property="typeId"/> | 
|             <result column="WMODEL_ORIGIN_ID" jdbcType="INTEGER" property="originId"/> | 
|             <result column="WMODEL_PLAN_DATE" jdbcType="TIMESTAMP" property="planDate"/> | 
|             <result column="WMODEL_PLAN_NUM" jdbcType="INTEGER" property="planNum"/> | 
|             <result column="WMODEL_MATERIAL_ID" jdbcType="INTEGER" property="materialId"/> | 
|             <result column="WMODEL_UNIT_ID" jdbcType="INTEGER" property="unitId"/> | 
|             <result column="WMODEL_BATCH" jdbcType="VARCHAR" property="batch"/> | 
|             <result column="WMODEL_PRO_USER_ID" jdbcType="INTEGER" property="proUserId"/> | 
|             <result column="WMODEL_PRO_GROUP_ID" jdbcType="INTEGER" property="proGroupId"/> | 
|             <result column="WMODEL_QUALIFIED_NUM" jdbcType="INTEGER" property="qualifiedNum"/> | 
|             <result column="WMODEL_UNQUALIFIED_NUM" jdbcType="INTEGER" property="unqualifiedNum"/> | 
|             <result column="WMODEL_CHECK_USER_ID" jdbcType="INTEGER" property="checkUserId"/> | 
|             <result column="WMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|             <result column="WMODEL_LAST_DEAL_DATE" jdbcType="TIMESTAMP" property="lastDealDate"/> | 
|             <result column="WMODEL_LAST_DEAL_INFO" jdbcType="VARCHAR" property="lastDealInfo"/> | 
|             <result column="WMODEL_URGENT" jdbcType="TINYINT" property="urgent"/> | 
|         </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"/> | 
|         </association> | 
|         <association property="umodel" javaType="doumeemes.dao.business.model.Unit"> | 
|             <id column="UMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|             <result column="UMODEL_NAME" jdbcType="VARCHAR" property="name"/> | 
|             <result column="UMODEL_TYPE" jdbcType="TINYINT" property="type"/> | 
|             <result column="UMODEL_STATUS" jdbcType="TINYINT" property="status"/> | 
|         </association> | 
|     </resultMap> | 
|     <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryApplianceChangeDetailExtDTO" | 
|             resultMap="ApplianceChangeDetailListVo"> | 
|         SELECT | 
|         `a`.*, | 
|         `mdmodel`.`UNIT_ID` AS MDMODEL_UNIT_ID, | 
|         `mdmodel`.`ID` AS MDMODEL_ID, | 
|         `dmodel`.`ID` AS DMODEL_ID, | 
|         `dmodel`.`NAME` AS DMODEL_NAME, | 
|         `dmodel`.`ROOT_ID` AS DMODEL_ROOT_ID, | 
|         `dmodel`.`PARENT_ID` AS DMODEL_PARENT_ID, | 
|         `dmodel`.`COMPANY_ID` AS DMODEL_COMPANY_ID, | 
|         `dmodel`.`TYPE` AS DMODEL_TYPE, | 
|         `dmodel`.`ERP_ID` AS DMODEL_ERP_ID, | 
|         `dmodel`.`STATUS` AS DMODEL_STATUS, | 
|         `dmodel`.`VALID_TIME` AS DMODEL_VALID_TIME, | 
|         `dmodel`.`INVALID_TIME` AS DMODEL_INVALID_TIME, | 
|   | 
|   | 
|   | 
|   | 
|         `amodel`.`ID` AS AMODEL_ID, | 
|         `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`.`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, | 
|   | 
|         `wmodel`.`ID` AS WMODEL_ID, | 
|         `wmodel`.`ROOT_DEPART_ID` AS WMODEL_ROOT_DEPART_ID, | 
|         `wmodel`.`DEPART_ID` AS WMODEL_DEPART_ID, | 
|         `wmodel`.`PLAN_ID` AS WMODEL_PLAN_ID, | 
|         `wmodel`.`FACTORY_ID` AS WMODEL_FACTORY_ID, | 
|         `wmodel`.`PROCEDURE_ID` AS WMODEL_PROCEDURE_ID, | 
|         `wmodel`.`CODE` AS WMODEL_CODE, | 
|         `wmodel`.`ORIGIN_WORKORDER_ID` AS WMODEL_ORIGIN_WORKORDER_ID, | 
|         `wmodel`.`TYPE_ID` AS WMODEL_TYPE_ID, | 
|         `wmodel`.`ORIGIN_ID` AS WMODEL_ORIGIN_ID, | 
|         `wmodel`.`PLAN_DATE` AS WMODEL_PLAN_DATE, | 
|         `wmodel`.`PLAN_NUM` AS WMODEL_PLAN_NUM, | 
|         `wmodel`.`MATERIAL_ID` AS WMODEL_MATERIAL_ID, | 
|         `wmodel`.`UNIT_ID` AS WMODEL_UNIT_ID, | 
|         `wmodel`.`BATCH` AS WMODEL_BATCH, | 
|         `wmodel`.`PRO_USER_ID` AS WMODEL_PRO_USER_ID, | 
|         `wmodel`.`PRO_GROUP_ID` AS WMODEL_PRO_GROUP_ID, | 
|         `wmodel`.`QUALIFIED_NUM` AS WMODEL_QUALIFIED_NUM, | 
|         `wmodel`.`UNQUALIFIED_NUM` AS WMODEL_UNQUALIFIED_NUM, | 
|         `wmodel`.`CHECK_USER_ID` AS WMODEL_CHECK_USER_ID, | 
|         `wmodel`.`STATUS` AS WMODEL_STATUS, | 
|         `wmodel`.`LAST_DEAL_DATE` AS WMODEL_LAST_DEAL_DATE, | 
|         `wmodel`.`LAST_DEAL_INFO` AS WMODEL_LAST_DEAL_INFO, | 
|         `wmodel`.`URGENT` AS WMODEL_URGENT, | 
|   | 
|         `umodel`.`ID` AS UMODEL_ID, | 
|         `umodel`.`NAME` AS UMODEL_NAME, | 
|         `umodel`.`TYPE` AS UMODEL_TYPE, | 
|         `umodel`.`STATUS` AS UMODEL_STATUS, | 
|         case when a.RELOBJ_TYPE = 0 then wmodel.code  when a.RELOBJ_TYPE = 1 then acmodel.code else '' end zjcode | 
|   | 
|         FROM `appliance_change_detial` `a` | 
|         LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.ID | 
|         LEFT JOIN `appliances` `amodel` ON a.APPLIANCE_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 mmodel.UNIT_ID=umodel.ID | 
|         LEFT JOIN `workorder` `wmodel` ON a.WORKORDER_ID=wmodel.ID | 
|         LEFT JOIN `appliance_change` `acmodel` ON a.WORKORDER_ID=acmodel.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="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="applianceId != null"> | 
|                 AND `a`.`APPLIANCE_ID` = #{applianceId} | 
|             </if> | 
|   | 
|             <if test="type != null "> | 
|                 AND `a`.`type` = #{type} | 
|             </if> | 
|   | 
|             <if test="materialId != null and materialId != ''"> | 
|                 AND `a`.`MATERIAL_ID` = #{materialId} | 
|             </if> | 
|   | 
|             <if test="batch != null and batch!=''"> | 
|                 AND `a`.`BATCH` = #{batch} | 
|             </if> | 
|             <if test="num != null"> | 
|                 AND `a`.`num` = #{num} | 
|             </if> | 
|             <if test="workorderId != null"> | 
|                 AND `a`.`WORKORDER_ID` = #{workorderId} | 
|             </if> | 
|             <if test="relobjType != null"> | 
|                 AND `a`.`RELOBJ_TYPE` = #{relobjType} | 
|             </if> | 
|             <if test="chaneId != null"> | 
|                 AND `a`.`CHANE_ID` = #{chaneId} | 
|             </if> | 
|   | 
|   | 
|             <if test="mmodelName != null and mmodelName!=''"> | 
|                 AND  (mmodel.name like concat('%',#{mmodelName},'%') or mmodel.code like concat('%',#{mmodelName},'%') ) | 
|             </if> | 
|   | 
|   | 
|             order by a.CREATE_TIME desc | 
|   | 
|         </where> | 
|     </select> | 
|   | 
|   | 
|   | 
|     <update id="updateBycondition" parameterType="doumeemes.dao.business.model.ApplianceChangeDetial"> | 
|         update appliance_change_detial a | 
|         <set> | 
|             <if test="deleted != null"> | 
|                 a.`DELETED` = #{deleted}, | 
|             </if> | 
|         </set> | 
|         where   `a`.`CHANE_ID` = #{chaneId} | 
|     </update> | 
|   | 
| </mapper> |