You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

539 lines
24 KiB
XML

<?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="com.op.device.mapper.EquRepairWorkOrderMapper">
<resultMap type="EquRepairWorkOrder" id="EquRepairWorkOrderResult">
<!--维修工单-->
<result property="workId" column="work_id"/>
<result property="orderId" column="order_id"/>
<result property="workCode" column="work_code"/>
<result property="orderCode" column="order_code"/>
<result property="equipmentCode" column="equipment_code"/>
<result property="workHandle" column="work_handle"/>
<result property="workPlanTime" column="work_plan_time"/>
<result property="workPlanDownTime" column="work_plan_down_time"/>
<result property="orderRelevance" column="order_relevance"/>
<result property="workPerson" column="work_person"/>
<result property="workTeam" column="work_team"/>
<result property="workOutsource" column="work_outsource"/>
<result property="workDownMachine" column="work_down_machine"/>
<result property="workReason" column="work_reason"/>
<result property="workFaultDesc" column="work_fault_desc"/>
<result property="workStartTime" column="work_start_time"/>
<result property="workEndTime" column="work_end_time"/>
<result property="actualDownStartTime" column="actual_down_start_time"/>
<result property="actualDownEndTime" column="actual_down_end_time"/>
<result property="workConnection" column="work_connection"/>
<result property="workCostTime" column="work_cost_time"/>
<result property="workCost" column="work_cost"/>
<result property="workStatus" column="work_status"/>
<result property="outWorkId" column="out_work_id"/>
<result property="outWorkCode" column="out_work_code"/>
<result property="attr1" column="attr1"/>
<result property="attr2" column="attr2"/>
<result property="attr3" column="attr3"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
<result property="factoryCode" column="factory_code"/>
<result property="faultType" column="fault_type"/>
<result property="equipmentStatusDescription" column="equipment_status_description"/>
<result property="repairMeasures" column="repair_measures"/>
<result property="faultDownTime" column="fault_down_time"/>
<result property="faultStartTime" column="fault_start_time"/>
<!--设备-->
<result property="equipmentName" column="equipment_name"/>
<result property="equipmentSpec" column="equipment_spec"/>
<result property="equipmentTypeName" column="equipment_type_name"/>
<result property="equipmentLocation" column="equipment_location"/>
<result property="department" column="department"/>
<result property="workshopCode" column="workshop_code"/>
<result property="workshopName" column="workshop_name"/>
<!--报修信息-->
<result property="orderDesc" column="order_desc"/>
<result property="orderBreakdownTime" column="order_breakdown_time"/>
<result property="orderSource" column="order_source"/>
<result property="orderTime" column="order_time"/>
<result property="orderRepairmanCode" column="order_repairman_code"/>
<result property="orderConnection" column="order_connection"/>
<!--班组-->
<result property="teamName" column="team_name"/>
<result property="teamPerson" column="team_person"/>
</resultMap>
<resultMap type="com.op.common.core.domain.BaseFileData" id="BaseFileResult">
<result property="fileId" column="file_id"/>
<result property="fileName" column="file_name"/>
<result property="fileAddress" column="file_address"/>
<result property="sourceId" column="source_id"/>
<result property="remark" column="remark"/>
<result property="attr1" column="attr1"/>
<result property="attr2" column="attr2"/>
<result property="attr3" column="attr3"/>
<result property="attr4" column="attr4"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="imageType" column="image_type"/>
</resultMap>
<sql id="selectBaseFileVo">
select file_id, file_name, file_address, source_id, remark, attr1,
attr2, attr3, attr4, create_by, create_time, update_by,
update_time,image_type from base_file
</sql>
<sql id="selectEquRepairWorkOrderVo">
select work_id, order_id, order_code, work_code,work_handle, work_plan_time, work_plan_down_time, order_relevance, work_person, work_team, work_outsource, work_down_machine, equipment_code, work_reason, work_fault_desc, work_start_time,work_end_time,work_cost_time, work_cost, work_status,out_work_id, out_work_code, attr1, attr2, attr3, create_by, create_time, update_time, update_by, del_flag, factory_code , fault_type , equipment_status_description , repair_measures , fault_down_time , fault_start_time from equ_repair_work_order
</sql>
<select id="selectEquRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult">
select
erwo.work_id,
erwo.order_id,
erwo.order_code,
erwo.work_code,
erwo.work_handle,
erwo.work_plan_time,
erwo.work_plan_down_time,
erwo.order_relevance,
erwo.work_person,
erwo.work_team,
erwo.work_outsource,
erwo.work_down_machine,
erwo.equipment_code,
erwo.work_reason,
erwo.work_fault_desc,
erwo.work_start_time,
erwo.work_end_time,
erwo.actual_down_start_time,
erwo.actual_down_end_time,
erwo.work_connection,
erwo.work_cost_time,
erwo.work_cost,
erwo.work_status,
erwo.out_work_id,
erwo.out_work_code,
erwo.attr1,
erwo.attr2,
erwo.attr3,
erwo.create_by,
erwo.create_time,
erwo.update_time,
erwo.update_by,
erwo.del_flag,
erwo.factory_code,
erwo.fault_type,
erwo.equipment_status_description,
erwo.repair_measures,
erwo.fault_down_time,
erwo.fault_start_time,
be.equipment_name,
et.team_name,
et.team_person
from equ_repair_work_order erwo
left join base_equipment be on erwo.equipment_code = be.equipment_code
left join equ_team et on erwo.work_team = et.team_code
<where>
<!--报修id 维修code 报修code-->
<if test="orderId != null and orderId != ''">and erwo.order_id = #{orderId}</if>
<if test="workCode != null and workCode != ''">and erwo.work_code like concat('%', #{workCode}, '%')</if>
<if test="orderCode != null and orderCode != ''">and erwo.order_code like concat('%', #{orderCode}, '%')
</if>
<!--设备code 设备故障描述 计划维修时间 是否停机 计划停机时间-->
<if test="equipmentCode != null and equipmentCode != ''">and erwo.equipment_code like concat('%',
#{equipmentCode}, '%')
</if>
<if test="workFaultDesc != null and workFaultDesc != ''">and erwo.work_fault_desc = #{workFaultDesc}</if>
<if test="workPlanTimeStart != null ">and CONVERT(date,work_plan_time) >= #{workPlanTimeStart}</if>
<if test="workPlanTimeEnd != null ">and #{workPlanTimeEnd} >= CONVERT(date,erwo.work_plan_time)</if>
<if test="workDownMachine != null and workDownMachine != ''">and erwo.work_down_machine =
#{workDownMachine}
</if>
<if test="workPlanDownTimeStart != null ">and CONVERT(date,work_plan_down_time) >=
#{workPlanDownTimeStart}
</if>
<if test="workPlanDownTimeEnd != null ">and #{workPlanDownTimeEnd} >=
CONVERT(date,erwo.work_plan_down_time)
</if>
<!--维修人员 维修组-->
<if test="workPerson != null and workPerson != ''">and erwo.work_person like concat('%', #{workPerson},
'%')
</if>
<if test="workTeam != null and workTeam != ''">and erwo.work_team like concat('%', #{workTeam}, '%')</if>
<!--是否委外 委外工单编码-->
<if test="workOutsource != null and workOutsource != ''">and erwo.work_outsource = #{workOutsource}</if>
<if test="outWorkCode != null and outWorkCode != ''">and erwo.out_work_code like concat('%',
#{outWorkCode}, '%')
</if>
<!--故障原因 维修开始时间 维修结束时间 花费时间 费用 维修状态 -->
<if test="workReason != null and workReason != ''">and erwo.work_reason = #{workReason}</if>
<if test="workStartTime != null ">and erwo.work_start_time = #{workStartTime}</if>
<if test="workEndTime != null ">and erwo.work_end_time = #{workEndTime}</if>
<if test="workCostTime != null ">and erwo.work_cost_time = #{workCostTime}</if>
<if test="workCost != null and workCost != ''">and erwo.work_cost = #{workCost}</if>
<if test="workStatus != null and workStatus != ''">and erwo.work_status = #{workStatus}</if>
<if test="factoryCode != null and factoryCode != ''">and erwo.factory_code = #{factoryCode}</if>
<!--没有用上-->
<if test="workHandle != null and workHandle != ''">and erwo.work_handle = #{workHandle}</if>
<if test="orderRelevance != null and orderRelevance != ''">and erwo.order_relevance = #{orderRelevance}
</if>
and erwo.del_flag = '0'
</where>
ORDER BY erwo.create_time DESC
</select>
<!--除了待维修-->
<select id="selectRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult">
select
erwo.work_id,
erwo.order_id,
erwo.order_code,
erwo.work_code,
erwo.work_handle,
erwo.work_plan_time,
erwo.work_plan_down_time,
erwo.order_relevance,
erwo.work_person,
erwo.work_team,
erwo.work_outsource,
erwo.work_down_machine,
erwo.equipment_code,
erwo.work_reason,
erwo.work_fault_desc,
erwo.work_start_time,
erwo.work_end_time,
erwo.actual_down_start_time,
erwo.actual_down_end_time,
erwo.work_connection,
erwo.work_cost_time,
erwo.work_cost,
erwo.work_status,
erwo.out_work_id,
erwo.out_work_code,
erwo.attr1,
erwo.attr2,
erwo.attr3,
erwo.create_by,
erwo.create_time,
erwo.update_time,
erwo.update_by,
erwo.del_flag,
erwo.factory_code,
erwo.fault_type,
erwo.equipment_status_description,
erwo.repair_measures,
erwo.fault_down_time,
erwo.fault_start_time,
be.equipment_name,
et.team_name,
et.team_person
from equ_repair_work_order erwo
left join base_equipment be on erwo.equipment_code = be.equipment_code
left join equ_team et on erwo.work_team = et.team_code
where NOT (erwo.work_status = #{workStatus})
and erwo.work_outsource = #{workOutsource}
and erwo.del_flag = '0'
ORDER BY erwo.create_time DESC
</select>
<select id="selectEquRepairWorkOrderByWorkId" parameterType="String" resultMap="EquRepairWorkOrderResult">
select
erwo.work_id,
erwo.order_id,
erwo.order_code,
erwo.work_code,
erwo.work_handle,
erwo.work_plan_time,
erwo.work_plan_down_time,
erwo.order_relevance,
erwo.work_person,
erwo.work_team,
erwo.work_outsource,
erwo.work_down_machine,
erwo.equipment_code,
erwo.work_reason,
erwo.work_fault_desc,
erwo.work_start_time,
erwo.work_end_time,
erwo.actual_down_start_time,
erwo.actual_down_end_time,
erwo.work_connection,
erwo.work_cost_time,
erwo.work_cost,
erwo.work_status,
erwo.out_work_id,
erwo.out_work_code,
erwo.attr1,
erwo.attr2,
erwo.attr3,
erwo.create_by,
erwo.create_time,
erwo.update_time,
erwo.update_by,
erwo.factory_code,
erwo.fault_type,
erwo.equipment_status_description,
erwo.repair_measures,
erwo.fault_down_time,
erwo.fault_start_time,
be.equipment_name,
be.equipment_spec,
be.equipment_type_name,
be.equipment_location,
be.workshop_code,
be.workshop_name,
be.department,
ero.order_desc,
ero.order_breakdown_time,
ero.order_source,
ero.order_time,
ero.order_repairman_code,
ero.order_connection,
eow.work_person AS outSourcePerson,
eow.work_outsourcing_unit AS workOutsourcingUnit,
eow.work_connection AS outSourceConnection,
eow.work_reason AS outSourceReason
from equ_repair_work_order erwo
left join base_equipment be on erwo.equipment_code = be.equipment_code
left join equ_repair_order ero on erwo.order_code = ero.order_code
left join equ_outsource_work eow on erwo.out_work_code = eow.work_code
where erwo.work_id = #{workId}
and erwo.del_flag = '0'
ORDER BY create_time DESC
</select>
<insert id="insertEquRepairWorkOrder" parameterType="EquRepairWorkOrder">
insert into equ_repair_work_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="workId != null">work_id,</if>
<if test="orderId != null">order_id,</if>
<if test="workCode != null">work_code,</if>
<if test="orderCode != null">order_code,</if>
<if test="workHandle != null">work_handle,</if>
<if test="workPlanTime != null">work_plan_time,</if>
<if test="workPlanDownTime != null">work_plan_down_time,</if>
<if test="orderRelevance != null">order_relevance,</if>
<if test="workPerson != null">work_person,</if>
<if test="workTeam != null">work_team,</if>
<if test="workOutsource != null">work_outsource,</if>
<if test="workDownMachine != null">work_down_machine,</if>
<if test="equipmentCode != null">equipment_code,</if>
<if test="workReason != null">work_reason,</if>
<if test="workFaultDesc != null">work_fault_desc,</if>
<if test="workStartTime != null">work_start_time,</if>
<if test="workEndTime != null">work_end_time,</if>
<if test="actualDownStartTime != null">actual_down_start_time,</if>
<if test="actualDownEndTime != null">actual_down_end_time,</if>
<if test="workConnection != null">work_connection,</if>
<if test="workCostTime != null">work_cost_time,</if>
<if test="workCost != null">work_cost,</if>
<if test="workStatus != null">work_status,</if>
<if test="outWorkId != null">out_work_id,</if>
<if test="outWorkCode != null">out_work_code,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="delFlag != null">del_flag,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="faultType != null">fault_type,</if>
<if test="equipmentStatusDescription != null">equipment_status_description,</if>
<if test="repairMeasures != null">repair_measures,</if>
<if test="faultDownTime != null">fault_down_time,</if>
<if test="faultStartTime != null">fault_start_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="workId != null">#{workId},</if>
<if test="orderId != null">#{orderId},</if>
<if test="workCode != null">#{workCode},</if>
<if test="orderCode != null">#{orderCode},</if>
<if test="workHandle != null">#{workHandle},</if>
<if test="workPlanTime != null">#{workPlanTime},</if>
<if test="workPlanDownTime != null">#{workPlanDownTime},</if>
<if test="orderRelevance != null">#{orderRelevance},</if>
<if test="workPerson != null">#{workPerson},</if>
<if test="workTeam != null">#{workTeam},</if>
<if test="workOutsource != null">#{workOutsource},</if>
<if test="workDownMachine != null">#{workDownMachine},</if>
<if test="equipmentCode != null">#{equipmentCode},</if>
<if test="workReason != null">#{workReason},</if>
<if test="workFaultDesc != null">#{workFaultDesc},</if>
<if test="workStartTime != null">#{workStartTime},</if>
<if test="workEndTime != null">#{workEndTime},</if>
<if test="actualDownStartTime != null">#{actualDownStartTime},</if>
<if test="actualDownEndTime != null">#{actualDownEndTime},</if>
<if test="workConnection != null">#{workConnection},</if>
<if test="workCostTime != null">#{workCostTime},</if>
<if test="workCost != null">#{workCost},</if>
<if test="workStatus != null">#{workStatus},</if>
<if test="outWorkId != null">#{outWorkId},</if>
<if test="outWorkCode != null">#{outWorkCode},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="faultType != null">#{fault_type},</if>
<if test="equipmentStatusDescription != null">#{equipmentStatusDescription},</if>
<if test="repairMeasures != null">#{repairMeasures},</if>
<if test="faultDownTime != null">#{faultDownTime},</if>
<if test="faultStartTime != null">#{faultStartTime},</if>
</trim>
</insert>
<update id="updateEquRepairWorkOrder" parameterType="EquRepairWorkOrder">
update equ_repair_work_order
<trim prefix="SET" suffixOverrides=",">
<if test="orderId != null">order_id = #{orderId},</if>
<if test="workCode != null">work_code = #{workCode},</if>
<if test="orderCode != null">order_code = #{orderCode},</if>
<if test="workHandle != null">work_handle = #{workHandle},</if>
<if test="workPlanTime != null">work_plan_time = #{workPlanTime},</if>
work_plan_down_time = #{workPlanDownTime},
<if test="orderRelevance != null">order_relevance = #{orderRelevance},</if>
<if test="workPerson != null">work_person = #{workPerson},</if>
<if test="workTeam != null">work_team = #{workTeam},</if>
<if test="workOutsource != null">work_outsource = #{workOutsource},</if>
<if test="workDownMachine != null">work_down_machine = #{workDownMachine},</if>
<if test="equipmentCode != null">equipment_code = #{equipmentCode},</if>
<if test="workReason != null">work_reason = #{workReason},</if>
<if test="workFaultDesc != null">work_fault_desc = #{workFaultDesc},</if>
<if test="workStartTime != null">work_start_time = #{workStartTime},</if>
<if test="workEndTime != null">work_end_time = #{workEndTime},</if>
<if test="actualDownStartTime != null">actual_down_start_time = #{actualDownStartTime},</if>
<if test="actualDownEndTime != null">actual_down_end_time = #{actualDownEndTime},</if>
<if test="workConnection != null">work_connection = #{workConnection},</if>
<if test="workCostTime != null">work_cost_time = #{workCostTime},</if>
<if test="workCost != null">work_cost = #{workCost},</if>
<if test="workStatus != null">work_status = #{workStatus},</if>
<if test="outWorkId != null">out_work_id = #{outWorkId},</if>
<if test="outWorkCode != null">out_work_code = #{outWorkCode},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="faultType != null">fault_type = #{faultType},</if>
<if test="equipmentStatusDescription != null">equipment_status_description = #{equipmentStatusDescription},</if>
<if test="repairMeasures != null">repair_measures = #{repairMeasures},</if>
<if test="faultDownTime != null">fault_down_time = #{faultDownTime},</if>
<if test="faultStartTime != null">fault_start_time = #{faultStartTime},</if>
</trim>
where work_id = #{workId}
and del_flag = '0'
</update>
<update id="updateWorkOutsource" parameterType="EquRepairWorkOrder">
update equ_repair_work_order
set
work_outsource = #{workOutsource},
out_work_code = #{outWorkCode}
where work_id = #{workId}
and del_flag = '0'
</update>
<!--物理删除改为逻辑删除-->
<delete id="deleteEquRepairWorkOrderByWorkId" parameterType="String">
update equ_repair_work_order
set del_flag = '1'
where work_id = #{workId}
</delete>
<!--物理删除改为逻辑删除-->
<delete id="deleteEquRepairWorkOrderByWorkIds" parameterType="String">
update equ_repair_work_order
set del_flag = '1'
where work_id in
<foreach item="workId" collection="array" open="(" separator="," close=")">
#{workId}
</foreach>
</delete>
<!--流水单号-->
<select id="selectWorkCodeSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(work_id)+1 AS serialNum
FROM equ_repair_work_order
</select>
<select id="getMaintenancePersonList" parameterType="EquTeamUser" resultType="com.op.device.domain.EquTeamUser">
select
su.user_id AS userId,
su.user_name AS userName,
su.nick_name AS nickName,
CONCAT(su.nick_name,su.user_name) AS teamUserName,
sp.post_code AS postCode,
sp.post_name AS postName
from sys_user su
left join sys_user_post sup on su.user_id = sup.user_id
left join sys_post sp on sup.post_id = sp.post_id
where su.del_flag = '0'
and sp.post_id = '12'
</select>
<delete id="deleteBaseFileBySourceId">
delete from base_file where source_id = #{sourceId}
</delete>
<select id="getBaseFileBatch" resultMap="BaseFileResult">
<include refid="selectBaseFileVo"/>
where source_id = #{sourceId}
</select>
<select id="selectEquRepairWorkOrderByWorkCode" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult">
<include refid="selectEquRepairWorkOrderVo"/>
where work_code = #{workCode}
and del_flag = '0'
</select>
<insert id="insertBaseFileBatch">
INSERT INTO base_file(file_id, file_name, file_address, source_id, remark, create_by, create_time,image_type)
VALUES
<foreach collection="baseFiles" index="" item="baseFile" separator=",">
(
#{baseFile.fileId},
#{baseFile.fileName},
#{baseFile.fileAddress},
#{baseFile.sourceId},
#{baseFile.remark},
#{baseFile.createBy},
#{baseFile.createTime},
#{baseFile.imageType}
)
</foreach>
</insert>
<update id="updateWorkStatus" parameterType="EquRepairWorkOrder">
update equ_repair_work_order
set
work_status = '1'
where work_code = #{repairCode}
and del_flag = '0'
</update>
<update id="updateEquipmentStatus" parameterType="com.op.device.domain.EquEquipment">
update base_equipment
set equipment_status = #{equipmentStatus}
where equipment_code = #{equipmentCode}
and del_flag = '0'
</update>
</mapper>