⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fypzdwh_ypjgwh.cs

📁 基于C/S的医疗卫生管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:

            //药品价格ID
            OracleParameter p_YpJgId = new OracleParameter();
            p_YpJgId.ParameterName = ":p_ypjgid";
            p_YpJgId.Value = ypJgId;
            p_YpJgId.DbType = DbType.String;
            p_YpJgId.Direction = ParameterDirection.Input;

            //药品规格ID
            OracleParameter p_YpGgId = new OracleParameter();
            p_YpGgId.ParameterName = ":p_ypggid";
            p_YpGgId.Value = ypGgId;
            p_YpGgId.DbType = DbType.String;
            p_YpGgId.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;


            command.Parameters.Add(p_YpJgId);
            command.Parameters.Add(p_YpGgId);            
            command.Parameters.Add(p_AppCode);
            command.Parameters.Add(p_OutBuffer);

            return command;
        }

        
        private OracleCommand Prc_AfterInsertYpJgXxCommand()
        {
            if (dwYpJg.IsItemNull(1, "ypjgid"))
                throw new Exception("数据窗口中药品价格ID没有设置值。");
            
            string ypJgId = dwYpJg.GetItemString(1, "ypjgid");

            OracleCommand command = new OracleCommand();
            command.CommandText = "PKG_GY_YPZD.Prc_AfterInsertYpJgXx";
            command.CommandType = CommandType.StoredProcedure;

            //药品价格ID
            OracleParameter p_YpJgId = new OracleParameter();
            p_YpJgId.ParameterName = ":p_ypjgid";
            p_YpJgId.Value = ypJgId;
            p_YpJgId.DbType = DbType.String;
            p_YpJgId.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;


            command.Parameters.Add(p_YpJgId);
            command.Parameters.Add(p_AppCode);
            command.Parameters.Add(p_OutBuffer);

            return command;
        }

        private void FYpZdWh_YpJgWh_Load(object sender, EventArgs e)
        {
            if (m_YpJgId == "0")
            {
                int row = dwYpJg.InsertRow(0);
                //作废标志
                dwYpJg.SetItemDecimal(row, "zfbz", 0);
                //购货标志
                dwYpJg.SetItemDecimal(row, "ghbz", 0);
                //查询标志
                dwYpJg.SetItemDecimal(row, "cxbz", 1);
                //停用标志
                dwYpJg.SetItemDecimal(row, "tybz", 0);
                //招标药品标志
                dwYpJg.SetItemDecimal(row, "zbypbz", 0);
                //GMP标志
                dwYpJg.SetItemDecimal(row, "gmpbz", 0);
                //招标进价
                dwYpJg.SetItemDecimal(row, "zbjj", 0);
                //平均进价
                dwYpJg.SetItemDecimal(row, "pjjj", 0);

                //批发价
                dwYpJg.SetItemDecimal(row, "pfj", 0);
                //零售价
                dwYpJg.SetItemDecimal(row, "lsj", 0);

                //规格ID
                dwYpJg.SetItemString(row, "ypggid", m_YpGgId);
                //大规格ID(小规格只有在药房拆分后才有)
                dwYpJg.SetItemString(row, "dggid", m_YpGgId);
                dwYpJg.SetItemString(row, "ypid", m_YpId);
            }
            else
            {
                try
                {
                    DbProxyClient proxy = App.DbProxy;
                    proxy.Clear();
                    proxy.AddRetrieveParam("p_ypjgid", m_YpJgId);
                    proxy.Retrieve(dwYpJg);
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show("检索药品规格信息发生异常:" + ex.Message, MsgTitle.Error);
                    this.btnSave.Enabled = false;
                }

                try
                {
                    dwYpJg.SetProperty("cdmc.protect", "1");
                    dwYpJg.SetProperty("pfj.protect", "1");
                    dwYpJg.SetProperty("lsj.protect", "1");
                    dwYpJg.SetProperty("zgpfj.protect", "1");
                    dwYpJg.SetProperty("zglsj.protect", "1");
                    dwYpJg.SetProperty("zbjj.protect", "1");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("设置数据窗编辑属性发生异常:" + ex.Message, MsgTitle.Error);
                    this.btnSave.Enabled = false;
                }
            }
        }

        private void dwYpJg_ItemError(object sender, Sybase.DataWindow.ItemErrorEventArgs e)
        {
            e.Action = Sybase.DataWindow.ItemErrorAction.RejectWithNoMessage;
        }

        private bool IsExistYpCdJg(string cdId,string ypGgId)
        {
            try
            {
                string sql = "SELECT COUNT(YPGGID) FROM GY_YPJGK WHERE YPGGID='"+ypGgId+"' AND CDID='"+cdId+"' AND ZFBZ=0";
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                string ret =proxy.ExecuteScalar(sql);
                if (string.IsNullOrEmpty(ret))
                {
                    return false;
                }
                else
                {
                    if (int.Parse(ret) >0)
                    {
                        MessageBox.Show("同规格同产地的药品已存在!", MsgTitle.Warning);
                        return true;
                    }
                    else
                        return false;
                }

            }
            catch(Exception ex)
            {
                MessageBox.Show("检查规格产地是否存在时发生异常:"+ex.Message,MsgTitle.Error);
                return false;
            }

        }
        private void dwYpJg_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
        {
            if (e.ColumnName == "cdmc")
            {
                if (e.Data == null || e.Data.Trim() == "")
                {
                    dwYpJg.SetItemNull(e.RowNumber, "cdid");
                    return;
                }

                FSelect fSelect = null;
                try
                {
                    fSelect = new FSelect();
                    fSelect.SetTitle("药品产地");
                    string sql = "SELECT CDID,CDMC,DECODE(CDLBID,1,'国产',2,'合资',3,'进口',4,'自制','其他') AS CDLBID FROM GY_YPCD WHERE " + App.mrSrm + " LIKE '" + e.Data + "%' AND ZFBZ=0";
                    fSelect.SetDataSource(sql, true);
                    fSelect.AddShowColumn("CDMC", "产地名称", 900);
                    fSelect.AddShowColumn("CDLBID", "产地类别", 500);
                    fSelect.AddMultiReturnColumn("CDID,CDMC");

                    DialogResult dResult = fSelect.ShowDialog(this);
                    if (dResult == DialogResult.OK)
                    {
                        string[] retValue = fSelect.ReturnValue;

                        if (IsExistYpCdJg(retValue[0],m_YpGgId))
                        {
                            e.Action = ItemChangedAction.Reject;
                            dwYpJg.SetItemNull(e.RowNumber, "cdid");
                            dwYpJg.SetItemNull(e.RowNumber, "cdmc");
                            return;
                        }

                        dwYpJg.SetItemString(e.RowNumber, "cdid", retValue[0]);
                        e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                        dwYpJg.SetItemString(e.RowNumber, "cdmc", retValue[1]);
                    }
                    else
                    {
                        e.Action = ItemChangedAction.Reject;
                        dwYpJg.SetItemNull(e.RowNumber, "cdid");
                        dwYpJg.SetItemNull(e.RowNumber, "cdmc");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("取药品产地信息发生异常:" + ex.Message, MsgTitle.Error);
                    e.Action = ItemChangedAction.Reject;
                    dwYpJg.SetItemNull(e.RowNumber, "cdid");
                    dwYpJg.SetItemNull(e.RowNumber, "cdmc");
                }
                finally
                {
                    if (fSelect != null)
                        fSelect.Dispose();
                }
            }
            else if (e.ColumnName == "pfj" || e.ColumnName == "lsj" || e.ColumnName == "zglsj" || e.ColumnName == "zgpfj" || e.ColumnName == "zbjj")
            {
                if (string.IsNullOrEmpty(e.Data))
                    return;
                else
                    if (decimal.Parse(e.Data) < 0)
                    {
                        MessageBox.Show("不允许输入负数!");
                        e.Action = ItemChangedAction.Reject;
                    }
            }        
            else if (e.ColumnName == "zbypbz")
            {
                if (e.Data !="1")
                {
                    dwYpJg.SetItemNull(e.RowNumber, "zbjj");
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -