第一种写法
/// 门诊处方记录统计:纯Global遍历
/// w ##class(NTSC.ExterIntface.AntiAgentStat.NTSCStat).NTSCMJZCFJL("2023-04-02","2024-04-02")
ClassMethod NTSCMJZCFJL(startdate As %String, enddate As %String) As %String
{
// 1. 列头定义(动态数组字面量写法,等价原cols组装逻辑)
Set cols = [
{"field": "no", "title": "序号"},
{"field": "type", "title": "类型"},
{"field": "admno", "title": "就诊编码"}
]
// 2. 遍历 ^PAADM 全局,直接组装行数据
Set rows = []
Set paadm = ""
For {
Set paadm = $Order(^PAADM(paadm))
Quit:paadm=""
// 字段提取与原逻辑完全一致:第2、7、81位
Set data = $Get(^PAADM(paadm))
Set no = $Piece(data, "^", 2)
Set type = $Piece(data, "^", 7)
Set admno = $Piece(data, "^", 81)
// 直接追加到结果数组,替代原 outputRow8 + 临时全局
Do rows.%Push({
"no": (no),
"type": (type),
"admno": (admno)
})
}
// 3. 组装最终结构并返回JSON
Set result = {"cols": (cols), "rows": (rows)}
Return result.%ToJSON()
}
默认评论
Halo系统提供的评论