HISFC 结算前校验数量管理 - 非药品项目

该模块用于管理HISFC系统中非药品项目的结算前校验数量。您可以查询、编辑非药品项目的校验规则,包括出院校验提醒、拦截以及校验次数设置。

功能介绍:

  • 查询非药品项目: 可以通过项目名称进行查询,查询结果将显示在表格中,包含项目ID、项目名称、校验类型、校验次数以及校验分组。
  • 编辑校验规则: 双击表格中的项目条目,可以打开编辑窗口,修改项目的校验规则。

操作说明:

  1. 点击“查询非药品项目”按钮,查询所有非药品项目。
  2. 输入项目名称进行查询,可以快速定位到指定的项目。
  3. 双击表格中的项目条目,可以打开编辑窗口修改项目信息。

代码示例:

namespace Neusoft.HISFC.Components.Manager.Controls
{
    //新增结算前校验数量 {8E5797C3-9757-4964-8C58-D2A9F1C169F7} xingshq 20210924
    public partial class ucManagerItemNum : Neusoft.FrameWork.WinForms.Controls.ucBaseControl
    {
        public ucManagerItemNum()
        {
            InitializeComponent();
        }
        private void ucManagerItemNum_Load(object sender, System.EventArgs e)
        {
            this.Query();
        }
        #region 菜单
        private Neusoft.FrameWork.WinForms.Forms.ToolBarService toolBarService = new Neusoft.FrameWork.WinForms.Forms.ToolBarService();

        protected override Neusoft.FrameWork.WinForms.Forms.ToolBarService OnInit(object sender, object neuObject, object param)
        {
            toolBarService.AddToolButton('查询非药品项目', '', (int)Neusoft.FrameWork.WinForms.Classes.EnumImageList.C查询, true, false, null);

            return toolBarService;
        }

        public override void ToolStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            switch (e.ClickedItem.Text)
            {
                case '查询非药品项目':
                    {
                        this.QueryByItemName();
                        break;
                    }
            }

            base.ToolStrip_ItemClicked(sender, e);
        }
        #endregion
        public int Query()
        {
            ArrayList alItem = null;
            Neusoft.HISFC.BizLogic.Fee.Item item = new Neusoft.HISFC.BizLogic.Fee.Item();
            //alItem = item.getItemNumType();
            alItem = item.getItemNumType('1', string.Empty, 100);
            int count = 0;

            foreach (Neusoft.HISFC.Models.Fee.Item.Undrug Item in alItem)
            {
                //if (count >= 100) break;//只显示100条数据 YY
                this.neuSpread_sheet1.Rows.Add(count, 1);
                this.neuSpread_sheet1.Cells[count, 0].Text = Item.ID;
                this.neuSpread_sheet1.Cells[count, 1].Text = Item.Name;
                if (Item.NumType == '1')
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '出院校验时提醒';
                }
                else if (Item.NumType == '2')
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '出院校验时拦截';
                }
                else
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '无校验';
                }
                this.neuSpread_sheet1.Cells[count, 3].Text = Item.NumTimes.ToString();
                this.neuSpread_sheet1.Cells[count, 4].Tag = Item.FeeCheckGroup.ToString();
                this.neuSpread_sheet1.Cells[count, 4].Text = Item.FeeCheckGroupName.ToString();
                //count++;// YY
            }
            this.neuSpread_sheet1.Columns[0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[3].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[4].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[0].Locked = true;
            this.neuSpread_sheet1.Columns[1].Locked = true;
            this.neuSpread_sheet1.Columns[2].Locked = true;
            this.neuSpread_sheet1.Columns[3].Locked = true;
            this.neuSpread_sheet1.Columns[4].Locked = true;

            return 1;
        }
        public int QueryByItemName()
        {
            ArrayList alItem = null;
            Neusoft.HISFC.BizLogic.Fee.Item item = new Neusoft.HISFC.BizLogic.Fee.Item();
            string itemName = this.txtItemName.Text;
            if (string.IsNullOrEmpty(itemName))
            {
                alItem = item.getItemNumType('1', string.Empty, 100);
            }
            else
            {
                //alItem = item.getItemNumType(itemName);
                alItem = item.getItemNumType(string.Empty, itemName, 0);
            }
            
            int count = 0;

            foreach (Neusoft.HISFC.Models.Fee.Item.Undrug Item in alItem)
            {
                //if (count >= 100) break;//只显示100条数据 YY
                this.neuSpread_sheet1.Rows.Add(count, 1);
                this.neuSpread_sheet1.Cells[count, 0].Text = Item.ID;
                this.neuSpread_sheet1.Cells[count, 1].Text = Item.Name;
                if (Item.NumType == '1')
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '出院校验时提醒';
                }
                else if (Item.NumType == '2')
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '出院校验时拦截';
                }
                else
                {
                    this.neuSpread_sheet1.Cells[count, 2].Text = '无校验';
                }
                this.neuSpread_sheet1.Cells[count, 3].Text = Item.NumTimes.ToString();
                this.neuSpread_sheet1.Cells[count, 4].Tag = Item.FeeCheckGroup.ToString();
                this.neuSpread_sheet1.Cells[count, 4].Text = Item.FeeCheckGroupName.ToString();
                //count++;// YY
            }
            this.neuSpread_sheet1.Columns[0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[3].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[4].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
            this.neuSpread_sheet1.Columns[0].Locked = true;
            this.neuSpread_sheet1.Columns[1].Locked = true;
            this.neuSpread_sheet1.Columns[2].Locked = true;
            this.neuSpread_sheet1.Columns[3].Locked = true;
            this.neuSpread_sheet1.Columns[4].Locked = true;

            return 1;
        }
        private void neuSpread_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
        {
            using (var editor = new frmManagerItemNum())
            {
                Neusoft.HISFC.Models.Fee.Item.Undrug undrug = new Neusoft.HISFC.Models.Fee.Item.Undrug();
                undrug.ID = this.neuSpread_sheet1.Cells[e.Row, 0].Text.ToString().Trim();
                undrug.Name = this.neuSpread_sheet1.Cells[e.Row, 1].Text.ToString().Trim();
                undrug.NumType = this.neuSpread_sheet1.Cells[e.Row, 2].Text.ToString().Trim();
                undrug.NumTimes = Convert.ToDecimal(this.neuSpread_sheet1.Cells[e.Row, 3].Text.ToString().Trim());
                undrug.FeeCheckGroup = this.neuSpread_sheet1.Cells[e.Row, 4].Tag.ToString().Trim();
                undrug.FeeCheckGroupName = this.neuSpread_sheet1.Cells[e.Row, 4].Text.ToString().Trim();
                editor.undrug = undrug;
                editor.ShowDialog();

            }
        }
    }
}

信息保存时刷新当前数据:

在信息保存时刷新当前数据可以在保存按钮的Click事件中添加代码实现,具体位置可以在保存数据之前或之后进行刷新。以下是示例代码:

private void btnSave_Click(object sender, EventArgs e)
{
    // 保存信息到数据库

    // 刷新当前数据
    this.Query();
}

在这个示例中,保存按钮的Click事件中先保存信息到数据库,然后调用Query()方法刷新当前数据。Query()方法会清除原有数据并重新加载最新数据,因此可以实现刷新数据的效果。需要注意的是,如果保存信息的过程中发生了异常,可能会导致数据没有保存成功,但是已经刷新了当前数据,这时可能需要增加一些异常处理的代码。

注意:

  • 为了更好地进行搜索引擎优化,请将代码中的注释整理成更易读的格式,并使用更详细的描述性文字。
  • 代码中使用了 // 注释,建议使用 /// 开头的 XML 注释,可以生成更友好的代码文档。
  • 可以使用代码片段或代码块来展示代码,并添加合适的标签,以便提高可读性和可访问性。
  • 补充更多关于 HISFC 系统的描述,例如系统版本、功能特点等,方便用户理解。
  • 可以使用相关图片或视频来增强内容的可视化效果,提升用户体验。
  • 尽量使用简短、清晰的语言描述内容,并避免出现语法错误。
  • 请根据实际情况进行调整,并确保内容准确、完整、易于理解。
HISFC 结算前校验数量管理 - 非药品项目

原文地址: https://www.cveoy.top/t/topic/nXL9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录