private void DoLineupCall(LineUpData lineupInfo, QueueData queueData) { DateTime callTime = _qm.GetServerStamp(); lineupInfo.检查房间 = _stationInfo.RoomName; if (lineupInfo.附加信息.首次呼叫时间 == default(DateTime)) { lineupInfo.附加信息.首次呼叫时间 = callTime; } lineupInfo.附加信息.末次呼叫时间 = callTime; lineupInfo.附加信息.播放站点 = queueData.队列信息.播放站点; if (lineupInfo.排队状态 == LineUpState.qsQueueing) { lineupInfo.排队状态 = LineUpState.qsWaitCall; } lineupInfo.附加信息.CopyBasePro(lineupInfo); LineCallData callInfo = new LineCallData(); callInfo.呼叫ID = SqlHelper.GetNumGuid(); callInfo.排队ID = lineupInfo.排队ID; callInfo.队列ID = lineupInfo.队列ID; callInfo.生成日期 = callTime; callInfo.呼叫站点 = queueData.队列信息.播放站点; callInfo.呼叫信息.原始内容 = queueData.队列信息.呼叫格式.Replace("[排队号码]", lineupInfo.号码前缀 + lineupInfo.排队号码).Replace("[患者姓名]", lineupInfo.患者姓名).Replace("[检查房间]", lineupInfo.检查房间).Replace("[科室名称]", lineupInfo.科室名称); callInfo.呼叫信息.格式内容 = queueData.队列信息.呼叫格式.Replace("[排队号码]", lineupInfo.号码前缀 + lineupInfo.排队号码).Replace("[患者姓名]", PYConvert.FormatCallSurname(lineupInfo.患者姓名)).Replace("[检查房间]", lineupInfo.检查房间).Replace("[科室名称]", lineupInfo.科室名称); callInfo.呼叫信息.CopyBasePro(callInfo); _qm.TransactionBegin(); try { _qm.UpdateLineupInfo(lineupInfo); _qm.NewCall(callInfo); _qm.TransactionCommit(); } catch (Exception ex) { _qm.TransactionRollback(); throw ex; } }