298 lines
10 KiB
C#
298 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace DrawGraph
|
|
{
|
|
public class FactOutputLiquids : EventObj
|
|
{
|
|
private int _id;
|
|
private int _patientid;
|
|
private int _outputliquidstypeid;
|
|
private int _outputliquidsid;
|
|
//private int _outputliquidsName;
|
|
private DateTime _begintime;
|
|
private DateTime _endtime;
|
|
private decimal _dosage;
|
|
private string _dosageunit;
|
|
private int _iscontinue;
|
|
private string _remark;
|
|
private string _operatorno;
|
|
private string _operatorname;
|
|
private DateTime _operatedate;
|
|
public string OutputLiquidsName;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Id
|
|
{
|
|
set { _id = value; }
|
|
get { return _id; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int PatientId
|
|
{
|
|
set { _patientid = value; }
|
|
get { return _patientid; }
|
|
}
|
|
public int OutputLiquidsTypeId
|
|
{
|
|
set { _outputliquidstypeid = value; }
|
|
get { return _outputliquidstypeid; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int OutputLiquidsId
|
|
{
|
|
set { _outputliquidsid = value; }
|
|
get { return _outputliquidsid; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime BeginTime
|
|
{
|
|
set { _begintime = value; }
|
|
get { return _begintime; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime EndTime
|
|
{
|
|
set { _endtime = value; }
|
|
get { return _endtime; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public decimal Dosage
|
|
{
|
|
set { _dosage = value; }
|
|
get { return _dosage; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string DosageUnit
|
|
{
|
|
set { _dosageunit = value; }
|
|
get { return _dosageunit; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int IsContinue
|
|
{
|
|
set { _iscontinue = value; }
|
|
get { return _iscontinue; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string Remark
|
|
{
|
|
set { _remark = value; }
|
|
get { return _remark; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string OperatorNo
|
|
{
|
|
set { _operatorno = value; }
|
|
get { return _operatorno; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string OperatorName
|
|
{
|
|
set { _operatorname = value; }
|
|
get { return _operatorname; }
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime OperateDate
|
|
{
|
|
set { _operatedate = value; }
|
|
get { return _operatedate; }
|
|
}
|
|
public double nowY { get; set; }
|
|
public string EqualDose { get; set; }
|
|
|
|
public bool Equal(object drug1)
|
|
{
|
|
try
|
|
{
|
|
if ((this.DosageUnit == ((FactOutputLiquids)drug1).DosageUnit) && (this.OutputLiquidsName == ((FactOutputLiquids)drug1).OutputLiquidsName))
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public override void clearAddObj(ZedGraphControl zgc)
|
|
{
|
|
//if (zgcAnas == null || zgcAnas != zgc)
|
|
zgcAnas = zgc;
|
|
clearAddObjPic(zgc);
|
|
clearDNDTDD(zgc);
|
|
delAddObj(this.OutputLiquidsName + this.OutputLiquidsId);
|
|
}
|
|
private void clearAddObjPic(ZedGraphControl zgc)
|
|
{
|
|
//if (zgcAnas == null || zgcAnas != zgc)
|
|
zgcAnas = zgc;
|
|
delAddObj(TextPrefix.DT + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DD + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DD + this.OutputLiquidsName + this.Id.ToString() + "spicle");
|
|
delAddObj(TextPrefix.DU + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddArrows(TextPrefix.AR + this.OutputLiquidsName + this.Id.ToString());
|
|
delLineObj("A" + TextPrefix.AR + this.OutputLiquidsName + this.Id.ToString());
|
|
delLineObj("B" + TextPrefix.AR + this.OutputLiquidsName + this.Id.ToString());
|
|
}
|
|
public override void clearDNAndDT(ZedGraphControl zgc)
|
|
{
|
|
//if (zgcAnas == null)
|
|
zgcAnas = zgc;
|
|
delAddObj(TextPrefix.DN + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DT + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DU + this.OutputLiquidsName + this.Id.ToString());
|
|
//delAddObj(TextPrefix.DD + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(this.OutputLiquidsName + this.OutputLiquidsId);
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 画一条加药记录
|
|
/// </summary>
|
|
/// <param name="index">高度</param>
|
|
/// <param name="faRecord">总量</param>
|
|
public override void drawText(double x, double y)
|
|
{
|
|
if (zgcAnas == null) return;
|
|
clearAddObj(zgcAnas);
|
|
//画添加药品线,底部加加药次数和备注
|
|
this.nowY = y;
|
|
paintAdd(y);
|
|
//写加药的左边与右信息
|
|
drawAddText(x, y);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 画添加药品线,底部加加药次数和备注信息
|
|
/// </summary>
|
|
/// <param name="DrugsRecord"></param>
|
|
/// <param name="index"></param>
|
|
public void paintAdd(double y)
|
|
{
|
|
string tagName = this.OutputLiquidsName + this.Id.ToString();
|
|
string DoseStr = "";
|
|
if (Dosage != 0)
|
|
DoseStr = (((double)this.Dosage).ToString());
|
|
string RemarkStr = this.Remark;//
|
|
string s = "";
|
|
if ((EqualDose == null || EqualDose == ""))
|
|
{
|
|
if (Dosage != 0)
|
|
EqualDose = ((double)Dosage).ToString();
|
|
}
|
|
DateTime dt = EndTime;
|
|
DateTime drugDt = this.BeginTime;
|
|
|
|
bool isContinued = false;
|
|
if (IsContinue == 1 && BeginTime == EndTime)
|
|
{
|
|
dt = End;
|
|
isContinued = true;
|
|
}
|
|
if (EndTime != null && BeginTime != null && BeginTime != EndTime)
|
|
{
|
|
TimeSpan tsp = EndTime - BeginTime;
|
|
if (tsp.TotalMinutes >= 10)
|
|
{
|
|
drugDt = BeginTime.AddMinutes(tsp.TotalMinutes / 2 - 3);
|
|
}
|
|
}
|
|
if (((TimeSpan)(pageEnd - this.BeginTime)).TotalMinutes <= 2)
|
|
{
|
|
if (EqualDose == null)
|
|
{
|
|
if (s.Trim() != "")
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, s + " " + RemarkStr, 5f, isContinued);
|
|
else
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, DoseStr + " " + RemarkStr, 5f, isContinued);
|
|
}
|
|
else
|
|
{
|
|
if (s.Trim() != "")
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, s + "(" + EqualDose + ")" + RemarkStr, 5f, isContinued);
|
|
else
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, EqualDose + " " + RemarkStr, 5f, isContinued);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (EqualDose == null)
|
|
{
|
|
if (s.Trim() != "")
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, s + " " + RemarkStr, 6f, isContinued);
|
|
else
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, DoseStr + " " + RemarkStr, 6f, isContinued);
|
|
}
|
|
else
|
|
{
|
|
if (s.Trim() != "")
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, s + "(" + EqualDose + ")" + RemarkStr, 5.5f, isContinued);
|
|
else
|
|
drawDoseObj(y, tagName, this.BeginTime, dt, drugDt, EqualDose + " " + RemarkStr, 5.5f, isContinued);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 写加药的左边与右信息
|
|
/// </summary>
|
|
/// <param name="y">高度</param>
|
|
/// <param name="totalDose">总量</param>
|
|
public void drawAddText(double x, double y)
|
|
{
|
|
//左边写药名
|
|
TextObj text = (TextObj)zgcAnas.MasterPane.GraphObjList[TextPrefix.DN + this.OutputLiquidsName + this.Id.ToString()];
|
|
if (text == null)
|
|
{
|
|
double x1 = x;// 0.05f;
|
|
string DrName = this.OutputLiquidsName.Trim();
|
|
|
|
//if (this.Remark != null && this.Remark != "") DrName += "(" + this.Remark + ")";
|
|
if (this.DosageUnit != null && this.DosageUnit != "") DrName += "(" + this.DosageUnit + ")";
|
|
ZUtil.DrawText(DrName, x1, y, zgcAnas, TextPrefix.DN + this.OutputLiquidsName + this.Id.ToString(), Color.Black, 5.75f);
|
|
}
|
|
}
|
|
public void clearDNDTDD(ZedGraphControl zgc)
|
|
{
|
|
//if (zgcAnas == null || zgcAnas != zgc)
|
|
zgcAnas = zgc;
|
|
delAddObj(TextPrefix.DN + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DT + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DU + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(TextPrefix.DD + this.OutputLiquidsName + this.Id.ToString());
|
|
delAddObj(this.OutputLiquidsName + this.OutputLiquidsId);
|
|
|
|
}
|
|
}
|
|
}
|