SOURCE

[HttpGet, Route("getInpatientsDetail")]
        public string GetInpatientsDetailByPid(string inarea, string medstore, string indept = "", string medstatus = "待发药")
        {
            if (inarea != null)
            {
                if (inarea == "综合住院病区")
                {
                    List<inpatientinfo> info = new List<inpatientinfo>();
                    List<toInMedList> result = new List<toInMedList>();
                    string infosql = $"SELECT DISTINCT inno, bedno, pname, sex, age, indept, indiag, inid FROM[dbo].[ToMedList_view] WHERE medstatus like '%{medstatus}%' and execdept like '%{medstore}%' and indept like '%{indept}%' and inarea like '%{inarea}%'";
                    var temp = DbHelperSQL.Querytable(infosql);
                    if (temp.Rows.Count > 0)
                    {
                        info = temp.Tolist<inpatientinfo>().ToList();
                        foreach (var i in info)
                        {
                            List<in_orderfeedetailplus> detail = new List<in_orderfeedetailplus>();
                            detail = DbHelperSQL.Querytable($"SELECT [dbo].[fun_countmedroom](0,tv.itemid) AS storenum,cm.rbtype,tv.billid,tv.bdid,tv.dgid,tv.itemid,tv.scode,tv.ccode,tv.itemname,tv.aliasname,tv.itemtype,tv.prices,tv.bscunit,tv.ippack,tv.ipunit,tv.spec,tv.dose,tv.freq,tv.total,tv.totalprices,tv.Expr1 way,tv.sample,tv.labtype,tv.execdept,tv.medstatus,tv.Expr2 addtime,tv.Expr3 moditime,tv.Expr4 addperson,tv.bdfeeid,tv.Expr5 del,tv.decoction,tv.paystatus,tv.sendtime,tv.dosage,tv.ybname,tv.ybsno,tv.medsn FROM [dbo].[ToMedList_view] as tv LEFT JOIN comm_med as cm ON tv.itemid = cm.itemid WHERE tv.medstatus like '%{medstatus}%' and tv.execdept like '%{medstore}%' and tv.indept like '%{indept}%' and tv.inarea like '%{inarea}%' AND tv.inid = {i.inid}").Tolist<in_orderfeedetailplus>().ToList();
                            result.Add(new toInMedList
                            {
                                patient = i,
                                detail = detail,
                            });
                        }
                    }
                    return result.JsonSuccess();
                }
                else if (inarea == "手术室")
                {
                    List<inpatientinfo> info = new List<inpatientinfo>();
                    List<toInMedList> result = new List<toInMedList>();
                    string infosql = $"DECLARE @medstore VARCHAR(20) SET @medstore = '{medstore}';DECLARE @itemtype VARCHAR(20) SET @itemtype = CASE @medstore WHEN '中药房' THEN '中成药,中草药' WHEN '西药房' THEN '西药' END;SELECT DISTINCT ir.inno,ir.bedno,ir.pname,ir.sex,ir.age,ir.indept,ir.indiag,ir.inid,ir.inarea FROM op_orderinfo AS oo LEFT JOIN in_reginfo as ir ON oo.pid = ir.pid LEFT JOIN in_orderfeedetail as iof ON oo.billid = iof.billid WHERE iof.medstatus like '%{medstatus}%' AND EXISTS (SELECT fs.res FROM [dbo].[fun_splitstring](@itemtype,',') as fs WHERE iof.itemtype = fs.res) ;";
                    var temp = DbHelperSQL.Querytable(infosql);
                    if (temp.Rows.Count > 0)
                    {
                        info = temp.Tolist<inpatientinfo>().ToList();
                        foreach (var i in info)
                        {
                            List<in_orderfeedetailplus> detail = new List<in_orderfeedetailplus>();
                            detail = DbHelperSQL.Querytable($"DECLARE @medstore VARCHAR(20) SET @medstore = '{medstore}';DECLARE @itemtype VARCHAR(20) SET @itemtype = CASE @medstore WHEN '中药房' THEN '中成药,中草药' WHEN '西药房' THEN '西药' END;SELECT [dbo].[fun_countmedroom](0,iof.itemid) AS storenum,cm.rbtype,iof.billid,iof.bdid,iof.dgid,iof.itemid,iof.scode,iof.ccode,iof.itemname,iof.aliasname,iof.itemtype,iof.prices,iof.bscunit,iof.ippack,iof.ipunit,iof.spec,iof.dose,iof.freq,iof.total,iof.totalprices,iof.way,iof.sample,iof.labtype,iof.execdept,iof.medstatus,iof.addtime,iof.moditime,iof.addperson,iof.bdfeeid,iof.del,iof.decoction,iof.paystatus,iof.sendtime,iof.dosage,iof.ybname,iof.ybsno,iof.medsn FROM in_orderfeedetail AS iof LEFT JOIN op_orderinfo AS oo ON oo.billid = iof.billid LEFT JOIN in_reginfo as ir ON oo.pid = ir.pid LEFT JOIN comm_med AS cm ON cm.itemid = iof.itemid  WHERE iof.medstatus like '%{medstatus}%' AND EXISTS (SELECT fs.res FROM [dbo].[fun_splitstring](@itemtype,',') as fs WHERE iof.itemtype = fs.res) AND iof.execdept LIKE '%手术室%' AND ir.inid = {i.inid}").Tolist<in_orderfeedetailplus>().ToList();
                            result.Add(new toInMedList
                            {
                                patient = i,
                                detail = detail,
                            });
                        }
                    }
                    return result.JsonSuccess();
                }
            }
            return "".JsonError();
        }
console 命令行工具 X clear

                    
>
console