|
|
<?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.xujie.sys.modules.pms.mapper.EamMapper">
<select id="eamAdminSearch" parameterType="com.xujie.sys.modules.pms.data.EamAdminData" resultType="com.xujie.sys.modules.pms.data.EamAdminData"> SELECT ea.Site, ea.AdminID, ea.AdminName, ea.Phone, ea.Email, ea.Tel, ea.LevelID, eal.AdminLevelDesc, ea.MesUser, ea.Active, ea.CreatedDate, ea.created_by, ea.update_date, ea.update_by FROM eam_admin as ea LEFT JOIN eam_adminLevel as eal ON ea.LevelID = eal.AdminLevelID and ea.site = eal.site <where> <if test="query.site != null and query.site != ''"> AND ea.site = #{query.site} </if> <if test="query.adminID != null and query.adminID != ''"> AND ea.adminID like '%' + #{query.adminID} +'%' </if> <if test="query.adminName != null and query.adminName != ''"> AND ea.adminName like '%' + #{query.adminName}+'%' </if> <if test="query.active != null and query.active != ''"> AND ea.active = #{query.active} </if> </where></select>
<select id="eamFamilySearch" parameterType="com.xujie.sys.modules.pms.data.EamFamilyData" resultType="com.xujie.sys.modules.pms.data.EamFamilyData"> SELECT Site, FamilyID, FamilyDesc, Active, create_date, create_by, update_date, update_by FROM eam_family <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.familyID != null and query.familyID != ''"> AND familyID like '%' + #{query.familyID} +'%' </if> <if test="query.familyDesc != null and query.familyDesc != ''"> AND familyDesc like '%' + #{query.familyDesc} +'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select>
<select id="eamGroupSearch" parameterType="com.xujie.sys.modules.pms.data.EamGroupData" resultType="com.xujie.sys.modules.pms.data.EamGroupData"> SELECT Site, GroupID, GroupDesc, Active, create_date, create_by, update_date, update_by FROM eam_group <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.groupID != null and query.groupID != ''"> AND groupID like '%' + #{query.groupID} </if> <if test="query.groupDesc != null and query.groupDesc != ''"> AND groupDesc like '%' + #{query.groupDesc} </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select>
<select id="eamLocationSearch" parameterType="com.xujie.sys.modules.pms.data.EamLocationData" resultType="com.xujie.sys.modules.pms.data.EamLocationData"> SELECT Site, LocationID, LocationName, Active, create_date, create_by, update_date, update_by FROM eam_location <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.locationID != null and query.locationID != ''"> AND locationID like '%' + #{query.locationID} +'%' </if> <if test="query.locationName != null and query.locationName != ''"> AND locationName like '%' + #{query.locationName} +'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select>
<select id="eamManufacturerSearch" parameterType="com.xujie.sys.modules.pms.data.EamManufacturerData" resultType="com.xujie.sys.modules.pms.data.EamManufacturerData"> SELECT Site, ManufacturerID, ManufacturerName, Active, Contact, Phone, Address, Email, Remark, create_date, create_by, update_date, update_by FROM eam_manufacturer <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.manufacturerID != null and query.manufacturerID != ''"> AND manufacturerID like '%' + #{query.manufacturerID} +'%' </if> <if test="query.manufacturerName != null and query.manufacturerName != ''"> AND manufacturerName like '%' + #{query.manufacturerName} +'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select>
<select id="eamAdminLevelSearch" parameterType="com.xujie.sys.modules.pms.data.EamAdminLevelData" resultType="com.xujie.sys.modules.pms.data.EamAdminLevelData"> SELECT Site, AdminLevelID, AdminLevelDesc, Active, create_date, create_by, update_date, update_by FROM eam_adminLevel <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.adminLevelID != null and query.adminLevelID != ''"> AND adminLevelID like '%' + #{query.adminLevelID} +'%' </if> <if test="query.adminLevelDesc != null and query.adminLevelDesc != ''"> AND adminLevelDesc like '%' + #{query.adminLevelDesc}+'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select><select id="eamSupplierSearch" parameterType="com.xujie.sys.modules.pms.data.EamSupplierData" resultType="com.xujie.sys.modules.pms.data.EamSupplierData"> SELECT Site, SupplierID, SupplierName, [Group], Active, Contact, Phone, Address, Email, Remark, create_date, create_by, update_date, update_by FROM eam_supplier <where> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.supplierID != null and query.supplierID != ''"> AND supplierID like '%' + #{query.supplierID} +'%' </if> <if test="query.supplierName != null and query.supplierName != ''"> AND supplierName like '%' + #{query.supplierName} +'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where></select>
<select id="searchItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemAvailableData"> SELECT ItemNo,ValueNo,AvailableValue,CreatedDate,CreatedBy,ItemType from eam_properties_item_available where itemNo=#{itemNo} and ItemType=#{itemType}</select>
<select id="getItemValueNo" resultType="Double"> SELECT isnull( max(valueNo),0)+1 from eam_properties_item_available where itemNo=#{itemNo} and ItemType=#{itemType}</select><select id="getItemValueNoForPlan" resultType="Double"> SELECT isnull( max(valueNo),0)+1 from eam_workPlan_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and site=#{site} and PlanID=#{planID}</select><insert id="saveItemAvailable"> insert into eam_properties_item_available (ItemNo,ValueNo,AvailableValue,CreatedDate,CreatedBy,ItemType) values(#{itemNo},#{valueNo},#{availableValue},GetDate(),#{createdBy},#{itemType})</insert>
<update id="updateItemAvailable"> update eam_properties_item_available set AvailableValue=#{availableValue} where itemNo=#{itemNo} and ItemType=#{itemType} and ValueNo=#{valueNo}</update>
<delete id="deleteItemAvailable"> delete from eam_properties_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and ValueNo=#{valueNo}</delete>
<select id="eamPropertiesModelSearch" parameterType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData" resultType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData"> SELECT function_type, code_no, code_desc, active, created_date, created_by, update_date, update_by, delflag, version FROM eam_properties_model_header <where> <if test="query.codeNo != null and query.codeNo != ''"> AND code_no like '%' + #{query.codeNo} +'%' </if> <if test="query.codeDesc != null and query.codeDesc != ''"> AND code_desc like '%' + #{query.codeDesc}+'%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> and function_type =#{query.functionType} </where></select>
<insert id="eamPropertiesModelSave" > insert into eam_properties_model_header (function_type, code_no, code_desc, active, created_date, created_by, delflag, version, update_date, update_by) values(#{functionType}, #{codeNo}, #{codeDesc}, #{active}, GetDate(), #{userId}, 'N', 0, getDate(), #{updateBy})</insert>
<update id="eamPropertiesModelEdit"> update eam_properties_model_header set version = version + 1, code_desc = #{codeDesc}, active = #{active}, update_by = #{updateBy}, update_date = GetDate() where function_type = #{functionType} and code_no = #{codeNo}</update>
<select id="checkPropertiesModel" resultType="EamPropertiesModelHeaderData"> SELECT function_type,code_no,code_desc,active,created_date,created_by,update_date,update_by,delflag,version FROM eam_properties_model_header where function_type=#{functionType} and code_no=#{codeNo}</select>
<delete id="eamPropertiesModelDelete" > delete from eam_properties_model_header where function_type=#{functionType} and code_no=#{codeNo}</delete>
<select id="searchModalDetails" resultType="EamPropertiesModelDetailData"> SELECT a.function_type,a.code_no,a.properties_item_no itemNo,a.seq_no,b.ItemDesc ,b.DefaultValue,b.ValueType,b.ValueType_DB,b.ValueChooseFlag,b.MaxValue,b.MinValue,b.ItemRemark,b.ItemType FROM eam_properties_model_detail a left join eam_properties_item b on a.function_type=b.itemType and a.properties_item_no=b.itemNo where a.function_type=#{functionType} and a.code_no=#{codeNo}</select>
<select id="checkItem" resultType="EamPropertiesModelDetailData"> SELECT ItemDesc FROM eam_properties_item where itemType = #{functionType} and itemNo = #{itemNo}</select>
<select id="checkModalDetails" resultType="EamPropertiesModelDetailData"> SELECT a.function_type, a.code_no, a.properties_item_no itemNo, a.seq_no FROM eam_properties_model_detail a where a.function_type = #{functionType} and a.code_no = #{codeNo} and properties_item_no = #{itemNo}</select>
<select id="getModalDetailSeqNo" resultType="Integer"> SELECT isnull(max(seq_no),0) + 1 from eam_properties_model_detail where function_type = #{functionType} and code_no = #{codeNo}</select>
<insert id="saveModalDetails" > insert into eam_properties_model_detail (function_type,code_no,properties_item_no,seq_no,created_date,created_by,delflag,version) values (#{functionType}, #{codeNo}, #{itemNo}, #{seqNo}, GetDate(), #{userId}, 'N', 0)</insert>
<delete id="deleteModalDetails" > delete from eam_properties_model_detail where function_type = #{functionType} and code_no = #{codeNo} and properties_item_no = #{itemNo}</delete>
<select id="eamWorkPlanOverviewSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkPlanInData" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData"> SELECT a.site, a.plan_id, a.plan_desc, a.status, a.plan_start_date, a.plan_end_date, a.created_date, a.created_by, a.update_date, a.update_by, a.remark, a.next_work_date, a.delete_flag, a.operator, a.operator_name, a.checker, a.checker_name, a.function_type, a.properties_code, a.plan_period, d.code_desc, a.work_order_rule, a.plan_cycle FROM eam_workPlan_overview a LEFT JOIN eam_properties_model_header d ON a.function_type = d.function_type and a.properties_code = d.code_no <where> a.delete_flag = 'N' AND a.function_type = #{query.functionType} <if test="query.planID != null and query.planID != ''"> AND a.plan_id like '%' + #{query.planID} +'%' </if> <if test="query.planDesc != null and query.planDesc != ''"> AND a.plan_desc like '%' + #{query.planDesc}+'%' </if> <if test="query.status != null and query.status != ''"> AND a.status = #{query.status} </if> <if test="query.startDate != null "> AND a.plan_start_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.plan_start_date </if> </where> ORDER BY a.created_date DESC </select>
<select id="eamWorkPlanSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkPlanInData" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData"> SELECT a.Site, a.PlanID, a.PlanDesc, a.ObjectID, a.FunctionType, a.PropertiesCode, a.Operator, a.checker, a.PlanPeriod, a.Status, a.PlanStartDate, a.PlanEndDate, a.CreatedDate, a.CreatedBy, a.UpdateDate, a.UpdateBy, a.Version, a.Remark, a.NextWorkDate, b.ObjectDesc, d.code_desc FROM eam_workPlan a left join eam_object b on a.Site = b.Site and a.ObjectID = b.ObjectID left join eam_properties_model_header d on a.FunctionType = d.function_type and a.PropertiesCode = d.code_no <where> AND a.DeleteFlag = 'N' AND a.FunctionType = #{query.functionType} <if test="query.planID != null and query.planID != ''"> AND a.PlanID like '%' + #{query.planID} +'%' </if> <if test="query.planDesc != null and query.planDesc != ''"> AND a.PlanDesc like '%' + #{query.planDesc}+'%' </if> <if test="query.status != null and query.status != ''"> AND a.status = #{query.status} </if> <if test="query.startDate != null "> AND a.PlanStartDate >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.PlanStartDate </if> </where></select>
<select id="selectNameById" resultType="string" parameterType="string"> SELECT AdminName FROM eam_admin WHERE AdminID = #{s} </select>
<select id="searchPlanItems" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanItemData"> SELECT a.Site, a.PlanID, a.ItemNo, a.ItemDesc, a.DefaultValue, a.ValueType, a.ValueType_DB, a.ValueChooseFlag, a.UpdateDate, a.UpdateBy, a.MaxValue, a.MinValue, a.ItemRemark, a.ItemType, a.CreatedDate, a.CreatedBy, a.ObjectID FROM eam_workPlan_item a <where> and a.PlanID = #{planID} and a.Site = #{site} and a.ItemType = #{functionType} <if test = "objectID != null and objectID != ''"> AND a.ObjectID = #{objectID} </if> </where></select>
<select id="searchPlanItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanItemAvailableData"> SELECT Site, PlanID, ItemNo, ItemType, ValueNo, AvailableValue, CreatedDate, CreatedBy, UpdateDate, UpdateBy, ObjectID from eam_workPlan_item_available where PlanID = #{planID} and itemNo = #{itemNo} and site = #{site} and ItemType = #{itemType} and ObjectID = #{objectID}</select>
<update id="updatePlanItems"> update eam_workPlan_item set DefaultValue = #{defaultValue}, ValueType = #{valueType}, ValueType_DB = #{valueTypeDb}, ValueChooseFlag = #{valueChooseFlag}, UpdateDate = GetDate(), UpdateBy = #{createdBy}, MaxValue = #{maxValue,jdbcType=FLOAT}, MinValue = #{minValue,jdbcType=FLOAT}, ItemRemark = #{itemRemark} where site = #{site} and planID = #{planID} and ItemType = #{itemType} and ItemNo = #{itemNo} and ObjectID = #{objectID}</update><update id="updatePlanItemsForNull"> update eam_workPlan_item set DefaultValue=#{defaultValue},ValueType=#{valueType},ValueType_DB=#{valueTypeDb} ,ValueChooseFlag=#{valueChooseFlag},UpdateDate=GetDate(),UpdateBy=#{createdBy},MaxValue=null,MinValue=null, ItemRemark=#{itemRemark} where site=#{site} and planID=#{planID} and ItemType=#{itemType} and ItemNo=#{itemNo}</update>
<insert id="saveItemAvailableForPlan"> insert into eam_workPlan_item_available (Site,PlanID,ItemNo,ValueNo,AvailableValue,CreatedDate,CreatedBy,ItemType,ObjectID) values(#{site},#{planID},#{itemNo},#{valueNo},#{availableValue},GetDate(),#{createdBy},#{itemType},#{objectID})</insert>
<update id="updateItemAvailableForPlan"> update eam_workPlan_item_available set AvailableValue = #{availableValue}, updateBy = #{createdBy}, updateDate = GetDate() where itemNo = #{itemNo} and ItemType = #{itemType} and ValueNo = #{valueNo} AND site = #{site} and planID = #{planID} and ObjectID = #{objectID}</update>
<delete id="deletePlanItemAvailable"> delete from eam_workPlan_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and ValueNo=#{valueNo} AND site=#{site} and planID=#{planID} and ObjectID = #{objectID} </delete>
<select id="objectIDBlur" resultType="com.xujie.sys.modules.pms.data.EamObjectData"> select objectID,ObjectDesc from eam_object where active='Y' and Site=#{site} and ObjectID=#{objectID} </select> <select id="modalCodeBlur" resultType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData"> select code_no,code_desc from eam_properties_model_header where active='Y' and function_type=#{functionType} and code_no=#{codeNo} </select>
<select id="eamWorkOrderSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkOrderInData" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData"> SELECT a.Site, a.OrderNo, a.PlanID, a.PlanDesc, a.PropertiesCode, a.ObjectID, a.Status, a.PlanOperator, a.checker, a.ActualOperator, a.PlanDate, a.ActualDate, a.FunctionType, a.CreateDate, a.CreateBy, a.Remark, a.StartTime, a.EndTime, a.WorkTime, a.PlanOperatorName, a.checkerName, dbo.eam_Get_eamAdminName(a.Site,a.ActualOperator) ActualOperatorName, dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) objectDesc, dbo.eam_Get_eam_properties_CodeDesc(a.FunctionType,a.PropertiesCode) codeDesc, a.result, b.urgency, a.checkResult, b.DefectID, c.DefectDesc, a.disposal_measures FROM eam_workOrder a LEFT JOIN eam_defect_feedBack b on a.site = b.site and a.PlanID = b.feedBackID LEFT JOIN eam_defect c on b.DefectID = c.DefectID <where> and a.Site = #{query.site} <if test="query.orderNo != null and query.orderNo != ''"> AND a.OrderNo like '%' + #{query.orderNo} +'%' </if> <if test="query.planID != null and query.planID != ''"> AND a.PlanID like '%' + #{query.planID} +'%' </if> <if test="query.planDesc != null and query.planDesc != ''"> AND a.PlanDesc like '%' + #{query.planDesc} +'%' </if> <if test="query.objectID != null and query.objectID != ''"> AND a.ObjectID like '%' + #{query.objectID} +'%' </if> <if test="query.planOperatorName != null and query.planOperatorName != ''"> AND a.PlanOperatorName like '%' + #{query.planOperatorName} +'%' </if> <if test="query.status != null and query.status != ''"> AND a.status = #{query.status} </if> <if test="query.planDate != null"> AND a.PlanDate = #{query.planDate} </if> <if test="query.startDate != null "> AND a.PlanDate >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.PlanDate </if> <if test="query.endDate == null "> AND getDate() >= a.PlanDate </if> AND a.FunctionType = #{query.functionType} </where> ORDER BY a.CreateDate, CASE WHEN b.urgency = '事故' THEN 1 WHEN b.urgency = '紧急' THEN 2 WHEN b.urgency = '正常' THEN 3 END</select>
<select id="eamWorkOrderSearchForDefect" parameterType="com.xujie.sys.modules.pms.data.EamWorkOrderInData" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData"> SELECT a.Site, a.OrderNo, a.PlanID, a.ObjectID, a.Status, a.PlanOperator, a.ActualOperator, a.PlanDate, a.ActualDate, a.FunctionType, a.CreateDate, a.CreateBy, a.Remark, a.StartTime, a.EndTime, a.WorkTime, dbo.eam_Get_eamAdminName(a.Site,a.PlanOperator) PlanOperatorName, b.DefectID, c.DefectDesc, dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) ObjectDesc, dbo.eam_Get_eam_properties_CodeDesc(a.FunctionType,a.PropertiesCode) codeDesc, a.result, b.urgency, a.disposal_measures, a.difficulty_level, a.difficulty_remark FROM eam_workOrder a left join eam_defect_feedBack b on a.site = b.site and a.PlanID = b.feedBackID left join eam_defect c on b.DefectID = c.DefectID <where> and a.Site = #{query.site} <if test="query.orderNo != null and query.orderNo != ''"> AND a.OrderNo like '%' + #{query.orderNo} +'%' </if> <if test="query.planID != null and query.planID != ''"> AND a.PlanID like '%' + #{query.planID} +'%' </if> <if test="query.objectID != null and query.objectID != ''"> AND a.ObjectID like '%' + #{query.objectID} +'%' </if> <if test="query.planOperator != null and query.planOperator != ''"> AND a.PlanOperator like '%' + #{query.planOperator} +'%' </if> <if test="query.status != null and query.status != ''"> AND a.status=#{query.status} </if> <if test="query.startDate != null "> AND a.PlanDate >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.PlanDate </if> and a.FunctionType =#{query.functionType} </where> ORDER BY a.PlanDate, CASE WHEN b.urgency = '事故' THEN 1 WHEN b.urgency = '紧急' THEN 2 WHEN b.urgency = '正常' THEN 3 END</select>
<select id="eamDefectSearch" parameterType="com.xujie.sys.modules.pms.data.EamDefectData" resultType="com.xujie.sys.modules.pms.data.EamDefectData"> SELECT DefectID, DefectDesc, Active, create_date, create_by, update_date, update_by, fault_type FROM eam_defect <where> <if test="query.defectID != null and query.defectID != ''"> AND defectID like '%' + #{query.defectID} + '%' </if> <if test="query.defectDesc != null and query.defectDesc != ''"> AND defectDesc like '%' + #{query.defectDesc} + '%' </if> <if test="query.active != null and query.active != ''"> AND active = #{query.active} </if> </where> order by id</select>
<select id="eamObjectDefectSearch" parameterType="com.xujie.sys.modules.pms.data.EamObjectDefectInData" resultType="com.xujie.sys.modules.pms.data.EamObjectDefectInData"> SELECT a.site, a.ObjectID, a.DefectID, a.Active, a.id, b.ObjectDesc, c.DefectDesc, a.create_date, a.create_by, a.update_date, a.update_by FROM eam_object_defect a left join eam_object b on a.site=b.site and a.ObjectID=b.ObjectID left join eam_defect c on a.DefectID=c.DefectID <where> <if test="query.objectID != null and query.objectID != ''"> AND a.ObjectID like '%' + #{query.objectID} + '%' </if> <if test="query.objectDesc != null and query.objectDesc != ''"> AND b.ObjectDesc like '%' + #{query.objectDesc} + '%' </if> <if test="query.defectID != null and query.defectID != ''"> AND a.defectID like '%' + #{query.defectID} + '%' </if> <if test="query.defectDesc != null and query.defectDesc != ''"> AND c.defectDesc like '%' + #{query.defectDesc} + '%' </if> <if test="query.active != null and query.active != ''"> AND a.active = #{query.active} </if> </where> order by a.id</select><select id="getObjectList" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData" resultType="com.xujie.sys.modules.pms.data.EamObjectInData"> SELECT a.Site, a.ObjectID, a.ObjectDesc, a.LocationID, a.FamilyID, a.GroupID, b.FamilyDesc, c.LocationName FROM eam_object a LEFT JOIN eam_family b ON a.site = b.site and a.FamilyID = b.FamilyID LEFT JOIN eam_location as c ON a.LocationID = c.LocationID <where> <if test="objectID != null and objectID != ''"> AND a.ObjectID like '%' + #{objectID} + '%' </if> <if test="objectDesc != null and objectDesc != ''"> AND a.ObjectDesc like '%' + #{objectDesc} + '%' </if> AND a.site = #{site} AND a.active = 'Y' </where>
</select>
<select id="checkEamFamilyDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData"> SELECT site ,objectID from eam_object where site=#{site} and FamilyID=#{familyID}</select>
<select id="checkEamGroupDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData"> SELECT site ,objectID from eam_object where site=#{site} and GroupID=#{groupID}</select>
<select id="checkEamLocationDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData"> SELECT site ,objectID from eam_object where site=#{site} and LocationID=#{locationID}</select>
<select id="eamWorkPlanItemSearchForReport" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderItemInData"> SELECT Site, #{orderNo} as orderNo, ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, MaxValue, MinValue, ItemRemark, ItemType from eam_workPlan_item where site = #{site} and planID = #{planID} AND ObjectID = #{objectID}</select>
<select id="checkEamOrderStatus" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData"> SELECT Site, status, OrderNo from eam_workOrder where site = #{site} and orderNo = #{orderNo}</select>
<select id="getAdminIDWithMesUser" resultType="com.xujie.sys.modules.pms.data.EamAdminData"> SELECT adminID from eam_admin where site=#{site} and mesUser=#{mesUser} and active='Y'</select>
<update id="updateDefectResult" > update eam_defect_feedBack set Status = #{result}, FinishDate = GetDate(), DefectID = #{defectID} where Site = #{site} and FeedBackID = #{planID} </update>
<update id="reportWorkOrder" > update eam_workOrder set Status = '待审核', ActualOperator = #{actualOperator}, ActualDate = GetDate(), Remark = #{remark}, disposal_measures = #{disposalMeasures}, WorkTime = #{workTime}, result = #{result,jdbcType=VARCHAR}, checkResult = #{checkResult} where site = #{site} and orderNo = #{orderNo} </update>
<update id="defectReportWorkOrder" > update eam_workOrder set Status = '已完工', ActualOperator = #{actualOperator}, ActualDate = GetDate(), Remark = #{remark}, disposal_measures = #{disposalMeasures}, WorkTime = #{workTime}, result = #{result,jdbcType=VARCHAR}, checkResult = #{checkResult} where site = #{site} and orderNo = #{orderNo} </update> <insert id="saveWorkOrderItem"> INSERT into eam_workOrder_item (Site,OrderNo,ItemNo,ItemDesc,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,MaxValue,MinValue,ItemRemark,ItemType,TextValue,NumberValue,CreatedDate,CreatedBy,FinishFlag,itemResult) values (#{site},#{orderNo},#{itemNo},#{itemDesc},#{defaultValue},#{valueType},#{valueTypeDb},#{valueChooseFlag},#{maxValue,jdbcType=DOUBLE},#{minValue,jdbcType=DOUBLE},#{itemRemark,jdbcType=VARCHAR},#{itemType},#{textValue,jdbcType=VARCHAR},#{numberValue,jdbcType=DOUBLE},GetDate(),#{createdBy},#{finishFlag},#{itemResult}) </insert> <!-- 修改 eam_workPlan 状态为已结束 --> <update id="closePlanWithCheck"> update eam_workPlan set status = '已结束' where site = #{site} and PlanID = #{planID} and ObjectID = #{objectID} and GetDate() > PlanEndDate </update>
<!-- 报工后更新下一个工作日期 --><update id="updatePlanNextDate"> update eam_workPlan_overview set next_work_date = (select top 1 PlanDate from eam_workOrder where site = #{site} and PlanID = #{planID} and PlanDate > GetDate() and status = '未开工' order by PlanDate) where site = #{site} and plan_id = #{planID}</update>
<select id="eamWorkOrderReportSearch" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderItemInData"> SELECT Site, OrderNo, ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, MaxValue, MinValue, ItemRemark, ItemType, TextValue, NumberValue, CreatedDate, CreatedBy, FinishFlag, itemResult from eam_workOrder_item where site = #{site} and orderNo = #{orderNo}</select>
<update id="cancelOrder"> update eam_workOrder set Status = '已取消' where site = #{site} and orderNo = #{orderNo} </update>
<select id="checkPlanStatus" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData"> SELECT site, status from eam_workPlan_overview where site = #{site} and plan_id = #{planID} and delete_flag = 'N' </select>
<update id="planOrder"> update eam_workPlan set Status = '已计划', NextWorkDate = null where site = #{site} and PlanID = #{planID} and deleteFlag = 'N' </update>
<update id="cancelPlan"> update eam_workPlan_overview set status = '已取消', next_work_date = null where site = #{site} and plan_id = #{planID} and delete_flag = 'N' </update>
<update id="updateWorkPlanStatus"> update eam_workPlan set Status = '已取消', NextWorkDate = null where Site = #{site} and PlanID = #{planID} and deleteFlag = 'N' </update>
<update id="cancelOrderWithPlanID"> update eam_workOrder set Status = '已取消' where site = #{site} and PlanID = #{planID} and status = '未开工' </update>
<update id="deleteOrderDetailWithPlanID"> delete from eam_workOrder_item where site = #{site} and OrderNo in (select OrderNo from eam_workOrder where site = #{site} and PlanID = #{planID} and status = '未开工' and PlanDate > GetDate() - 1 ) </update>
<update id="deleteOrderWithPlanID"> delete from eam_workOrder where site = #{site} and PlanID = #{planID} and status = '未开工' and PlanDate > GetDate() - 1 </update>
<update id="updateOrderPlanOperator"> update eam_workOrder set PlanOperator = #{planOperator} where site = #{site} and orderNo = #{orderNo} </update>
<select id="getSpareSelectList" resultType="com.xujie.sys.modules.pms.data.PartSpareInData"> select a.site ,a.part_no,a.part_description,a.spec,b.resource_id objectID from part_spare a left join resource_spare b on a.site = b.site and a.part_no = b.part_no and resource_id = #{objectID} <where> <if test="partNo != null and partNo != ''"> AND a.part_no like '%' + #{partNo} + '%' </if> <if test="partDescription != null and partDescription != ''"> AND a.part_description like '%' + #{partDescription} + '%' </if> and a.site=#{site} and a.active='Y' </where> </select>
<select id="checkPartSpare" resultType="com.xujie.sys.modules.pms.data.PartSpareInData"> select part_no from resource_spare where site = #{site} and resource_id = #{objectID} and part_no = #{partNo} </select>
<insert id="savePartSpare" > INSERT Into resource_spare (resource_id,part_no,delflag,version,site) values(#{objectID},#{partNo},'',0,#{site}) </insert>
<delete id="deletePartSpare"> delete from resource_spare where resource_id = #{objectID} and site = #{site} </delete>
<insert id="copyPartSpare" > INSERT Into resource_spare (resource_id,part_no,delflag,version,site) select #{objectID},part_no,delflag,0,site from resource_spare where resource_id=#{oldObjectID} and site=#{site} </insert>
<select id="getWorkPlanDataWithObjectID" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData"> SELECT a.Site,a.PlanID,a.PlanDesc,a.ObjectID,a.FunctionType,a.PropertiesCode,a.Operator,a.PlanPeriod,a.Status, a.PlanStartDate,a.PlanEndDate,a.CreatedDate,a.CreatedBy,a.UpdateDate,a.UpdateBy,a.Version,a.Remark ,a.NextWorkDate,b.ObjectDesc,c.adminName,d.code_desc
FROM eam_workPlan a left join eam_object b on a.Site=b.Site and a.ObjectID=b.ObjectID left join eam_admin c on a.Site=c.Site and a.operator=c.AdminID left join eam_properties_model_header d on a.FunctionType=d.function_type and a.PropertiesCode=d.code_no where a.site=#{site} and a.ObjectID=#{objectID} and a.FunctionType=#{functionType} and a.DeleteFlag='N' and status in ('已计划','进行中')</select>
<select id="getObjectItemList" resultType="com.xujie.sys.modules.pms.data.EamObjectItemInData"> SELECT a.site,a.objectID,a.ItemNo,a.DefaultValue,a.ValueType,a.ValueType_DB,a.ValueChooseFlag,a.CreatedDate,a.CreatedBy, a.MaxValue,a.MinValue,a.ItemType,b.ItemDesc,b.ItemRemark from eam_object_item a left join eam_properties_item b on a.ItemNo=b.ItemNo and a.ItemType=b.ItemType where a.site=#{site} and a.ObjectID=#{objectID} and a.ItemType=#{itemType}</select>
<select id="getDefectWithObject" resultType="com.xujie.sys.modules.pms.data.EamObjectDefectInData"> SELECT a.site,a.ObjectID,a.DefectID,a.Active,a.id,b.DefectDesc from eam_object_defect a left join eam_defect b on a.DefectID=b.DefectID where a.site=#{site} and a.ObjectID=#{objectID}
</select>
<select id="checkEamObjectItemData" resultType="com.xujie.sys.modules.pms.data.EamObjectItemInData"> select site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue, ItemType from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}</select>
<insert id="saveNewEamObjectItem" > insert into eam_object_item (site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue, ItemType) values(#{site},#{objectID},#{itemNo},#{defaultValue},#{valueType},#{valueTypeDb},#{valueChooseFlag},GetDate(),#{userId},#{maxValue,jdbcType=DOUBLE},#{minValue,jdbcType=DOUBLE},#{itemType})</insert>
<update id="editEamObjectItem"> update eam_object_item set DefaultValue=#{defaultValue},ValueType=#{valueType},ValueType_DB=#{valueTypeDb} ,ValueChooseFlag=#{valueChooseFlag},MaxValue=#{maxValue,jdbcType=FLOAT},MinValue=#{minValue,jdbcType=FLOAT}
where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}</update>
<delete id="deleteObjectItem"> delete from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}</delete>
<insert id="saveNewEamObjectItemAvailable"> insert into eam_object_item_available (Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy) select #{site},#{objectID},ItemNo,ItemType,ValueNo,AvailableValue,GetDate() ,#{userId} from eam_properties_item_available where ItemNo=#{itemNo} and ItemType=#{itemType}</insert>
<delete id="deleteEamObjectItemAvailable"> delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}</delete><select id="searchObjectItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamObjectItemAvailableData"> select Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}</select><select id="getItemValueNoForObject" resultType="Double"> SELECT isnull( max(valueNo),0)+1 from eam_object_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and site=#{site} and objectID=#{objectID}</select>
<insert id="saveObjectItemAvailable"> insert into eam_object_item_available(Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy) values(#{site},#{objectID},#{itemNo},#{itemType},#{valueNo},#{availableValue},GetDate(),#{createdBy})</insert><update id="updateObjectItemAvailable"> update eam_object_item_available set AvailableValue=#{availableValue},updateDate=GetDate(),updateBy=#{createdBy} where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo} and ValueNo=#{valueNo}</update>
<delete id="deleteObjectItemAvailable"> delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo} and ValueNo=#{valueNo}</delete>
<delete id="deleteObjectItemForCopy"> delete from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}</delete><delete id="deleteObjectItemAvailableForCopy"> delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}</delete><insert id="copyObjectItem" > insert into eam_object_item (site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue, ItemType) select #{site},#{objectID},ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,GetDate(),#{createBy},MaxValue,MinValue,ItemType from eam_object_item where site=#{site} and objectID=#{oldObjectID} and ItemType=#{itemType}</insert><insert id="copyObjectItemAvailable"> insert into eam_object_item_available(Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy) select #{site},#{objectID},ItemNo,ItemType,ValueNo,AvailableValue,GetDate(),#{createBy} from eam_object_item_available where site=#{site} and objectID=#{oldObjectID} and ItemType=#{itemType}</insert><delete id="deleteObjectDefectForCopy"> delete from eam_object_defect where site=#{site} and objectID=#{objectID}</delete>
<insert id="copyObjectDefect"> insert into eam_object_defect(site,ObjectID,DefectID,Active) select #{site},#{objectID},DefectID,Active from eam_object_defect where site=#{site} and objectID=#{oldObjectID}</insert>
<select id="eamFeedBackSearch" resultType="com.xujie.sys.modules.pms.data.EamDefectFeedBackInData"> select a.Site, a.FeedBackID, a.FeedBackDesc, a.ObjectID, a.DefectID, a.FunctionType, a.PlanOperator, a.ActualOperator, a.Status, a.PlanDate, a.Remark, a.urgency, a.deleteFlag, a.CreatedDate, a.CreatedBy, a.UpdateDate, a.UpdateBy, a.Version, a.DefectDate, dbo.eam_Get_eamAdminName(a.Site,a.PlanOperator) PlanOperatorName, b.defectDesc, dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) ObjectDesc, FinishDate from eam_defect_feedBack a left join eam_defect b on a.DefectID = b.DefectID <where> and a.Site = #{query.site} <if test="query.feedBackID != null and query.feedBackID != ''"> AND a.feedBackID like '%' + #{query.feedBackID} +'%' </if> <if test="query.defectDesc != null and query.defectDesc != ''"> AND b.defectDesc like '%' + #{query.defectDesc} +'%' </if> <if test="query.objectID != null and query.objectID != ''"> AND a.ObjectID like '%' + #{query.objectID} +'%' </if> <if test="query.planOperator != null and query.planOperator != ''"> AND a.PlanOperator like '%' + #{query.planOperator} +'%' </if> <if test="query.status != null and query.status != ''"> AND a.status = #{query.status} </if> <if test="query.startDate != null "> AND a.defectDate > #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} > a.defectDate </if> and a.FunctionType = #{query.functionType} </where> ORDER BY a.DefectDate, CASE WHEN a.urgency = '事故' THEN 1 WHEN a.urgency = '紧急' THEN 2 WHEN a.urgency = '正常' THEN 3 END </select>
<select id="eamFeedBackCheck" resultType="com.xujie.sys.modules.pms.data.EamDefectFeedBackInData"> select Site,FeedBackID,FeedBackDesc,ObjectID,DefectID,Status from eam_defect_feedBack where FeedBackID=#{feedBackID} and site=#{site}</select>
<update id="cancelFeedBack" > update eam_defect_feedBack set status='已取消' where FeedBackID=#{feedBackID} and site=#{site}
</update>
<update id="updateFeedBack"> update eam_defect_feedBack set status = '已下达', PlanOperator = #{planOperator}, UpdateDate = GetDate(), UpdateBy = #{updateBy} where FeedBackID = #{feedBackID} and site = #{site} </update>
<insert id="saveDefectOrder"> INSERT INTO eam_workOrder (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType, CreateDate, CreateBy) values(#{site}, (select 'X'+ Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site=#{site} and FunctionType='C' ), #{feedBackID}, '', #{objectID}, '未开工', #{planOperator}, #{planDate}, 'C', GetDate(), #{userId}) </insert>
<select id="getItemLists" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemData"> SELECT a.itemNo, a.ItemDesc, a.ItemRemark FROM eam_properties_item a LEFT JOIN eam_properties_model_detail b on b.function_type = #{functionType} and b.code_no = #{codeNo} and b.properties_item_no = a.ItemNo <where> a.ItemType = #{functionType} AND b.code_no is null <if test = "itemNo != null and itemNo != ''"> AND a.ItemNo LIKE '%' + #{itemNo} + '%' </if> <if test = "itemDesc != null and itemDesc != ''"> AND a.ItemDesc LIKE '%' + #{itemDesc} + '%' </if> </where> </select>
<select id="getModelItemLists" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemData"> select a.properties_item_no itemNo, b.ItemDesc, b.ItemRemark from eam_properties_model_detail a left join eam_properties_item b on a.properties_item_no = b.ItemNo and a.function_type = b.ItemType where a.code_no = #{codeNo} and a.function_type = #{functionType} </select>
<delete id="deleteObjectFile"> delete from sys_oss where id = #{id} </delete>
<select id="checkSparPartImage" resultType="SysOssEntity" parameterType="EamWorkOrderInData"> SELECT id, url, create_date, file_name, new_file_name, created_by, order_ref1, order_ref2, order_ref3, file_type, file_suffix, file_type_code FROM sys_oss WHERE order_ref2 = #{orderNo} AND order_ref1 = #{site} AND order_ref3 = 'reportSparPart' </select>
<!-- 获取机修人员列表 --> <select id="getOperatorList" resultType="EamAdminData" parameterType="EamAdminData"> SELECT ea.AdminID, ea.AdminName, ea.Phone, ea.Department, ea.Email, ea.Tel, ea.LevelID, eal.AdminLevelDesc, ea.MesUser, ea.Active, ea.CreatedDate FROM eam_admin as ea LEFT JOIN eam_adminLevel as eaL ON ea.LevelID = eal.AdminLevelID <where> ea.Active = 'Y' AND ea.Site = #{site} <if test = "adminID != null and adminID != ''"> AND ea.AdminID LIKE '%' + #{adminID}+'%' </if> <if test = "adminName != null and adminName != ''"> AND ea.AdminName LIKE '%' + #{adminName}+'%' </if> </where> </select>
<!-- 点检工单审核 --> <update id="checkWorkOrder" parameterType="EamWorkOrderInData"> UPDATE eam_workOrder SET Status = '已完工' WHERE Site = #{site} AND OrderNo = #{orderNo} </update>
<update id="cancelCheckWorkOrder" parameterType="EamWorkOrderInData"> UPDATE eam_workOrder SET Status = '待审核' WHERE Site = #{site} AND OrderNo = #{orderNo} </update>
<!-- 查看点检工单状态 --> <select id="checkWorkOrderStatus" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData"> SELECT OrderNo FROM eam_workOrder WHERE site = #{site} AND PlanID = #{planID} AND Status != '已完工' </select>
<!-- 点检工单审核 --> <update id="updateWorkPlanOverviewStatus" parameterType="EamWorkOrderInData"> UPDATE eam_workPlan_overview SET status = '已结束' WHERE site = #{site} AND plan_id = #{planID} </update>
<!-- 新增点检计划 --> <insert id="saveWorkPlan" parameterType="EamWorkPlanInData"> INSERT INTO eam_workPlan_overview (site, plan_id, plan_desc, status, plan_start_date, plan_end_date, created_date, created_by, update_date, update_by, remark, delete_flag, operator, operator_name, checker, checker_name, function_type, properties_code, plan_period, work_order_rule, plan_cycle) VALUES (#{site}, #{planID}, #{planDesc}, '已计划', #{planStartDate}, #{planEndDate}, getDate(), #{createdBy}, getDate(), #{updateBy}, #{remark}, 'N', #{operator}, #{operatorName}, #{checker}, #{checkerName}, #{functionType}, #{propertiesCode}, #{planPeriod}, #{workOrderRule}, #{planCycle}) </insert>
<!-- 生成工单ID --> <select id="selectOrderId" resultType="string" parameterType="EamWorkPlanInData"> SELECT Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(PlanID,3,10))),0)+1),8) FROM eam_workPlan WHERE site = #{site} AND FunctionType = #{functionType} </select>
<!-- 查询计划中的设备列表 --> <select id="getPlanDetailList" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData"> SELECT ewp.PlanID, ewp.PlanDesc, ewp.ObjectID, eo.ObjectDesc, eo.FamilyID, ef.FamilyDesc, eo.LocationID, el.LocationName FROM eam_workPlan as ewP LEFT JOIN eam_object as eo ON ewP.ObjectID = eo.ObjectID LEFT JOIN eam_family as ef ON eo.FamilyID = ef.FamilyID LEFT JOIN eam_location as el ON eo.LocationID = el.LocationID <where> ewP.site = #{site} AND ewp.PlanID = #{planID} <if test = "objectID != null and objectID != ''"> AND eo.ObjectID LIKE '%' + #{objectID}+'%' </if> <if test = "objectDesc != null and objectDesc != ''"> AND eo.ObjectDesc LIKE '%' + #{objectDesc}+'%' </if> </where> </select>
<!-- 删除计划中的设备 --> <delete id="delPlanDetail" parameterType="WorkPlanDetailData"> DELETE FROM eam_workPlan WHERE Site = #{site} AND PlanID = #{planID} AND ObjectID = #{objectID} </delete>
<!-- 获取当前计划不包含的设备 --> <select id="getObjList1" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData"> SELECT a.ObjectID, a.ObjectDesc, a.FamilyID, ef.FamilyDesc, a.LocationID, el.LocationName FROM eam_object a LEFT JOIN eam_workPlan b ON b.PlanID = #{planID} and b.ObjectID = a.ObjectID LEFT JOIN eam_family as ef ON a.FamilyID = ef.FamilyID LEFT JOIN eam_location as el ON a.LocationID = el.LocationID WHERE b.PlanID is null </select>
<!-- 获取当前计划包含的设备 --> <select id="getObjList2" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData"> SELECT a.ObjectID, b.ObjectDesc, b.FamilyID, ef.FamilyDesc, b.LocationID, el.LocationName FROM eam_workPlan a LEFT JOIN eam_object b ON a.ObjectID = b.ObjectID LEFT JOIN eam_family as ef ON b.FamilyID = ef.FamilyID LEFT JOIN eam_location as el ON b.LocationID = el.LocationID WHERE a.PlanID = #{planID} </select>
<!-- 添加计划设备 --> <insert id="addObject" parameterType="EamWorkPlanInData"> INSERT INTO eam_workPlan (Site,PlanID,PlanDesc,ObjectID,FunctionType,PropertiesCode,Operator,OperatorName,checker,checkerName,PlanPeriod,Status,PlanStartDate,PlanEndDate,CreatedDate,CreatedBy,Version,Remark,DeleteFlag) values (#{site},#{planID},#{planDesc},#{objectID},#{functionType},#{propertiesCode},#{operator},#{operatorName},#{checker},#{checkerName},#{planPeriod},#{status},#{planStartDate},#{planEndDate},GetDate(),#{createdBy},0,#{remark},'N') </insert>
<!-- 修改工单计划 --> <update id="updateWorkPlan" parameterType="EamWorkPlanInData"> UPDATE eam_workPlan_overview SET plan_desc = #{planDesc}, properties_code = #{propertiesCode}, plan_start_date = #{planStartDate}, plan_end_date = #{planEndDate}, plan_period = #{planPeriod}, remark = #{remark}, operator = #{operator}, operator_name = #{operatorName}, checker = #{checker}, checker_name = #{checkerName}, work_order_rule = #{workOrderRule} WHERE site = #{site} AND plan_id = #{planID} AND function_type = #{functionType} </update>
<!-- 删除该计划的旧设备 --> <delete id="delWorkPlanObject" parameterType="EamWorkPlanInData"> DELETE FROM eam_workPlan WHERE Site = #{site} AND PlanID = #{planID} </delete>
<!-- 删除该计划的旧设备item --> <delete id="delWorkPlanItem" parameterType="EamWorkPlanInData"> DELETE FROM eam_workPlan_item WHERE Site = #{site} AND PlanID = #{planID} </delete>
<!-- 删除该计划的旧设备itemAvailable--> <delete id="delWorkPlanItemAvailable"> DELETE FROM eam_workPlan_item_available WHERE Site = #{site} AND PlanID = #{planID} AND ObjectID = #{objectID} </delete>
<!-- 查询该计划的设备 --> <select id="planObjectSearch" resultType="EamWorkPlanItemData" parameterType="EamWorkPlanItemData"> SELECT DISTINCT a.ObjectID, b.ObjectDesc FROM eam_workPlan_item as a LEFT JOIN eam_object as b ON a.ObjectID = b.ObjectID WHERE a.Site = #{site} AND a.PlanID = #{planID} </select>
<!-- 修改该计划状态 --> <update id="updateOverviewStatus" parameterType="EamWorkPlanInData"> UPDATE eam_workPlan_overview SET status = '进行中', next_work_date = #{planStartDate} WHERE site = #{site} AND plan_id = #{planID} </update>
<!-- 查询文件路径 --> <select id="searchFileUrl" resultType="SysOssEntity" parameterType="EamWorkOrderInData"> SELECT id, url, file_name FROM sys_oss WHERE order_ref1 = #{site} AND order_ref2 = #{orderNo} AND order_ref3 = #{folder} </select>
<!-- 新增子明细信息 --> <insert id="saveOperator" parameterType="EamWorkOrderInData"> INSERT INTO eam_actual_operator (site, order_no, function_type, operator) VALUES (#{site}, #{orderNo}, #{functionType}, #{operator}) </insert>
<!-- 查询工单号 --> <select id="getOrderNo" resultType="string"> SELECT OrderNo FROM eam_workOrder WHERE site = #{site} AND PlanID = #{planID} AND FunctionType = #{functionType} AND Status = '已完工' AND PlanOperator is not null </select>
<!-- 查询实际维修人员 --> <select id="getActualOperatorList" resultType="string"> SELECT ea.AdminName FROM eam_actual_operator as eao LEFT JOIN eam_admin as ea ON eao.operator = ea.AdminID and eao.site = ea.Site WHERE eao.site = #{site} AND eao.order_no = #{orderNo} AND eao.function_type = #{functionType} </select>
<!-- 查询设备所属部门 --> <select id="selectDeptByObjectID" resultType="string" parameterType="string"> SELECT ved.dept_name FROM eam_object as eo LEFT JOIN view_eam_department as ved ON eo.site = ved.site and eo.dept_id = ved.dept_id WHERE eo.site = #{site} AND eo.ObjectID = #{objectID} </select>
<!-- 查询用户所属部门 --> <select id="selectAdminIdByUserName" resultType="string" parameterType="string"> SELECT AdminID FROM eam_admin WHERE site = #{site} AND MesUser = #{username} </select>
<!-- 生成新的维修工单 --> <insert id="saveDefectWorkOrder" parameterType="EamWorkOrderInData"> INSERT INTO eam_workOrder (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanDate, FunctionType, CreateDate, CreateBy) VALUES (#{site}, (select 'X' + Right('0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site = #{site} and FunctionType = 'C'), #{planID}, '', #{objectID}, '未开工', getDate(), 'C', getDate(), #{createBy}) </insert>
<!-- 获取旧工单的基础信息 --> <select id="queryOldWorkOrderMessage" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData"> select PlanOperator, PlanOperatorName, checker, checkerName from eam_workOrder where site = #{site} and OrderNo = #{orderNo} and FunctionType = #{functionType} </select>
<!-- 生成新的维保工单 --> <insert id="saveMaintenanceWorkOrder" parameterType="EamWorkOrderInData"> INSERT INTO eam_workOrder (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType, CreateDate, CreateBy, checker, PlanOperatorName, checkerName) VALUES (#{site}, (select 'W' + Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site = #{site} and FunctionType = 'B'), #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{planOperator}, Dateadd(dd, Datediff(dd,0,Getdate()), 0), #{functionType}, getDate(), #{createBy}, #{checker}, #{planOperatorName}, #{checkerName}) </insert>
<!-- 检查系统操作人和审核人员是否一致 --> <select id="selectNameByMes" resultType="EamAdminData" parameterType="EamAdminData"> SELECT AdminName FROM eam_admin WHERE site = #{site} AND MesUser = #{mesUser} </select>
<!-- 维修审核确认 --> <update id="submitDefect" parameterType="EamWorkOrderInData"> UPDATE eam_workOrder SET Status = '已完工', difficulty_level = #{difficultyLevel}, difficulty_remark = #{difficultyRemark} WHERE Site = #{site} AND OrderNo = #{orderNo} </update>
<!-- 查询设备的历史记录 --> <select id="queryHistoryRecord" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData"> SELECT ewo.OrderNo, ewo.PlanID, ewo.PlanDesc, ewo.ActualDate, ewo.ObjectID, eo.ObjectDesc, ewo.Remark, dbo.eam_Get_eamAdminName(ewo.site,ewo.ActualOperator) ActualOperatorName, ewo.checkResult FROM eam_workOrder as ewo LEFT JOIN eam_object as eo ON ewo.site = eo.site and ewo.ObjectID = eo.ObjectID WHERE ewo.site = #{site} AND ewo.ObjectID = #{objectID} AND ewo.FunctionType = #{functionType} AND ewo.Status = '已完工' AND datediff(week, ewo.ActualDate, getdate()) = 0 </select>
<!-- 查询部门列表 --> <select id="getEmpyDeptList" resultType="EmpyDept" parameterType="EmpyDept"> SELECT site, department_id as deptId, department_name as deptName FROM sys_department <where> site = #{site} <if test = "deptId != null and deptId != ''"> AND department_id LIKE '%' + #{deptId}+'%' </if> <if test = "deptName != null and deptName != ''"> AND department_name LIKE '%' + #{deptName}+'%' </if> </where> </select>
<!-- 生成新的维修工单 --> <insert id="saveAdminDepartment"> INSERT INTO eam_admin_dept (Site, admin_id, dept_id) VALUES (#{site}, #{adminID}, #{deptId}) </insert>
<!-- 查询部门详情 --> <select id="getDeptDetail" resultType="EamAdminData" parameterType="string"> SELECT ved.dept_id as department, ved.dept_name as departmentName FROM eam_admin_dept as ead LEFT JOIN view_eam_department as ved ON ead.site = ved.site and ead.dept_id = ved.dept_id WHERE ead.site = #{site} AND ead.admin_id = #{adminID} </select>
<!-- 查询部门列表 --> <select id="getDeptList" resultType="string" parameterType="string"> SELECT ved.dept_name FROM eam_admin_dept as ead LEFT JOIN view_eam_department as ved ON ead.site = ved.site and ead.dept_id = ved.dept_id WHERE ead.site = #{site} AND ead.admin_id = #{adminID} </select>
<!-- 删除旧数据--> <delete id="deleteAdminDepartment"> DELETE FROM eam_admin_dept WHERE site = #{site} AND admin_id = #{adminID} </delete>
<!-- 获取可用的MES账号 --> <select id="getMesList" resultType="SysUserEntity" parameterType="SysUserEntity"> SELECT a.username, a.user_display FROM sys_user a LEFT JOIN eam_admin b ON b.MesUser = a.username and a.site = b.site WHERE a.site = #{site} AND b.MesUser is null </select>
<!-- 查询点检模板 --> <select id="eamPropertiesItemSearch" parameterType="EamPropertiesItemData" resultType="EamPropertiesItemData"> SELECT ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB as valueTypeDb, ValueChooseFlag, CreatedDate, CreatedBy, update_date, update_by, MaxValue, MinValue, ItemRemark, ItemType FROM eam_properties_item <where> ItemType = #{query.itemType} <if test="query.itemNo != null and query.itemNo != ''"> AND ItemNo LIKE '%' + #{query.itemNo}+'%' </if> <if test="query.itemDesc != null and query.itemDesc != ''"> AND ItemDesc LIKE '%' + #{query.itemDesc}+'%' </if> </where> </select>
<!-- 删除图片--> <delete id="imageDelete" parameterType="SysOssEntity"> DELETE FROM sys_oss WHERE id = #{id} </delete>
<!-- 检查该日期内是否已有该设备的计划 --> <select id="checkObjectPlan" resultType="EamWorkPlanInData" parameterType="EamWorkPlanInData"> SELECT PlanID, ObjectID FROM eam_workPlan WHERE site = #{site} AND ObjectID = #{objectID} AND FunctionType = #{functionType} AND Status in ('已计划','进行中') AND deleteFlag = 'N' AND (convert(varchar(10), PlanStartDate, 120) between #{planStartDate} and #{planEndDate} or convert(varchar(10), PlanEndDate, 120) between #{planStartDate} and #{planEndDate} or (DATEDIFF(day, PlanStartDate, #{planStartDate}) >= 0 and DATEDIFF(day, #{planEndDate}, PlanEndDate) >= 0) ) </select>
<!-- 获取可用的MES账号 --> <select id="queryWorkPlan" resultType="EamWorkPlanInData" parameterType="EamWorkPlanInData"> SELECT site, plan_id, plan_desc, properties_code, #{objectID} as objectID, status, operator, delete_flag, plan_start_date, plan_end_date, plan_period, function_type, checker, checker_name, operator_name, work_order_rule, plan_cycle FROM eam_workPlan_overview WHERE site = #{site} AND plan_id = #{planID} AND function_type = #{functionType} </select>
<!-- 获得工单号 --> <select id="queryPlanOrderNo" resultType="string" parameterType="EamWorkPlanInData"> SELECT Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) FROM eam_workOrder WHERE site = #{site} AND FunctionType = #{functionType} </select>
<!-- 新增工单 --> <insert id="insertWorkOrder" parameterType="EamWorkPlanInData"> INSERT INTO eam_workOrder (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType,CreateDate, CreateBy, checker, PlanOperatorName, checkerName) VALUES (#{site}, #{orderNo}, #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{operator}, #{planStartDate}, #{functionType}, getDate(), #{userId}, #{checker}, #{operatorName}, #{checkerName}) </insert>
<!-- 循环新增工单 --> <insert id="forInsertWorkOrder" parameterType="EamWorkPlanInData"> INSERT INTO eam_workOrder (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType,CreateDate, CreateBy, checker, PlanOperatorName, checkerName) VALUES (#{site}, #{orderNo}, #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{operator}, #{orderDate}, #{functionType}, getDate(), #{userId}, #{checker}, #{operatorName}, #{checkerName}) </insert>
<!-- 更改plan表的状态为进行中 --> <update id="updatePlanStatus" parameterType="EamWorkPlanInData"> update eam_workPlan set status = '进行中', NextWorkDate = PlanStartDate where site = #{site} and PlanID = #{planID} and FunctionType = #{functionType} and ObjectID = #{objectID} </update></mapper>
|