Ejemplo n.º 1
0
        private void miModOp_Click(object sender, RoutedEventArgs e)
        {
            if (null == lbOpRecord.SelectedItem)
            {
                BLPublic.Dialogs.Alert("请选择要修改的记录.");
                lbOpRecord.Focus();
                return;
            }

            DataRowView dv       = (DataRowView)lbOpRecord.SelectedItem;
            string      typeCode = dv["OpType"].ToString();

            if ("note".Equals(typeCode))
            {
                WinInput input = new WinInput();
                input.Owner = AppConst.winMain;
                input.inputLong("笔记", "修改笔记", (_txt) =>
                {
                    if (AppConst.db.ExecSQL(string.Format(SQL.MOD_PM_NOTE, BLPublic.DBOperate.ACS(_txt),
                                                          dv["OpID"].ToString())))
                    {
                        dv["OpContent"] = _txt;
                        lbOpRecord.Items.Refresh();
                        return(true);
                    }
                    else
                    {
                        BLPublic.Dialogs.Error("保存笔记失败:" + AppConst.db.Error);
                    }
                    return(false);
                },
                                dv["OpContent"].ToString());

                input.ShowDialog();
                input = null;
            }
            else if ("custody".Equals(typeCode))
            {
                WinCustodyEdit.TPNCustodyIntervene(Convert.ToInt32(dv["OpID"].ToString()), false,
                                                   (id, objStr, desc) =>
                {
                    dv["OpContent"] = objStr + "\r\n" + desc;
                    lbOpRecord.Items.Refresh();
                });
            }
            else if ("intervene".Equals(typeCode))
            {
                WinCustodyEdit.TPNCustodyIntervene(Convert.ToInt32(dv["OpID"].ToString()), true,
                                                   (id, objStr, desc) =>
                {
                    dv["OpContent"] = objStr + "\r\n" + desc;
                    lbOpRecord.Items.Refresh();
                });
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// TPN参数监护和敢于
        /// </summary>
        private void TPNCustodyIntervene(bool _isIntervene)
        {
            if (0 == lvTPNItems.SelectedItems.Count)
            {
                BLPublic.Dialogs.Alert("请选择要监护的项目");
                lvTPNItems.Focus();
                return;
            }

            if (!WinCustodyEdit.chkWin(_isIntervene))
            {
                return;
            }

            if ((1 == lvTPNItems.SelectedItems.Count) && (0 >= ((recipemonitorlist.TPNItemModel)lvTPNItems.SelectedItems[0]).ID))
            {
                BLPublic.Dialogs.Alert("请选择TPN项目");
                lvTPNItems.Focus();
                return;
            }

            recipemonitorlist.TPNItemModel tpn = null;
            if (null == WinCustodyEdit.OnSetObject)
            {
                if (!WinCustodyEdit.TPNCustodyIntervene(this.patient.PatientCode, _isIntervene,
                                                        (id, objStr, desc) =>
                {
                    if (_isIntervene)
                    {
                        this.addIntervene(id, objStr, desc);
                    }
                    else
                    {
                        this.addCustody(id, objStr, desc);
                    }

                    lbOpRecord.Items.Refresh();
                }))
                {
                    return;
                }
            }

            foreach (object o in lvTPNItems.SelectedItems)
            {
                tpn = (recipemonitorlist.TPNItemModel)o;
                if (0 < tpn.ID)
                {
                    WinCustodyEdit.OnSetObject(WinCustodyEdit.OBJTYP_TPN, tpn.Code, tpn.Name, tpn.Value + tpn.Unit,
                                               Convert.ToDateTime(((OrdersModel)lbOrders.SelectedItem).OrderTime));
                }
            }
        }
Ejemplo n.º 3
0
        private void miDrugIntervene_Click(object sender, RoutedEventArgs e)
        {
            if (null == lbOrders.SelectedItem)
            {
                BLPublic.Dialogs.Alert("请选择医嘱.");
                lbOrders.Focus();
                return;
            }

            //选择药品
            List <object> list = new List <object>();

            foreach (OrdersDrugModel drug in ((OrdersModel)lbOrders.SelectedItem).Drugs)
            {
                list.Add(drug);
            }

            OrdersDrugModel selDrug = null;
            WinList         winLst  = new WinList();

            winLst.Owner = AppConst.winMain;
            winLst.Width = 300;
            winLst.init(list);
            if (true == winLst.ShowDialog())
            {
                selDrug = (OrdersDrugModel)winLst.SelObject;
            }

            if (null == selDrug)
            {
                return;
            }

            if (null == WinCustodyEdit.OnSetObject)
            {
                if (!WinCustodyEdit.TPNCustodyIntervene(this.patient.PatientCode, true,
                                                        (id, objStr, desc) =>
                {
                    this.addIntervene(id, objStr, desc);
                    lbOpRecord.Items.Refresh();
                }))
                {
                    return;
                }
            }


            WinCustodyEdit.OnSetObject(WinInterveneEdit.OBJTYP_DRUG, selDrug.Code, selDrug.Name,
                                       selDrug.Dosage + selDrug.DosageUnit,
                                       Convert.ToDateTime(((OrdersModel)lbOrders.SelectedItem).OrderTime));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 显示监护/干预界面
        /// </summary>
        /// <param name="_pCode"></param>
        /// <param name="_isIntervene"></param>
        /// <param name="_onOK"></param>
        /// <returns></returns>
        private static bool TPNCustodyIntervene(int _editID, string _pCode, bool _isIntervene,
                                                Action <int, string, string> _onOK)
        {
            if (!chkWin(_isIntervene))
            {
                return(false);
            }

            ICustodyEdit win = null;

            if (_isIntervene)
            {
                win = new WinInterveneEdit();
            }
            else
            {
                win = new WinCustodyEdit();
            }

            ((Window)win).Owner = AppConst.winMain;
            if (0 < _editID)
            {
                win.EditID = _editID;
            }
            else
            {
                win.init(_pCode, null);
            }

            win.OnEnd = (isOK) =>
            {
                WinCustodyEdit.OnSetObject = null;
                if (isOK && (null != _onOK))
                {
                    _onOK(win.EditID, win.getObjectStr(), win.getDesc());
                }
            };

            ((Window)win).Topmost = true;
            ((Window)win).Show();

            WinCustodyEdit.IsIntervene = _isIntervene;
            WinCustodyEdit.OnSetObject = (type, objcode, objname, objvalue, valtime) =>
            {
                win.setObject(type, objcode, objname, objvalue, valtime);
            };

            return(true);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 加载监护
        /// </summary>
        private void loadCustody()
        {
            string sql = "";

            if (true == cbAllPatient.IsChecked)
            {
                sql = string.Format(SQL.SEL_CUSTODY_BYDATE, ((DateTime)dpSDate.SelectedDate).ToString("yyyy-MM-dd"),
                                    ((DateTime)dpEDate.SelectedDate).AddDays(1).ToString("yyyy-MM-dd"));
            }
            else if (null == this.patient)
            {
                return;
            }
            else
            {
                sql = string.Format(SQL.SEL_CUSTODY_BYPNT2, this.patient.PatientCode);
            }

            DataTable tbl = null;

            if (AppConst.db.GetRecordSet(sql, ref tbl))
            {
                BLPublic.BLDataReader bldr = new BLPublic.BLDataReader(tbl.CreateDataReader());
                string content             = "";
                while (bldr.next())
                {
                    content = WinCustodyEdit.getObjectStr(bldr.getInt("CustodyID")) + ". " + bldr.getString("CustodyDesc");
                    if (!bldr.isNull("FinishTime"))
                    {
                        content += ". (已结束)";
                    }

                    this.tblOpRecord.Rows.Add(new object[] { "custody", bldr.getInt("CustodyID"),
                                                             bldr.getString("DeptName"), bldr.getString("BedNo"), bldr.getString("PatientName"),
                                                             bldr.getDateTime("CustodyTime"), content, ComClass.getEmpName(bldr.getString("Custodyer")) });
                }

                bldr.close();
                tbl.Clear();
            }
            else
            {
                BLPublic.Dialogs.Error("加载监护失败:" + AppConst.db.Error);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 加载监护记录
        /// </summary>
        private void loadCustody()
        {
            DataTable tbl = null;

            if (AppConst.db.GetRecordSet(string.Format(SQL.SEL_CUSTODY_BYPNT, this.patient.PatientCode), ref tbl))
            {
                BLPublic.BLDataReader bldr = new BLPublic.BLDataReader(tbl.CreateDataReader());
                while (bldr.next())
                {
                    addCustody(bldr.getInt("CustodyID"), WinCustodyEdit.getObjectStr(bldr.getInt("CustodyID"), "\r\n"),
                               bldr.getString("CustodyDesc"), bldr.getDateTime("CustodyTime"), bldr.getString("Custodyer"));
                }

                bldr.close();
                tbl.Clear();
            }
            else
            {
                BLPublic.Dialogs.Error("加载监护记录失败:" + AppConst.db.Error);
            }
        }
Ejemplo n.º 7
0
        private void Custody_Click(object sender, RoutedEventArgs e)
        {
            if (null == patient)
            {
                BLPublic.Dialogs.Alert("请先选择病人.");
                return;
            }

            WinCustodyEdit win = new WinCustodyEdit();

            win.Owner = AppConst.winMain;
            win.init(patient.PatientCode,
                     (isOK) =>
            {
                if (isOK)
                {
                    addCustody(win.EditID, win.getObjectStr(), win.getDesc());
                }
            });

            win.ShowDialog();
        }
Ejemplo n.º 8
0
        private void miCustody_Click(object sender, RoutedEventArgs e)
        {
            if (0 == lvChkResult.SelectedItems.Count)
            {
                BLPublic.Dialogs.Alert("请选择要监护的项目");
                lvChkResult.Focus();
                return;
            }

            if (!WinCustodyEdit.chkWin(false))
            {
                return;
            }

            CheckResult cr = null;

            if (null == WinCustodyEdit.OnSetObject)
            {
                if (!WinCustodyEdit.TPNCustodyIntervene(this.PatientCode, false,
                                                        (id, objStr, desc) =>
                {
                    if (null != this.onNewCustody)
                    {
                        this.onNewCustody(id, objStr, desc);
                    }
                }))
                {
                    return;
                }
            }

            foreach (object o in lvChkResult.SelectedItems)
            {
                cr = (CheckResult)o;
                WinCustodyEdit.OnSetObject(WinCustodyEdit.OBJTYP_LIS, cr.ItemCode, cr.ItemName, cr.Value + cr.Unit,
                                           this.chkTime);
            }
        }
Ejemplo n.º 9
0
        private void btnMod_Click(object sender, RoutedEventArgs e)
        {
            if (null == lvRecord.SelectedItem)
            {
                BLPublic.Dialogs.Alert("请选择要修改的记录.");
                lvRecord.Focus();
                return;
            }

            DataRowView dv       = (DataRowView)lvRecord.SelectedItem;
            string      typeCode = dv["TypeCode"].ToString();

            if ("note".Equals(typeCode))
            {
                WinInput input = new WinInput();
                input.Owner = AppConst.winMain;
                input.inputLong("笔记", "修改笔记", (_txt) =>
                {
                    if (AppConst.db.ExecSQL(string.Format(SQL.MOD_PM_NOTE, BLPublic.DBOperate.ACS(_txt),
                                                          dv["ID"].ToString())))
                    {
                        dv["Content"] = _txt;
                        lvRecord.Items.Refresh();
                        return(true);
                    }
                    else
                    {
                        BLPublic.Dialogs.Error("保存笔记失败:" + AppConst.db.Error);
                    }
                    return(false);
                },
                                dv["Content"].ToString());

                input.ShowDialog();
                input = null;
            }
            else if ("custody".Equals(typeCode))
            {
                if (dv["Content"].ToString().Contains("已完成"))
                {
                    BLPublic.Dialogs.Alert("已完成监护,不可修改.");
                    return;
                }

                WinCustodyEdit win = new WinCustodyEdit();
                win.Owner  = AppConst.winMain;
                win.EditID = Convert.ToInt32(dv["ID"].ToString());
                win.OnEnd  = (isOK) =>
                {
                    if (isOK)
                    {
                        dv["Content"] = win.getObjectStr() + "." + win.txtCustodyDesc.Text.Trim();
                        lvRecord.Items.Refresh();
                    }
                };

                win.Topmost = true;
                win.Show();
            }
            else if ("intervene".Equals(typeCode))
            {
                WinInterveneEdit win = new WinInterveneEdit();
                win.Owner  = AppConst.winMain;
                win.EditID = Convert.ToInt32(dv["ID"].ToString());
                win.OnEnd  = (isOK) =>
                {
                    if (isOK)
                    {
                        dv["Content"] = win.getObjectStr() + "." + win.txtInterveneDesc.Text.Trim();
                        lvRecord.Items.Refresh();
                    }
                };

                win.Topmost = true;
                win.Show();
            }
        }