wlzboy
2025-12-06 847a7773ef1a8ad418c6934d35b5f205a97c04d0
ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -10,6 +10,7 @@
        <result property="ServiceOrdUserID" column="ServiceOrdUserID" />
        <result property="ServiceOrdAreaType" column="ServiceOrdAreaType" />
        <result property="ServiceOrdType" column="ServiceOrdType" />
        <result property="ServiceOrdNo" column="ServiceOrdNo" />
        <result property="ServiceOrdTraTxnPrice" column="ServiceOrdTraTxnPrice" />
        <result property="ServiceOrdPtOutHospID" column="ServiceOrdPtOutHospID" />
        <result property="ServiceOrdPtServicesID" column="ServiceOrdPtServicesID" />
@@ -42,11 +43,13 @@
        <result property="Old_ServiceOrdID_TXT" column="Old_ServiceOrdID_TXT" />
        <result property="ServiceOrdTraDistance" column="ServiceOrdTraDistance" />
        <result property="ServiceOrdApptDate" column="ServiceOrdApptDate" />
        <result property="DispatchOrdState" column="DispatchOrdState" />
    </resultMap>
    
    <!-- 执行人结果映射 -->
    <resultMap type="java.util.HashMap" id="AssigneeResult">
        <result property="EntourageOAId" column="EntourageOAId" />
        <result property="EntourageID" column="EntourageID" />
        <result property="EntourageState" column="EntourageState" />
    </resultMap>
    
@@ -55,6 +58,7 @@
        SELECT 
            a.ServiceOrdID,
            a.Old_ServiceOrdID_TXT,
            a.ServiceOrdNo,
            a.ServiceOrdTraVia,
            a.ServiceOrdApptDate,
            a.ServiceOrd_NS_ID,
@@ -84,16 +88,17 @@
            b.DispatchOrdActualDate,
            b.DispatchOrdReturnDate,
            b.DispatchOrdTraEnd,
            b.DispatchOrdState,
            b.DispatchOrdID,
            b.DispatchOrdCarID,
            a.ServiceOrdPtServices,
            a.ServiceOrdPtInServices,
            a.ServiceOrdPtName
        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查询转运单数据 -->
@@ -102,6 +107,7 @@
            a.ServiceOrdID,
            a.Old_ServiceOrdID_TXT,
            a.ServiceOrdTraVia,
            a.ServiceOrdNo,
            a.ServiceOrdApptDate,
            a.ServiceOrdUserID,
            a.ServiceOrd_NS_ID,
@@ -133,13 +139,13 @@
            b.DispatchOrdCarID,
            a.ServiceOrdPtServices,
            a.ServiceOrdPtInServices,
            a.ServiceOrdPtName
            a.ServiceOrdPtName,
            b.DispatchOrdState
        FROM ServiceOrder as a 
        INNER JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
        WHERE a.ServiceOrdID = #{serviceOrdID}
            AND b.DispatchOrdID = #{dispatchOrdID}
            AND a.ServiceOrdState = 3
            AND b.DispatchOrdState != 0
            AND a.ServiceOrdState &lt;=3
    </select>
    
    <!-- 根据服务单ID查询病情信息 -->
@@ -153,6 +159,7 @@
    <select id="selectAssigneesByDispatchOrdID" resultMap="AssigneeResult">
        SELECT 
            EntourageOAId,
            EntourageID,
            EntourageState
        FROM DispatchOrd_Entourage 
        WHERE DispatchOrdIDDt = #{dispatchOrdID}
@@ -179,4 +186,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>