|
@@ -118,9 +118,10 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
}
|
|
|
List<YZData> ss_list = LisPacs_MR_Bll.GetYZList(lngSendID);
|
|
|
string code = "";
|
|
|
+ string billProjectName = "";
|
|
|
List<Codes> listlis;
|
|
|
List<Codes> listpacs;
|
|
|
- LisPacs_MR_Bll.GetTreatmentId(ss_list, out code, out listlis, out listpacs);
|
|
|
+ LisPacs_MR_Bll.GetTreatmentId(ss_list, out code, out listlis, out listpacs,out billProjectName);
|
|
|
int hrType = 0;
|
|
|
if (listlis.Count == 0 && listpacs.Count == 0)
|
|
|
{
|
|
@@ -136,8 +137,7 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
}
|
|
|
Log.Info("一共几条开单项目:" + listlis.Count);
|
|
|
Log.Info("一共几条开单项目:" + listpacs.Count);
|
|
|
-
|
|
|
- foreach (var item in listlis)
|
|
|
+ /*foreach (var item in listlis)
|
|
|
{
|
|
|
//这里 触发开单记录 获取计算机名 患者id 开单项目 开单时间 发送号 计算机ip 单据号 备注(医嘱id) 类别 开单人 是否作废
|
|
|
int ii = LisPacs_MR_Bll.InsertHuRenBillProject(Dns.GetHostName(), lngPatientID,item.yzContent,lngSendID, Tools.GetHostIp(),"", item.id,"C",Infos.UserInfo.用户名);
|
|
@@ -146,7 +146,7 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
{
|
|
|
//这里 触发开单记录 获取计算机名 患者id 开单项目 开单时间 发送号 计算机ip 单据号 备注(医嘱id) 类别 开单人 是否作废
|
|
|
LisPacs_MR_Bll.InsertHuRenBillProject(Dns.GetHostName(), lngPatientID, item.yzContent, lngSendID, Tools.GetHostIp(), "", item.id, "D", Infos.UserInfo.用户名);
|
|
|
- }
|
|
|
+ }*/
|
|
|
// 1254 是住院发送
|
|
|
if (lngModual == 1254 || lngModual == 1252)
|
|
|
{
|
|
@@ -156,8 +156,8 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
}
|
|
|
string yzid = listlis[0].yzid;
|
|
|
string xgid = listlis[0].id;
|
|
|
- string totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(yzid);
|
|
|
- Recordset rd = LisPacs_MR_Bll.GetMZPostJson(lngClinicID, code, hrType, totalPrice, xgid);
|
|
|
+ decimal totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(yzid);
|
|
|
+ Recordset rd = LisPacs_MR_Bll.GetMZPostJson(lngClinicID, code, hrType, totalPrice.ToString(), code);
|
|
|
string json = Tools.RecordsetToJson(rd);
|
|
|
clientSend.Send(json);
|
|
|
//Tools.Delay(10000, 0);
|
|
@@ -267,18 +267,15 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
}
|
|
|
#endregion
|
|
|
}*/
|
|
|
- string code = "";
|
|
|
+ string code = ""; // 又算开单唯一id
|
|
|
+ string billProjectNames = ""; //开单项目名称
|
|
|
List<Codes> listlis;
|
|
|
List<Codes> listpacs;
|
|
|
- LisPacs_MR_Bll.GetTreatmentId(ss_list, out code, out listlis, out listpacs);
|
|
|
+ LisPacs_MR_Bll.GetTreatmentId(ss_list, out code, out listlis, out listpacs,out billProjectNames);
|
|
|
Log.Info("code=="+code);
|
|
|
Recordset rd = new Recordset();
|
|
|
- string xgid ="";
|
|
|
- string yzid ="";
|
|
|
- string zlxmid = "";
|
|
|
- string totalPrice = "0";
|
|
|
+ decimal totalPrice = 0;
|
|
|
int hrType = 0;
|
|
|
- string hisApplyCode = ""; // 开单唯一id
|
|
|
if (listlis.Count == 0 && listpacs.Count == 0)
|
|
|
{
|
|
|
return true;
|
|
@@ -286,18 +283,10 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
else if (listlis.Count > 0 && listpacs.Count == 0)//只有检验
|
|
|
{
|
|
|
hrType = 1;
|
|
|
- yzid = listlis[0].yzid;
|
|
|
- xgid = listlis[0].id;
|
|
|
- zlxmid = listlis[0].zlxmid;
|
|
|
- hisApplyCode = xgid;
|
|
|
}
|
|
|
else if (listpacs.Count > 0 && listlis.Count == 0)//只有检查
|
|
|
{
|
|
|
hrType = 2;
|
|
|
- yzid = listpacs[0].yzid;
|
|
|
- xgid = listpacs[0].id;
|
|
|
- zlxmid = listpacs[0].zlxmid;
|
|
|
- hisApplyCode = xgid;
|
|
|
}
|
|
|
Log.Info("listpacs.Count"+ listpacs.Count);
|
|
|
Log.Info("listlis.Count" + listlis.Count);
|
|
@@ -306,44 +295,58 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
{
|
|
|
if (hrType==1)
|
|
|
{
|
|
|
- totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(zlxmid);
|
|
|
+ totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZlxmIds(LisPacs_MR_Bll.GetZlxmIdFromList(listlis)) ;// 获取总金额
|
|
|
+ // totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(zlxmid);
|
|
|
}
|
|
|
else if(hrType == 2)
|
|
|
{
|
|
|
-
|
|
|
- totalPrice = LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(zlxmid, listpacs[0].zxksid, listpacs[0].part, listpacs[0].method,1);
|
|
|
+ for (var ii = 0; ii < listpacs.Count; ii++)
|
|
|
+ {
|
|
|
+ totalPrice += LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(listpacs[ii].zlxmid, listpacs[ii].zxksid, listpacs[ii].part, listpacs[ii].method, 1);
|
|
|
+ }
|
|
|
+ //totalPrice = LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(zlxmid, listpacs[0].zxksid, listpacs[0].part, listpacs[0].method,1);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//获取合单之后 同时有检查和检验 的开单项目唯一id 以及金额
|
|
|
+ totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZlxmIds(LisPacs_MR_Bll.GetZlxmIdFromList(listlis));// 获取总金额
|
|
|
+ for (var ii = 0; ii < listpacs.Count; ii++)
|
|
|
+ {
|
|
|
|
|
|
-
|
|
|
+ totalPrice += LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(listpacs[ii].zlxmid, listpacs[ii].zxksid, listpacs[ii].part, listpacs[ii].method, 1);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- rd = LisPacs_MR_Bll.GetZYPostJson(lngPatientID, lngClinicID, code, hrType, totalPrice, xgid);
|
|
|
+ rd = LisPacs_MR_Bll.GetZYPostJson(lngPatientID, lngClinicID, code, hrType, totalPrice.ToString(), code);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (hrType == 1)
|
|
|
{
|
|
|
- totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(zlxmid);
|
|
|
+ totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZlxmIds(LisPacs_MR_Bll.GetZlxmIdFromList(listlis));// 获取总金额
|
|
|
+ //totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZLXM(zlxmid);
|
|
|
}
|
|
|
else if (hrType == 2)
|
|
|
{
|
|
|
- totalPrice = LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(zlxmid, listpacs[0].zxksid, listpacs[0].part, listpacs[0].method, 2);
|
|
|
+ for (var ii = 0; ii < listpacs.Count; ii++)
|
|
|
+ {
|
|
|
+ totalPrice += LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(listpacs[ii].zlxmid, listpacs[ii].zxksid, listpacs[ii].part, listpacs[ii].method, 2);
|
|
|
+ }
|
|
|
+ // totalPrice = LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(zlxmid, listpacs[0].zxksid, listpacs[0].part, listpacs[0].method, 2);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//获取合单之后 同时有检查和检验 的开单项目唯一id 以及金额
|
|
|
-
|
|
|
-
|
|
|
+ totalPrice = LisPacs_MR_Bll.GetTotalPriceForLisByZlxmIds(LisPacs_MR_Bll.GetZlxmIdFromList(listlis));// 获取总金额
|
|
|
+ for (var ii = 0; ii < listpacs.Count; ii++)
|
|
|
+ {
|
|
|
+ totalPrice += LisPacs_MR_Bll.GetTotalPriceForPacsByZLXM(listpacs[ii].zlxmid, listpacs[ii].zxksid, listpacs[ii].part, listpacs[ii].method, 1);
|
|
|
+ }
|
|
|
}
|
|
|
- rd = LisPacs_MR_Bll.GetMZPostJson(lngClinicID, code, hrType, totalPrice, xgid);
|
|
|
+ rd = LisPacs_MR_Bll.GetMZPostJson(lngClinicID, code, hrType, totalPrice.ToString(), code);
|
|
|
}
|
|
|
//SocketClient client = new SocketClient("127.0.0.1", 6061);
|
|
|
//Results result = new Results();
|
|
|
string json = Tools.RecordsetToJson(rd);
|
|
|
-
|
|
|
Log.Info("save发送json ===" + json);
|
|
|
socketClient.Send(json);
|
|
|
//Tools.Delay(waittingdate, 0);
|
|
@@ -388,6 +391,11 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
Log.Info("2:" + SocketClient.Message);
|
|
|
SaveData(waittingdate, lngPatientID, lngClinicID, listlis, listpacs, -1);
|
|
|
socketClient.Close();
|
|
|
+
|
|
|
+ //保存开单项目
|
|
|
+
|
|
|
+ int ii = LisPacs_MR_Bll.InsertHuRenBillProject(Dns.GetHostName(), lngPatientID, billProjectNames, 999, Tools.GetHostIp(), Infos.UserInfo.编号, code, hrType.ToString(), Infos.UserInfo.用户名);
|
|
|
+ Log.Info("开单状态="+ ii);
|
|
|
return true;
|
|
|
}
|
|
|
else if (rex.ResultCode == -1)//互认引用失败
|
|
@@ -400,9 +408,10 @@ namespace ZLPlugin_LisPacs_MR
|
|
|
{
|
|
|
MessageBox.Show(rex.ResultText.ToString(), "中联软件", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
|
|
socketClient.Close();
|
|
|
+ int ii = LisPacs_MR_Bll.InsertHuRenBillProject(Dns.GetHostName(), lngPatientID, billProjectNames, 999, Tools.GetHostIp(), Infos.UserInfo.编号, code, hrType.ToString(), Infos.UserInfo.用户名);
|
|
|
+ Log.Info("开单状态=" + ii);
|
|
|
return true;//此病人不存在互认信息
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
Log.Info("失败" + SocketClient.Message);
|
|
|
socketClient.Close();
|