• 体检套餐管理系统


           体检套餐管理系统

              1.任务描述

                     1.加载默认体检套餐

                        

                  2.维护体检套餐

                        

                        维护功能主要有以下几个方面

                        1.显示指定套餐的项目明细

                        2.向指定套餐添加检查项目信息

                        3.删除套餐中的项目信息

                        4.新建套餐

             

              2.实现代码      

                  1.搭建体检套餐管理系统的主窗体

                              

                  2.创建体检套餐项目维护中的检查项目类,体检套餐类

                     

                  3.系统默认提供一种套餐“入学套餐”填充检查项目对象到窗体

                     

     1   //套餐类
     2    public class HealthCheckSet
     3     {
     4         private string name;
     5 
     6         public string Name
     7         {
     8             get { return name; }
     9             set { name = value; }
    10         }
    11 
    12         private int price;
    13 
    14         public int Price
    15         {
    16             get { return price; }
    17             set { price = value; }
    18         }
    19 
    20         private Dictionary<string, HealthCheckItem> item;
    21 
    22         public Dictionary<string, HealthCheckItem> Item
    23         {
    24             get { return item; }
    25             set { item = value; }
    26         }
    27 
    28         public HealthCheckSet() 
    29         {
    30             item = new Dictionary<string, HealthCheckItem>();
    31         }
    32 
    33         public HealthCheckSet(string name,Dictionary<string,HealthCheckItem> item) 
    34         {
    35             this.Name = name;
    36             this.Item = item;
    37         }
    38 
    39         public void GetPrice() 
    40         {
    41             int sum = 0;
    42             foreach (HealthCheckItem i in item.Values)
    43             {
    44                 sum += i.Price;
    45             }
    46             this.price = sum;
    47         }
    48     }
     1   //项目类
     2    public class HealthCheckItem
     3     {
     4         private string name;
     5 
     6         public string Name
     7         {
     8             get { return name; }
     9             set { name = value; }
    10         }
    11         private int price;
    12 
    13         public int Price
    14         {
    15             get { return price; }
    16             set { price = value; }
    17         }
    18         private string description;
    19 
    20         public string Description
    21         {
    22             get { return description; }
    23             set { description = value; }
    24         }
    25         public HealthCheckItem(string name, int price, string description) 
    26         {
    27             this.Name = name;
    28             this.Price = price;
    29             this.Description = description;
    30         }
    31     }
     1 //窗体中主要实现代码
     2         public frmMain()
     3         {
     4             InitializeComponent();
     5         }
     6         //用于保存单个项目
     7         HealthCheckItem h1, h2, h3, h4, h5, h6, h7, h8;
     8         //单个项目集合
     9         Dictionary<string, HealthCheckItem> allItem = new Dictionary<string, HealthCheckItem>();
    10         //一个套餐所包含的项目
    11         Dictionary<string, HealthCheckItem> items = new Dictionary<string, HealthCheckItem>(); 
    12         //套餐集合
    13         Dictionary<string, HealthCheckSet> allSet = new Dictionary<string, HealthCheckSet>();
    14         //定义一个初始化套餐
    15         HealthCheckSet set;
    16         //向初始化的套餐添加各个项目
    17         public void GetItems() 
    18         {
    19             h1 = new HealthCheckItem("身高",5,"用于检查身高");
    20             h2 = new HealthCheckItem("体重", 5, "用于检查体重");
    21             h3 = new HealthCheckItem("视力", 5, "用于检查视力");
    22             h4 = new HealthCheckItem("听力", 5, "用于检查听力");
    23             h5 = new HealthCheckItem("B超", 30, "用于检查B超");
    24             h6 = new HealthCheckItem("肝功能", 30, "用于检查肝功能");
    25             h7 = new HealthCheckItem("心电图", 50, "用于检查心电图");
    26             h8 = new HealthCheckItem("血常规", 50, "用于检查血常规");
    27             allItem.Add(h1.Name, h1);
    28             allItem.Add(h2.Name, h2);
    29             allItem.Add(h3.Name, h3);
    30             allItem.Add(h4.Name, h4);
    31             allItem.Add(h5.Name, h5);
    32             allItem.Add(h6.Name, h6);
    33             allItem.Add(h7.Name, h7);
    34             allItem.Add(h8.Name, h8);
    35 
    36         }
    37         //添加一个套餐
    38         public void GetSet() 
    39         {
    40             items.Add(h1.Name,h1);
    41             items.Add(h3.Name, h3);
    42             items.Add(h4.Name, h4);
    43             set = new HealthCheckSet("入学体检",items);
    44             set.GetPrice();
    45             allSet.Add("入学体检",set);
    46         }
    47         //绑定下拉框 
    48         public void GetCbo() 
    49         {
    50             cboSetList.Items.Clear();
    51             cboSetList.Items.Add("请选择");
    52             foreach (string a in allSet.Keys)
    53             {
    54                 cboSetList.Items.Add(a);
    55             }
    56             this.cboSetList.SelectedIndex = 0;
    57 
    58             cbolitemsList.Items.Clear();
    59             cbolitemsList.Items.Add("请选择");
    60             foreach (string a in allItem.Keys)
    61             {
    62                 cbolitemsList.Items.Add(a);
    63             }
    64             this.cbolitemsList.SelectedIndex = 0;
    65         }
    66         //窗体加载时调用各个方法
    67         private void frmMain_Load(object sender, EventArgs e)
    68         {
    69 
    70             GetItems();
    71             GetSet();
    72             GetCbo();
    73         }

              实现效果:

          

         4.实现删除体检套餐信息

             

     //删除
            private void btnDelete_Click(object sender, EventArgs e)
            {
                string name = this.dgvList.SelectedRows[0].Cells[0].Value.ToString();
                string Setname = this.cboSetList.Text;
                MessageBox.Show(string.Format("确定要删除"+name+"这一项吗?","提示"));
                allSet[Setname].Item.Remove(name);
                UpdateSet(allSet[Setname]);
            }

    实现效果:

    5.向套餐中添加检查项目

    //向套餐中添加项目
            private void btnItemAdd_Click(object sender, EventArgs e)
            {
                if(this.cbolitemsList.SelectedIndex==0)
                {
                    MessageBox.Show("请选择要添加的项目");
                    return;
                }
                string name=this.cboSetList.Text;
                if(name=="请选择")
                {
                    MessageBox.Show("请选择套餐");
                    return;
                }
                if (!allSet[name].Item.Keys.ToList().Contains(this.cbolitemsList.Text))
                {
                    allSet[name].Item.Add(this.cbolitemsList.Text, allItem[this.cbolitemsList.Text]);
                    this.lblName.Text = name;
                    GetPrice();
                    UpdateSet(allSet[name]);
                }
                else 
                {
                    MessageBox.Show("已有该项目");
                }
            }

    实现效果:

    6.新建套餐

     1 //添加套餐
     2         private void btnSetAdd_Click(object sender, EventArgs e)
     3         {
     4             string setName=this.txtSetName.Text;
     5             if (this.txtSetName.Text.Trim() != null && this.txtSetName.Text.Trim() != "")
     6             {
     7                 HealthCheckSet set = new HealthCheckSet();
     8                 allSet.Add(txtSetName.Text, set);
     9                 GetCbo();
    10                 this.cboSetList.SelectedIndex = allSet.Count();
    11             }
    12             else 
    13             {
    14                 MessageBox.Show("请输入套餐名称");
    15             }
    16         }
    17         //下拉框中套餐名字改变时DataGridView里面所绑定的项目也改变
    18         private void cboSetList_SelectedIndexChanged(object sender, EventArgs e)
    19         {
    20             string name = this.cboSetList.Text;
    21             if (name == "请选择")
    22             {
    23                 this.dgvList.DataSource = new BindingList<HealthCheckItem>();
    24                 this.lblName.Text = "";
    25                 this.lblPrice.Text = "";
    26                 return;
    27             }
    28             this.lblName.Text = name;
    29             GetPrice();
    30             UpdateSet(allSet[name]);
    31         }

    实现效果:

    项目基本功能实现,希望对你有所帮助

    请关注我,Call_迪迦

  • 相关阅读:
    PHP无限极分类生成树方法
    如何用c#本地代码实现与Webbrowser中的JavaScript交互
    在sqlite中,如何删除字段? how to drop a column in sqlite
    如何在centos下配置redis开机自启动
    WinForm中的图表控件Chart
    XPath高级用法(冰山一角)
    windows下MySQL的安装(非安装包)
    WinFrom下Webbrowser加载自定义页面的技巧
    .net下使用最小堆实现TopN算法
    .net程序中http请求的超时配置
  • 原文地址:https://www.cnblogs.com/javahenku/p/8266910.html
Copyright © 2020-2023  润新知