📄 fypzdwh.cs
字号:
//删除药品名称
private void MenuDelYpMc_Click(object sender, EventArgs e)
{
DelYpMc();
}
private void MenuAddYpBm_Click(object sender, EventArgs e)
{
AddYpBm();
}
private void MenuModifyYpBm_Click(object sender, EventArgs e)
{
ModifyYpBm();
}
private void MenuDelYpBm_Click(object sender, EventArgs e)
{
DelYpBm();
}
private void MenuAddYpGg_Click(object sender, EventArgs e)
{
AddYpGg();
}
private void MenuModifyYpGg_Click(object sender, EventArgs e)
{
ModifyYpGg();
}
private void MenuDelYpGg_Click(object sender, EventArgs e)
{
DelYpGg();
}
private void MenuAddYpJg_Click(object sender, EventArgs e)
{
AddYpJg();
}
private void MenuModifyYpJg_Click(object sender, EventArgs e)
{
ModifyYpJg();
}
private void MenuDelYpJg_Click(object sender, EventArgs e)
{
DelYpJg();
}
#endregion
#region 删除药品分类
private void DelYpFl()
{
TreeNode node = tvYpFl.SelectedNode;
if (node == null)
return;
try
{
if (node.Nodes.Count > 0)
{
MessageBox.Show("该分类下还有分类,请先删除子分类!", MsgTitle.Warning);
return;
}
DialogResult dResult = MessageBox.Show("您确定要删除分类【" + node.Text+ "】吗?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dResult == DialogResult.No)
return;
string ypFlId = node.Tag.ToString();
//检查分类是否可删
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "PKG_GY_YPZD.Prc_TestDeleteYpFl";
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter p_YpFlId = new OracleParameter();
p_YpFlId.ParameterName = ":p_ypflid";
p_YpFlId.Value = ypFlId;
p_YpFlId.DbType = DbType.String;
p_YpFlId.Direction = ParameterDirection.Input;
OracleParameter p_AppCode = new OracleParameter();
p_AppCode.ParameterName = ":p_appcode";
p_AppCode.DbType = DbType.Int32;
p_AppCode.Direction = ParameterDirection.Output;
OracleParameter p_OutBuffer = new OracleParameter();
p_OutBuffer.ParameterName = ":p_outbuffer";
p_OutBuffer.DbType = DbType.String;
p_OutBuffer.Size = 600;
p_OutBuffer.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p_YpFlId);
cmd.Parameters.Add(p_AppCode);
cmd.Parameters.Add(p_OutBuffer);
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddDbCommand(cmd);
proxy.Update();
if (p_AppCode.Value == null || p_AppCode.Value.ToString() != "1")
{
//不可删除
MessageBox.Show(p_OutBuffer.Value.ToString());
return;
}
//删除分类
cmd.Parameters.Clear();
cmd.CommandText = "PKG_GY_YPZD.Prc_DeleteYpFl";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(p_YpFlId);
proxy.Clear();
proxy.AddDbCommand(cmd);
proxy.Update();
if (node.Parent != null)
node.Parent.Nodes.Remove(node);
else
tvYpFl.Nodes.Remove(node);
int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
if (row > 0)
m_DsYpFl.DeleteRow(row);
}
catch (Exception ex)
{
MessageBox.Show("删除分类发生异常:" + ex.Message, MsgTitle.Error);
}
}
#endregion
#region 取上级分类ID
private string GetSjFlId(TreeNode node)
{
if (node.Level == 0 || node.Level == 1)
return "0";
else
return node.Parent.Tag.ToString();
}
#endregion
#region 修改药品分类
private void ModifyYpFl()
{
TreeNode node = tvYpFl.SelectedNode;
if (node == null || node.Level == 0)
{
return;
}
string ypFlId = node.Tag.ToString();
string sjFlId = GetSjFlId(node);
FYpZdWh_YpFlWh fFlWh = new FYpZdWh_YpFlWh();
try
{
string bzBm = ""; //修改时不需要传入标准编码
fFlWh.SetId(ypFlId, sjFlId, bzBm);
DialogResult dResult = fFlWh.ShowDialog(this);
if (dResult == DialogResult.OK)
{
#region 更新树 DS
try
{
if (m_DsTemp_YpFl == null)
{
m_DsTemp_YpFl = new QDataStore();
m_DsTemp_YpFl.LibraryList = m_DsYpFl.LibraryList;
m_DsTemp_YpFl.DataWindowObject = m_DsYpFl.DataWindowObject;
}
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddRetrieveParam("p_kflx", App.kfLx);
proxy.AddRetrieveParam("p_ypflid", ypFlId);
proxy.Retrieve(m_DsTemp_YpFl);
string flMc = "";
if (!m_DsTemp_YpFl.IsItemNull(1, "ypflmc"))
flMc = m_DsTemp_YpFl.GetItemString(1, "ypflmc");
//更新节点名称
node.Text = flMc;
//移除原来的记录
int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
if (row > 0)
m_DsYpFl.DeleteRow(row);
//将最新的记录移到DS
m_DsTemp_YpFl.RowsMove(1, 1, Sybase.DataWindow.DataBuffer.Primary, m_DsYpFl, 1, Sybase.DataWindow.DataBuffer.Primary);
}
catch (Exception ex)
{
this.btnAddYpFl.Enabled = false;
MessageBox.Show("增加药品分类成功,刷新界面发生异常,请退出重试!\r\n" + ex.Message);
}
#endregion
}
}
catch (Exception ex)
{
MessageBox.Show("调用药品分类维护窗口发生异常:" + ex.Message, MsgTitle.Error);
}
finally
{
fFlWh.Dispose();
tvYpFl.Focus();
}
}
#endregion
#region 药品分类树事件
private void tvYpFl_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TreeNode node = tvYpFl.GetNodeAt(e.Location);
if (node == null || node.Level == 0)
{
return;
}
else
{
this.tvYpFl.SelectedNode = node;
if (node.Nodes.Count > 0)
MenuDelYpFl.Enabled = false;
else
MenuDelYpFl.Enabled = true;
MenuYpFl.Show(tvYpFl, e.Location);
}
}
}
private void tvYpFl_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
if (e.Node.Level == 0 || e.Node.Tag == null)
{
dwYpMc.Reset();
}
else
{
string ypFlId = e.Node.Tag.ToString();
int row = m_DsYpFl.FindRow("ypflid='" + ypFlId + "'", 1, m_DsYpFl.RowCount);
if (row > 0)
{
if (m_DsYpFl.IsItemNull(row, "mjbz") || m_DsYpFl.GetItemDecimal(row, "mjbz") != 1)
{
dwYpMc.Reset();
return;
}
else
{
this.RetrieveYpMc(ypFlId);
}
}
else
{
MessageBox.Show("没有找到该分类的信息!", MsgTitle.Error);
}
}
}
#endregion
#region 药品价格DataWindow事件
private void dwYpJg_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
QContextMenuStrip contextMenu = new QContextMenuStrip();
contextMenu.Items.Add(MenuAddYpJg);
contextMenu.Items.Add(MenuModifyYpJg);
contextMenu.Items.Add(MenuDelYpJg);
ObjectAtPointer obj = dwYpJg.ObjectUnderMouse;
if (obj.RowNumber > 0)
{
dwYpJg.SetRow(obj.RowNumber);
MenuModifyYpJg.Enabled = true;
MenuDelYpJg.Enabled = true;
}
else
{
MenuModifyYpJg.Enabled = false;
MenuDelYpJg.Enabled = false;
}
if (dwYpGg.RowCount == 0)
MenuAddYpJg.Enabled = false;
else
MenuAddYpJg.Enabled = true;
contextMenu.Show(dwYpJg, e.Location);
}
}
#endregion
private void qButton1_Click(object sender, EventArgs e)
{
OracleCommand command = new OracleCommand();
command.CommandText = "PKG_YK.AddYpGg";
command.CommandType = CommandType.StoredProcedure;
OracleParameter p_YpGgId = new OracleParameter();
p_YpGgId.ParameterName = ":p_ypggid";
p_YpGgId.DbType = DbType.String;
p_YpGgId.Value = "aa";
command.Parameters.Add(p_YpGgId);
OracleParameter p_AppCode = new OracleParameter();
p_AppCode.ParameterName = ":p_AppCode";
p_AppCode.DbType = DbType.Int32;
p_AppCode.Direction = ParameterDirection.Output;
command.Parameters.Add(p_AppCode);
OracleParameter p_OutBuffer = new OracleParameter();
p_OutBuffer.ParameterName = ":p_OutBuffer";
p_OutBuffer.Size = 2000;
p_OutBuffer.DbType = DbType.String;
p_OutBuffer.Direction = ParameterDirection.Output;
command.Parameters.Add(p_OutBuffer);
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddDbCommand(command, new VerifyInfo(VerifyModeEnum.OutputPara, ":p_AppCode", LogicSymbolEnum.Equal, 1));
proxy.Update();
MessageBox.Show(p_AppCode.Value.ToString() + " " + p_OutBuffer.Value.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, MsgTitle.Error);
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -