AIMS/DrawGraph/AreaManage/TokenEditorManage.cs
leomon 8fa93ff14b 药品拖拽
8间气道压没画
动态配置术前排程显示样式
用药界面增加持续时长
2023-05-15 15:12:35 +08:00

252 lines
10 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AIMSExtension;
using DevComponents.DotNetBar.Controls;
using HelperDB;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
namespace DrawGraph
{
public static class TokenEditorManage
{
public static void SelectDictList(OperationRecord OpeRecord, TextBox txt, bool IsSearch = true)
{
//检索字典数据
try
{
DevComponents.DotNetBar.Controls.TokenEditor tokenEditor = txt.Parent as DevComponents.DotNetBar.Controls.TokenEditor;
AbleEditPackObj aEdit = tokenEditor.Tag as AbleEditPackObj;
string PersonType = "";
switch (aEdit.ClassDataSourceName)
{
case "OperationRecord.AnesthesiaDoctor": //麻醉医生
PersonType = "2";
IsSearch = false;
break;
case "OperationRecord.OperationDoctor":
PersonType = "0";
IsSearch = false;
break;
case "OperationRecord.InstrumentNurse":
PersonType = "3";
break;
case "OperationRecord.Assistant1":
PersonType = "0";
break;
case "OperationRecord.TourNurse":
PersonType = "3";
break;
case "OperationRecord.OrtherDoctorId":
PersonType = "4";
break;
case "OperationRecord.AnaesthesiaMethodName":
IsSearch = false;
break;
}
DataTable dt = DBManage.GetDictDataTable(OpeRecord, txt.Text, aEdit.ControlTitleText, PersonType, (IsSearch == true ? aEdit.PackValue : ""));
tokenEditor.Tokens.Clear();
//for (int i = tokenEditor.Tokens.Count - 1; i >= 0; i--)
//{
// tokenEditor.Tokens.Remove(tokenEditor.Tokens[i]);
//}
//DevComponents.DotNetBar.Controls.EditToken edit1 = new DevComponents.DotNetBar.Controls.EditToken("", "无");
//tokenEditor.Tokens.Add(edit1);
foreach (DataRow item in dt.Rows)
{
DevComponents.DotNetBar.Controls.EditToken edit = new DevComponents.DotNetBar.Controls.EditToken(item["Id"].ToString(), item["Name"].ToString());
tokenEditor.Tokens.Add(edit);
}
switch (aEdit.ClassDataSourceName)
{
case "OperationRecord.AnesthesiaDoctor": //麻醉医生
case "OperationRecord.OperationDoctor":
case "OperationRecord.InstrumentNurse":
case "OperationRecord.Assistant1":
case "OperationRecord.TourNurse":
case "OperationRecord.OrtherDoctorId":
tokenEditor.DropDownHeight = dt.Rows.Count * 23;
break;
case "OperationRecord.Applydiagnose": //手术诊断
case "OperationRecord.Applyoperation": //手术诊断
case "OperationRecord.Operation": //手术诊断
case "OperationRecord.Diagnose": //手术诊断
tokenEditor.DropDownHeight = 340;
break;
default:
tokenEditor.DropDownHeight = 250;
break;
}
//if (tokenEditor.IsPopupOpen == false)
tokenEditor.IsPopupOpen = true; //弹出下拉框
}
catch (System.Exception ex)
{
PublicMethod.WriteLog(ex);
}
}
public static string GetOperationItemId(string namestr, AbleEditPackObj aEdit)
{
string Id = "";
string Name = namestr.Replace("\n", "").Replace("\t", "");
if (aEdit.ControlTitleText == "手术")
{
string sql = string.Format("select Id from Operation where Name = '{0}'", Name);
object dt = DBHelper.ExecuteScalar(sql);
if (dt != null) { Id = dt.ToString(); }
if (Id == null || Id == "")
{
string sql2 = string.Format("insert into Operation values('{0}','{1}','{2}',0,1,'admin','系統管理員',getdate(),'{3}');select @@identity ", "", Name, PublicMethod.GetFirstLetter(Name), "");
Id = DBHelper.ExecuteScalar(sql2).ToString();
}
}
else if (aEdit.ControlTitleText == "诊断")
{
string sql = string.Format("select Id from Disease where Name = '{0}'", Name);
object dt = DBHelper.ExecuteScalar(sql);
if (dt != null) { Id = dt.ToString(); }
if (Id == null || Id == "")
{
string sql2 = string.Format("insert into Disease values('{0}','{1}','{2}',0,1,'admin','系統管理員',getdate());select @@identity ", "", Name, PublicMethod.GetFirstLetter(Name));
Id = DBHelper.ExecuteScalar(sql2).ToString();
}
}
return Id;
}
public static string GetWorkerTags(string text, string value)
{
string result = "";
try
{
string sql = string.Format("select Name from Person where Id = '{0}'", value);
object dt = DBHelper.ExecuteScalar(sql);
if (dt != null)
{
string name = dt.ToString();
result = text.Replace(name, "");//.Replace(",", "")
}
}
catch (System.Exception)
{
result = "";
}
return result;
}
public static void SaveDictItem(TemplateManage _template, OperationRecord OpeRecord, TokenEditor tokenEditor, AbleEditPackObj aEdit, bool IsVisible = false)
{
string SplitChar = ",";
if (aEdit.ClassDataSourceName == "OperationRecord.AnaesthesiaMethodName")
{
SplitChar = "+";
}
string Value = "";
string Key = "";
List<string> namevalue = new List<string>();
List<string> idvalue = new List<string>();
foreach (var item in tokenEditor.SelectedTokens)
{
namevalue.Add(item.Text);
idvalue.Add(item.Value);
}
if (idvalue.Count > 0)
{
Value = string.Join(SplitChar, namevalue);
Key = string.Join(SplitChar, idvalue);
}
else
{
Value = "";
Key = "";
}
if (IsVisible == true)
aEdit.IsVisible = !aEdit.IsVisible;
if (aEdit.PackValue != Value)
//设置属性的值
_template.SetObjValue(OpeRecord, aEdit.ClassDataSourceName, Value, Key, true);
if (aEdit.ClassDataSourceName == "OperationRecord.Applydiagnose")
{
_template.SetObjValue(OpeRecord, "OperationRecord.Diagnose", Value, Key, true);
}
}
public static void SaveDictItemText(TemplateManage _template, OperationRecord OpeRecord, TokenEditor tokenEditor, AbleEditPackObj aEdit, bool IsVisible = false)
{
string SplitChar = ",";
if (aEdit.ClassDataSourceName == "OperationRecord.AnaesthesiaMethodName")
{
SplitChar = "+";
}
string Value = "";
List<string> namevalue = new List<string>();
foreach (var item in tokenEditor.SelectedTokens)
{
namevalue.Add(item.Text);
}
if (namevalue.Count > 0)
{
Value = string.Join(SplitChar, namevalue);
}
else
{
Value = "";
}
if (IsVisible == true)
aEdit.IsVisible = !aEdit.IsVisible;
if (aEdit.PackValue != Value)
//设置属性的值
_template.SetObjValue(OpeRecord, aEdit.ClassDataSourceName, Value, Value, true);
}
public static void SaveDictItem2(TemplateManage _template, OperationRecord OpeRecord, TokenEditor tokenEditor, AbleEditPackObj aEdit, bool IsVisible = false)
{
string SplitChar = ",";
if (aEdit.ClassDataSourceName == "OperationRecord.AnaesthesiaMethodName")
{
SplitChar = "+";
}
string Value = "";
string Key = "";
string Tag = "";
List<string> namevalue = new List<string>();
List<string> idvalue = new List<string>();
List<string> tagvalue = new List<string>();
foreach (var item in tokenEditor.SelectedTokens)
{
namevalue.Add(item.Text);
idvalue.Add(item.Value);
tagvalue.Add(GetWorkerTags(item.Text, item.Value));
}
if (idvalue.Count > 0)
{
Value = string.Join(SplitChar, namevalue);
Key = string.Join(SplitChar, idvalue);
Tag = string.Join("|", tagvalue);
}
else
{
Value = "";
Key = "";
Tag = "";
}
if (aEdit.ClassDataSourceName == "OperationRecord.OperationDoctor")
{
_template.SetObjValue(OpeRecord, "OperationRecord.OpeRecordInfo.Extend4", Tag, Tag, true);
}
else if (aEdit.ClassDataSourceName == "OperationRecord.AnesthesiaDoctor")
{
_template.SetObjValue(OpeRecord, "OperationRecord.OpeRecordInfo.Extend5", Tag, Tag, true);
}
if (IsVisible == true)
aEdit.IsVisible = !aEdit.IsVisible;
if (aEdit.PackValue != Value)
//设置属性的值
_template.SetObjValue(OpeRecord, aEdit.ClassDataSourceName, Value, Key, true);
}
}
}