C#药品采购
2020-08-15 17:51
1801 查看
药品采购
效果
C#药品采购
实现
1.新建方法Display(),用来刷新datagridview:
public void Display() { if (trole.Text.Trim() == "工程师") { string sql = "select number,weishengyuan,caigoushijian,work,yaopin,jixing,guige,danwei,chandi,youxiaoriqi,danjia,shuliang,jine from Table_yaopincaigou where work = '工程师'"; SqlDataAdapter dataAdaptergcs = new SqlDataAdapter(sql, DBHelper.conStr); //定义一个dataAdapter dataAdaptergcs.Fill(dataSet, "Table_yaopincaigou"); //填充数据集 dataGridView1.DataSource = dataSet.Tables["Table_yaopincaigou"]; //填充数据进控件 } if (trole.Text.Trim() == "卫生院药房") { string sql = "select number,weishengyuan,caigoushijian,work,yaopin,jixing,guige,danwei,chandi,youxiaoriqi,danjia,shuliang,jine from Table_yaopincaigou where weishengyuan = '" + tweishengyuan.Text + "'"; SqlDataAdapter dataAdaptergcs = new SqlDataAdapter(sql, DBHelper.conStr); //定义一个dataAdapter dataAdaptergcs.Fill(dataSet, "Table_yaopincaigou"); //填充数据集 dataGridView1.DataSource = dataSet.Tables["Table_yaopincaigou"]; //填充数据进控件 } if (trole.Text.Trim() == "村医") { string sql = "select number,weishengyuan,caigoushijian,work,yaopin,jixing,guige,danwei,chandi,youxiaoriqi,danjia,shuliang,jine from Table_yaopincaigou where weishengyuan = '" + tweishengyuan.Text + "' and work = '" + twork.Text + "'"; SqlDataAdapter dataAdaptergcs = new SqlDataAdapter(sql, DBHelper.conStr); //定义一个dataAdapter dataAdaptergcs.Fill(dataSet, "Table_yaopincaigou"); //填充数据集 dataGridView1.DataSource = dataSet.Tables["Table_yaopincaigou"]; //填充数据进控件 } }
1.药品查询:输入药品首字母,即可弹出相应药品。
(https://blog.csdn.net/weixin_44523029/article/details/107882835博客中演示的是医疗保险定点结算中的查询,效果一样)
2.药品拖拽:选择要采购的药品,拖入采购单中。
(https://blog.csdn.net/weixin_44523029/article/details/107565968博客中演示的是医疗保险定点结算中的拖拽,效果一样)
注意上图右下角的总计,拖入药品并输入数量,总计会相应显示,上面的博客链接中的第5点中的代码textBox7就是总计。
3.采购。
(1)首先有一个数量不准为0的验证(拖入的时候,默认是0):
for (int row = 0; row < dataGridView2.Rows.Count; row++) { if (this.dataGridView2.Rows[row].Cells[9].Value.ToString() == "0") { MessageBox.Show("请输入数量!", "提示"); return; } }
(2)然后有一个采购单不准为空的验证:
if (dataGridView2.Rows.Count == 0) { MessageBox.Show("请选择药品!", "提示"); return; }
(3)如果以上满足,开始采购。
①for循环读取每行药品数据:
for (int i = 0; i < dataGridView2.Rows.Count; i++){}(以下②-⑤皆是在for循环下进行)
②新建string值=行中的数据,例:
string sweishengyuan = this.dataGridView2.Rows[i].Cells[0].Value.ToString();//卫生院
③如果是卫生院进行采购,就直接进行sql语句
update 表 set kucun = kucun + '" + Convert.ToInt32(sshuliang) + "' where ...限制条件(比如单位、药品名、规格、有效期什么的,用第②步中新建的值表示)库存更新,把新购入的数量加上去,然后用sql语句
insert into 表 values (第②步中新建的值)把药品采购记录添加到历史采购表中。
如果是村医进行采购,将药品用sql语句insert添加到药品采购表中(这个药品采购表就是采购单,相当于一个临时表)
④拖入一个空的textBox,令这个textBox=总计,只有这个不为空,才能导出(为什么不直接用总计的那个textBox:因为拖入的时候总计那里直接是0,不为空)(https://blog.csdn.net/weixin_44523029/article/details/107735212导出可以看一下这个)
⑤然后刷新一个库存表,因为卫生院是直接库存增加的,所以这里刷新一下库存表:
dataSet.Tables["Table_yaopin"].Clear(); Display();
⑥for循环外进行一个信息提示:
MessageBox.Show("采购成功!", "提示");
(4)村医药品采购单录入完后,卫生院进行采购单确认。
①新建一个ArrayList:
ArrayList arraylist = new ArrayList();
②新建int值=表中的行数,新建while循环:
while (i >= 0){},只有存在药品时,while循环(以下④-⑤皆是while循环中)
③在while循环中,新建string值=列数据
④如果复选框选中了:
if (Convert.ToInt32(dataGridView1.Rows[i].Cells["xuanze"].Value) == 1),则
arraylist.Add(Convert.ToInt32(dataGridView1.Rows[i].Cells["xuanze"].Value));
如果卫生院没有某药品:首先用select查询一下,如果查不到,则先i- -,然后continue跳出循环,进行下一个药品。
如果存在库存不足的药品,则提示某药品库存不足,其他药品成功,也是i- -,continue跳出循环。
如果库存充足,村医库存更新update,卫生院库存减少update,订单传入历史采购表中insert,删除采购单中的本药品delete
⑤然后i- -。
⑥采购单药品复选框的验证:
if (arraylist.Count == 0) { MessageBox.Show("请选择药品!","提示"); return; }
⑦然后进行一个右下角总计的更新。
⑧更新采购单,信息提示
MessageBox.Show("操作成功!","提示");,全选的复选框取消选择
checkBox1.Checked = false;
⑨全选的一个设置,如果点击全选复选框,则datagridview中的复选框全部勾选;反之,全部取消勾选:
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (this.checkBox1.Checked == true) { for (int i = 0; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["xuanze"].Value = 1; } } else { for (int i = 0; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["xuanze"].Value = 0; } } }
4.完成。
相关文章推荐
- 医药采购之供货商药品目录维护查询
- 医药采购之供货商药品目录添加提交
- 采购药品明细保存
- SSM项目-医药采购-09 药品目录导入
- solr实现药品采购价动态排序
- 医药采购之供货商药品目录添加查询
- 采购药品明细删除
- 医药采购之供货商药品目录删除
- 医药采购之供货商药品目录控制
- 采购单药品明细采购金额总计
- 医药采购之药品目录导入
- SSM项目-医药采购-08 药品目录导出
- SSM项目-医药采购-10 供货商药品目录模块
- C# XML序列化帮助类代码
- 使用C#调用外部Ping命令获取网络连接情况[转载CSDN]
- C#在word文档中替换字符串
- C#如何进行多线程编程
- Monkey黑白棋(C#源代码)!
- C#工程自动Copy文件
- c#实现科学计算器 —— 设计篇之词法分析模块设计