目前发现影响版本是 9.0 标版,如果有这种情况出现,可以参考解决。
1、问题界面路径:在HIS系统中,【门诊药房】安全组中--【库存相关】菜单下--【查询与统计】--【库存统计】
2、在【药品--批次】界面,选择具体药品后,一直转圈,无法加载具体明细数据。
如图 1:

如图 2:f12 中也有具体数据返回,前台就是一直转圈不显示

3、正确解决后效果,

4、解决方法:原本的后台方法没有报错,属于代码数据结构组织有问题,不报错也不展示,浏览器调试界面和后台都正常,只有界面转圈不加载。
在json格式化工具里面返回值没有问题,此问题不易排查错误的地方。
只需重写后台代码如下即可(也可以直接替换掉整个方法):
/// Description: 库存查询-科室批次明细(全部)
/// Debug: w ##class(PHA.IN.Query.LocItmStk).IncItmLcBat({"locId":"181","date":"2025-07-16","scg":"3","stkCat":"","inciDesc":"","manf":"","poisonIdStr":"","phcForm":"","generic":"","useFlag":true,"notUseFlag":false,"vendor":"","genePHCCat":"","phcInstruc":"","importFlag":"","outLockFlag":false,"inLockFlag":false,"origin":"","arcItmCat":"","inci":"","stkbin":"","baseDrugFlag":false,"highPriceFlag":false,"incil":"1||1","batFlag":"NotEmpty"}).%ToJSON()
ClassMethod IncItmLcBat(pJson) As %DynamicObject
{
s date = $$$zdh(pJson.%Get("date"))
s incil = pJson.%Get("incil")
s batFlag = pJson.%Get("batFlag")
s locId = ##class(PHA.COM.Data.INCIL).%New(incil).LocId()
s hospId = $p(^CTLOC(locId), "^", 22) s totalSpAmt = 0, totalRpAmt = 0
s rows = []
s total = 0
s inci = $p(incil, "||", 1)
s il = $p(incil, "||", 2)
q:((inci = "")||(il = "")) rows
q:('##class(Filter).CheckIncItm(inci, pJson)) ..EmptyGrid()
q:('##class(Filter).CheckIncItmLoc(incil, pJson)) ..EmptyGrid()
s total = 0
s lb = 0
for {
s lb = $o(^INCI(inci, "IL", il, "LB", lb))
q:(lb = "")
s inclb = inci_"||"_il_"||"_lb
continue:((batFlag = "Empty") && (##class(PHA.COM.Data.Stock).INCLBQty(inclb, date) > 0)) // 无库存
continue:((batFlag = "NotEmpty") && (##class(PHA.COM.Data.Stock).INCLBQty(inclb, date) <= 0)) // 有库存
continue:('##class(Filter).CheckIncItmLcBt(inclb, pJson))
s row = ##class(Data).IncItmLcBtData(inclb, date)
d rows.%Push(row)
s total = total + 1
s totalRpAmt = totalRpAmt + row.rpAmt
s totalSpAmt = totalSpAmt + row.spAmt
}
s footer = {
"batNo": (..Get("合计:")_total),
"TSpAmt": (##class(PHA.COM.Data.Format).TSpAmt(totalSpAmt, hospId, "")),
"TRpAmt": (##class(PHA.COM.Data.Format).TRpAmt(totalRpAmt, hospId, ""))
}
q {
"total": (total),
"rows": (rows),
"footer": [(footer)]
}
}5、具体类文件路径,方法是上面代码中的方法,替换里面方法里面内容即可。
PHA.IN.Query.LocItmStk
评论