wlzboy
6 天以前 09e6dc3fb7266620fafb5e341808a8eb36e080a1
ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -43,11 +43,17 @@
        <result property="Old_ServiceOrdID_TXT" column="Old_ServiceOrdID_TXT" />
        <result property="ServiceOrdTraDistance" column="ServiceOrdTraDistance" />
        <result property="ServiceOrdApptDate" column="ServiceOrdApptDate" />
        <result property="DispatchOrdState" column="DispatchOrdState" />
        <result property="DispatchOrdNo" column="DispatchOrdNo" />
        <result property="DispatchOrdClass" column="DispatchOrdClass" />
        <result property="DispatchOrd_NS_Time" column="DispatchOrd_NS_Time" />
    </resultMap>
    
    <!-- 执行人结果映射 -->
    <resultMap type="java.util.HashMap" id="AssigneeResult">
        <result property="EntourageOAId" column="EntourageOAId" />
        <result property="EntourageID" column="EntourageID" />
        <result property="EntourageState" column="EntourageState" />
    </resultMap>
    
@@ -86,16 +92,21 @@
            b.DispatchOrdActualDate,
            b.DispatchOrdReturnDate,
            b.DispatchOrdTraEnd,
            b.DispatchOrdState,
            b.DispatchOrdID,
            b.DispatchOrdCarID,
            a.ServiceOrdPtServices,
            a.ServiceOrdPtInServices,
            a.ServiceOrdPtName
            a.ServiceOrdPtName,
            b.DispatchOrdState,
            b.DispatchOrdNo,
            b.DispatchOrdClass,
            a.ServiceOrdClass
        FROM ServiceOrder as a 
        INNER JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdState = 3
        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdState &lt;= 3
            AND a.ServiceOrd_CC_Time > #{startDate} 
            AND b.DispatchOrdState != 0
    </select>
    
    <!-- 根据服务单ID和调度单ID查询转运单数据 -->
@@ -108,6 +119,7 @@
            a.ServiceOrdApptDate,
            a.ServiceOrdUserID,
            a.ServiceOrd_NS_ID,
            a.ServiceOrd_NS_Time,
            a.ServiceOrd_CC_ID,
            a.ServiceOrd_CC_Time,
            a.ServiceOrdAreaType,
@@ -136,14 +148,116 @@
            b.DispatchOrdCarID,
            a.ServiceOrdPtServices,
            a.ServiceOrdPtInServices,
            a.ServiceOrdPtName
            a.ServiceOrdPtName,
            b.DispatchOrdState,
            b.DispatchOrdNo,
            b.DispatchOrdClass,
            a.ServiceOrdClass
        FROM ServiceOrder as a 
        INNER JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdID = #{serviceOrdID}
            AND b.DispatchOrdID = #{dispatchOrdID}
            AND a.ServiceOrdState = 3
            AND b.DispatchOrdState != 0
        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdID = #{serviceOrdID}
            AND (b.DispatchOrdID = #{dispatchOrdID} OR #{dispatchOrdID} IS NULL)
            AND a.ServiceOrdState &lt;=3
    </select>
    <select id="selectByServiceOrdId" resultMap="TransferOrderResult">
        SELECT
        a.ServiceOrdID,
        a.Old_ServiceOrdID_TXT,
        a.ServiceOrdTraVia,
        a.ServiceOrdNo,
        a.ServiceOrdApptDate,
        a.ServiceOrdUserID,
        a.ServiceOrd_NS_ID,
        a.ServiceOrd_NS_Time,
        a.ServiceOrd_CC_ID,
        a.ServiceOrd_CC_Time,
        a.ServiceOrdAreaType,
        a.ServiceOrdType,
        a.ServiceOrdPtSex,
        a.ServiceOrdTraTxnPrice,
        a.ServiceOrdPtOutHospID,
        a.ServiceOrdPtServicesID,
        a.ServiceOrdPtInHospID,
        a.ServiceOrdPtInServicesID,
        a.ServiceOrdCoTies,
        a.ServiceOrdCoName,
        a.ServiceOrdTraDistance,
        a.ServiceOrdCoPhone,
        a.ServiceOrdClass,
        a.ServiceOrdTraStreet,
        a.ServiceOrdTraEnd,
        a.ServiceOrdPtCondition,
        b.DispatchOrd_NS_Time,
        a.ServiceOrdState,
        a.ServiceOrdPtIDCard,
        b.DispatchOrdTraStreet,
        b.DispatchOrdStartDate,
        b.DispatchOrdTraEnd,
        b.DispatchOrdID,
        b.DispatchOrdCarID,
        a.ServiceOrdPtServices,
        a.ServiceOrdPtInServices,
        a.ServiceOrdPtName,
        b.DispatchOrdState,
        b.DispatchOrdNo,
        b.DispatchOrdClass,
        a.ServiceOrdClass
        FROM ServiceOrder as a
        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdID = #{serviceOrdID}
    </select>
    <select id="selectByDispatchId" resultMap="TransferOrderResult">
     SELECT
            a.ServiceOrdID,
            a.Old_ServiceOrdID_TXT,
            a.ServiceOrdTraVia,
            a.ServiceOrdNo,
            a.ServiceOrdApptDate,
            a.ServiceOrdUserID,
            a.ServiceOrd_NS_ID,
            a.ServiceOrd_NS_Time,
            a.ServiceOrd_CC_ID,
            a.ServiceOrd_CC_Time,
            a.ServiceOrdAreaType,
            a.ServiceOrdType,
            a.ServiceOrdPtSex,
            a.ServiceOrdTraTxnPrice,
            a.ServiceOrdPtOutHospID,
            a.ServiceOrdPtServicesID,
            a.ServiceOrdPtInHospID,
            a.ServiceOrdPtInServicesID,
            a.ServiceOrdCoTies,
            a.ServiceOrdCoName,
            a.ServiceOrdTraDistance,
            a.ServiceOrdCoPhone,
            a.ServiceOrdClass,
            a.ServiceOrdTraStreet,
            a.ServiceOrdTraEnd,
            a.ServiceOrdPtCondition,
            b.DispatchOrd_NS_Time,
            a.ServiceOrdState,
            a.ServiceOrdPtIDCard,
            b.DispatchOrdTraStreet,
            b.DispatchOrdStartDate,
            b.DispatchOrdTraEnd,
            b.DispatchOrdID,
            b.DispatchOrdCarID,
            a.ServiceOrdPtServices,
            a.ServiceOrdPtInServices,
            a.ServiceOrdPtName,
            b.DispatchOrdState,
            b.DispatchOrdNo,
            b.DispatchOrdClass,
            a.ServiceOrdClass
        FROM ServiceOrder as a
        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE b.DispatchOrdID = #{dispatchId}
     </select>
    
    <!-- 根据服务单ID查询病情信息 -->
    <select id="selectDiseaseIdsByServiceOrdID" resultType="String">
@@ -156,6 +270,7 @@
    <select id="selectAssigneesByDispatchOrdID" resultMap="AssigneeResult">
        SELECT 
            EntourageOAId,
            EntourageID,
            EntourageState
        FROM DispatchOrd_Entourage 
        WHERE DispatchOrdIDDt = #{dispatchOrdID}
@@ -182,4 +297,25 @@
        WHERE vID = #{deptID} AND vtitle = 'HospitalDepartment'
    </select>
    
    <!-- 插入调度单状态变更记录到 DispatchOrd_Running 表 -->
    <insert id="insertDispatchOrdRunning">
        INSERT INTO DispatchOrd_Running (
            DispatchOrdIDDt,
            DispatchOrdState,
            DispatchOrdStartDate,
            DispatchOrdStartOA
            <if test="oaLatitude != null">,OA_latitude</if>
            <if test="oaLongitude != null">,OA_longitude</if>
            <if test="oaAddress != null and oaAddress != ''">,OA_address</if>
        ) VALUES (
            #{dispatchOrdID},
            #{dispatchOrdState},
            #{dispatchOrdStartDate},
            #{dispatchOrdStartOA}
            <if test="oaLatitude != null">,#{oaLatitude}</if>
            <if test="oaLongitude != null">,#{oaLongitude}</if>
            <if test="oaAddress != null and oaAddress != ''">,#{oaAddress}</if>
        )
    </insert>
</mapper>