1、带开始开始行、分隔符、入参的query转json。此方法适合分页查询
ClassMethod GetWard(start, limit, CTLocDesc As %Library.String = "")
{
s start=$G(start)
s limit=$G(limit)
s rs=##class(%ResultSet).%New("web.DHCCRM.GetBaseInfo:SearchWard")
d rs.Execute(CTLocDesc)
s count=0
s mess=""
s topnum=start+limit
while (rs.Next())
{
s count=count+1
i (start'="")&(limit'="") continue:(count<=start)!(count>topnum)
s RowId=rs.Get("CTLOC_RowId")
s Code=rs.Get("CTLOC_Code")
s Desc=rs.Get("CTLOC_Desc")
i (mess'="") s mess=mess_","
//RowID^Name
s mess=mess_"{""RowID"":"_""""_RowId_""""
s mess=mess_","_"""Name"":"_""""_Desc_""""
s mess=mess_"}"
}
s mess="["_mess_"]"
s mess="{""results"":"_""""_count_""""_","_"""rows"""_":"_mess_"}"
q mess
}
2、返会数据格式中带cols和rows的,上面只有的rows结构
/// // w ##class(NTSC.ExterIntface.AntiAgentStat.NTSCAntiAgentStat).NTSCMJZCFJL("2023-04-02","2024-04-02")
ClassMethod NTSCMJZCFJL(startdate As %String, enddate As %String) As %String
{
Set cols = ##class(%DynamicArray).%New()
Do cols.%Push(##class(%DynamicObject).%New())
Do cols.%Get(0).%Set("field", "no")
Do cols.%Get(0).%Set("title", "序号")
Do cols.%Push(##class(%DynamicObject).%New())
Do cols.%Get(1).%Set("field", "type")
Do cols.%Get(1).%Set("title", "类型")
Do cols.%Push(##class(%DynamicObject).%New())
Do cols.%Get(2).%Set("field", "admno")
Do cols.%Get(2).%Set("title", "就诊编码")
Set rows = ##class(%DynamicArray).%New()
Set rs = ##class(%ResultSet).%New("NTSC.ExterIntface.AntiAgentStat.NTSCAntiAgentStat:NTSCMJZCFJLdata")
Do rs.Execute(startdate, enddate)
While rs.Next() {
Set row = ##class(%DynamicObject).%New()
Do row.%Set("no", rs.Get("no"))
Do row.%Set("type", rs.Get("type"))
Do row.%Set("admno", rs.Get("admno"))
Do rows.%Push(row)
}
Do rs.Close()
Set result = ##class(%DynamicObject).%New()
Do result.%Set("cols", cols)
Do result.%Set("rows", rows)
Return result.%ToJSON()
}
评论