Example #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            if (Yp.是否药库(InstanceForm.BCurrentDept.DeptId, InstanceForm.BDatabase) == true)
            {
                MessageBox.Show("您现在进入的是药房系统,请核实您当前登陆的科室是否正确", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            #region 先上传发药明细
            butsc_Click(sender, e);
            #endregion

            string stext = "";
            if (_menuTag.Function_Name.Trim() != "Fun_ts_yf_unymjz")
            {
                #region 系统对账


                //系统对账
                this.Text = "正在进行系统对账.....";
                try
                {
                    this.Cursor = PubStaticFun.WaitCursor();

                    ParameterEx[] parameters = new ParameterEx[2];
                    parameters[0].Text  = "@jsrq";
                    parameters[1].Text  = "@deptid";
                    parameters[0].Value = dtp1.Value.ToString();// dtp1.Value.ToShortDateString();
                    parameters[1].Value = InstanceForm.BCurrentDept.DeptId;
                    DataTable tb = InstanceForm.BDatabase.GetDataTable("SP_YF_XTDZ", parameters, 60);
                    tb.TableName = "myTb";

                    if (tb.Rows.Count > 0)
                    {
                        this.Close();
                        Frmxtdzmx f = new Frmxtdzmx(_menuTag, _chineseName, _mdiParent);
                        f.MdiParent = _mdiParent;
                        f.Show();
                        f.FillData(tb);
                        return;
                    }

                    if (_menuTag.Function_Name.Trim() == "Fun_ts_yf_xtdz")
                    {
                        MessageBox.Show("系统对帐完成");
                        this.Text = stext;
                        this.Close();
                        return;
                    }
                }
                catch (System.Exception err)
                {
                    MessageBox.Show("出错" + err.Message);
                    return;
                }
                finally
                {
                    this.Cursor = Cursors.Arrow;
                }

                #endregion
            }

            #region 取消上次月结

            //取消上次月结
            if (_menuTag.Function_Name.Trim() == "Fun_ts_yf_unymjz" &&
                MessageBox.Show("您确定要取消 [" + txtbz.Text + "] 这次月结吗 ?", "询问窗", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                this.Cursor = PubStaticFun.WaitCursor();
                this.Text   = "正在取消上次月结.....";

                try
                {
                    int    err_code = -1;
                    string err_text = "";

                    InstanceForm.BDatabase.BeginTransaction();

                    ParameterEx[] parameters = new ParameterEx[5];
                    parameters[0].Text  = "@deptid";
                    parameters[0].Value = InstanceForm.BCurrentDept.DeptId;

                    parameters[1].Text  = "@djsj";
                    parameters[1].Value = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();

                    parameters[2].Text  = "@djy";
                    parameters[2].Value = InstanceForm.BCurrentUser.EmployeeId;

                    parameters[3].Text          = "@err_code";
                    parameters[3].ParaDirection = ParameterDirection.Output;
                    parameters[3].DataType      = System.Data.DbType.Int32;
                    parameters[3].ParaSize      = 100;

                    parameters[4].Text          = "@err_text";
                    parameters[4].ParaDirection = ParameterDirection.Output;
                    parameters[4].ParaSize      = 100;


                    InstanceForm.BDatabase.DoCommand("sp_Yf_unymjc", parameters, 60);
                    err_code = Convert.ToInt32(parameters[3].Value);
                    err_text = Convert.ToString(parameters[4].Value);

                    if (err_code != 0)
                    {
                        throw new Exception(err_text);
                    }
                    InstanceForm.BDatabase.CommitTransaction();

                    this.Text = stext;

                    #region 日志记录
                    string str_old = "";
                    str_old = InstanceForm.BCurrentUser.Name + "取消月结.上次月结时间是" + dtp1.Value.ToString() + " 到:" + dtp2.Value.ToString();
                    SystemLog systemLog = new SystemLog(-1, InstanceForm.BCurrentDept.DeptId, InstanceForm.BCurrentUser.EmployeeId, "取消月结", str_old, DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase), 0, "主机名:" + System.Environment.MachineName, 8);
                    systemLog.Save();
                    systemLog = null;
                    #endregion

                    MessageBox.Show(err_text);
                    this.Close();
                    return;
                }
                catch (System.Exception err)
                {
                    InstanceForm.BDatabase.RollbackTransaction();
                    this.butok.Enabled = true;
                    MessageBox.Show(err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    this.Cursor = Cursors.Arrow;
                }
            }
            #endregion

            #region 月未结账

            if (_menuTag.Function_Name.Trim() != "Fun_ts_yf_ymjz")
            {
                return;
            }


            //月未结帐
            this.Text = "正在进行月未结帐.....";

            try
            {
                if (dtp2.Value < dtp1.Value)
                {
                    MessageBox.Show("月结止日期不能小于开始日期", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (dtp2.Value > DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase))
                {
                    MessageBox.Show("月结止日期不能大于系统当前时间", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                butok.Enabled = false;
                this.Cursor   = PubStaticFun.WaitCursor();
                int    err_code = -1;
                string err_text = "";

                InstanceForm.BDatabase.BeginTransaction();

                ParameterEx[] parameters = new ParameterEx[9];
                parameters[0].Text  = "@year";
                parameters[0].Value = _year;

                parameters[1].Text  = "@month";
                parameters[1].Value = _month;

                parameters[2].Text  = "@deptid";
                parameters[2].Value = InstanceForm.BCurrentDept.DeptId;

                parameters[3].Text  = "@ksrq";
                parameters[3].Value = dtp1.Value.ToString();//dtp1.Value.ToShortDateString();;

                parameters[4].Text  = "@jsrq";
                parameters[4].Value = dtp2.Value.ToString(); //dtp2.Value.ToShortDateString();

                parameters[5].Text  = "@djsj";
                parameters[5].Value = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();

                parameters[6].Text  = "@djy";
                parameters[6].Value = InstanceForm.BCurrentUser.EmployeeId;

                parameters[7].Text          = "@err_code";
                parameters[7].ParaDirection = ParameterDirection.Output;
                parameters[7].DataType      = System.Data.DbType.Int32;
                parameters[7].ParaSize      = 100;

                parameters[8].Text          = "@err_text";
                parameters[8].ParaDirection = ParameterDirection.Output;
                parameters[8].ParaSize      = 100;


                InstanceForm.BDatabase.DoCommand("sp_YF_ymjc", parameters, 60);
                err_code = Convert.ToInt32(parameters[7].Value);
                err_text = Convert.ToString(parameters[8].Value);


                if (err_code != 0)
                {
                    throw new System.Exception(err_text);
                }

                InstanceForm.BDatabase.CommitTransaction();

                YMJC   ymjc    = new YMJC(InstanceForm.BDatabase);
                string message = "";
                bool   bOk     = ymjc.GenerateDetailData(InstanceForm.BCurrentDept.DeptId, _year, _month, out message);
                if (!bOk)
                {
                    this.Text = stext;
                    MessageBox.Show("月结成功,但生成中间表数据失败,请联系管理员处理", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    butok.Enabled = true;
                    this.Close();
                    return;
                }

                this.Text = stext;
                MessageBox.Show(err_text);
                butok.Enabled = true;
                this.Close();
            }
            catch (System.Exception err)
            {
                InstanceForm.BDatabase.RollbackTransaction();
                this.butok.Enabled = true;
                MessageBox.Show(err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                this.Cursor = Cursors.Arrow;
            }
            #endregion
        }
Example #2
0
        //系统对账 月末结存
        private void button1_Click(object sender, System.EventArgs e)
        {
            if (_menuTag.Function_Name.Trim() != "Fun_ts_yk_unymjz")
            {
                #region 系统对账
                //系统对账
                this.Text = "正在进行系统对账.....";
                try
                {
                    ParameterEx[] parameters = new ParameterEx[2];
                    parameters[0].Text  = "@jsrq";
                    parameters[0].Value = dtp1.Value.ToString();

                    parameters[1].Text  = "@deptid";
                    parameters[1].Value = InstanceForm.BCurrentDept.DeptId;

                    DataTable tb = InstanceForm.BDatabase.GetDataTable("SP_YK_XTDZ", parameters, 30);
                    tb.TableName = "myTb";

                    if (tb.Rows.Count > 0)
                    {
                        this.Close();
                        Frmxtdzmx f = new Frmxtdzmx(_menuTag, _chineseName, _mdiParent);
                        f.MdiParent = _mdiParent;
                        f.Show();
                        f.FillData(tb);
                        return;
                    }

                    if (_menuTag.Function_Name.Trim() == "Fun_ts_yk_xtdz")
                    {
                        MessageBox.Show("系统对帐完成");
                        this.Text = _chineseName.Trim();
                        this.Close();
                        return;
                    }
                }
                catch (System.Exception err)
                {
                    MessageBox.Show("出错" + err.Message);
                    return;
                }

                #endregion
            }

            #region 取消上次月结
            //取消上次月结
            if (_menuTag.Function_Name.Trim() == "Fun_ts_yk_unymjz" && MessageBox.Show("您确定要取消 [" + txtbz.Text + "] 这次月结吗 ?", "询问窗", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                this.Text = "正在取消上次月结.....";
                try
                {
                    int    err_code = -1;
                    string err_text = "";

                    InstanceForm.BDatabase.BeginTransaction();

                    ParameterEx[] parameters = new ParameterEx[5];
                    parameters[0].Text  = "@deptid";
                    parameters[0].Value = InstanceForm.BCurrentDept.DeptId;

                    parameters[1].Text  = "@djsj";
                    parameters[1].Value = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();

                    parameters[2].Text  = "@djy";
                    parameters[2].Value = InstanceForm.BCurrentUser.EmployeeId;

                    parameters[3].Text          = "@err_code";
                    parameters[3].ParaDirection = ParameterDirection.Output;
                    parameters[3].DataType      = System.Data.DbType.Int32;
                    parameters[3].ParaSize      = 100;

                    parameters[4].Text          = "@err_text";
                    parameters[4].ParaDirection = ParameterDirection.Output;
                    parameters[4].ParaSize      = 100;


                    InstanceForm.BDatabase.DoCommand("sp_yk_UNymjc", parameters, 30);
                    err_code = Convert.ToInt32(parameters[3].Value);
                    err_text = Convert.ToString(parameters[4].Value);


                    if (err_code != 0)
                    {
                        throw new System.Exception(err_text);
                    }

                    InstanceForm.BDatabase.CommitTransaction();

                    this.Text = _chineseName.Trim();

                    #region 日志记录
                    string str_old = "";
                    str_old = InstanceForm.BCurrentUser.Name + "取消月结.上次月结时间是" + dtp1.Value.ToString() + " 到:" + dtp2.Value.ToString();
                    SystemLog systemLog = new SystemLog(-1, InstanceForm.BCurrentDept.DeptId, InstanceForm.BCurrentUser.EmployeeId, "取消月结", str_old, DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase), 0, "主机名:" + System.Environment.MachineName, 8);
                    systemLog.Save();
                    systemLog = null;
                    #endregion


                    MessageBox.Show(err_text);
                    this.Close();
                    return;
                }
                catch (System.Exception err)
                {
                    InstanceForm.BDatabase.RollbackTransaction();
                    this.butok.Enabled = true;
                    MessageBox.Show(err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            #endregion

            #region 月未结账

            if (_menuTag.Function_Name.Trim() != "Fun_ts_yk_ymjz")
            {
                return;
            }
            //月未结帐
            this.Text = "正在进行月未结帐.....";

            try
            {
                if (dtp2.Value < dtp1.Value)
                {
                    MessageBox.Show("月结止日期不能小于开始日期", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (dtp2.Value > DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase))
                {
                    MessageBox.Show("月结止日期不能大于系统当前时间", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                this.butok.Enabled = false;
                int    err_code = -1;
                string err_text = "";

                InstanceForm.BDatabase.BeginTransaction();

                string    ssql = "select dept_id,name from jc_dept_property  where  dept_id in(select deptid from yp_yjks_gx where p_deptid=" + InstanceForm.BCurrentDept.DeptId + ")";
                DataTable tb   = InstanceForm.BDatabase.GetDataTable(ssql);
                if (tb.Rows.Count == 0)
                {
                    ssql = "select dept_id,name from jc_dept_property  where dept_id=" + InstanceForm.BCurrentDept.DeptId + " ";
                }
                tb = InstanceForm.BDatabase.GetDataTable(ssql);

                for (int xxx = 0; xxx <= tb.Rows.Count - 1; xxx++)
                {
                    #region 执行月结
                    int           _deptID    = Convert.ToInt32(tb.Rows[xxx]["dept_id"]);
                    ParameterEx[] parameters = new ParameterEx[9];
                    parameters[0].Text  = "@year";
                    parameters[0].Value = _year;

                    parameters[1].Text  = "@month";
                    parameters[1].Value = _month;

                    parameters[2].Text  = "@deptid";
                    parameters[2].Value = _deptID;

                    parameters[3].Text  = "@ksrq";
                    parameters[3].Value = dtp1.Value.ToString();// dtp1.Value.ToShortDateString();

                    parameters[4].Text  = "@jsrq";
                    parameters[4].Value = dtp2.Value.ToString();// dtp2.Value.ToShortDateString();

                    parameters[5].Text  = "@djsj";
                    parameters[5].Value = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();

                    parameters[6].Text  = "@djy";
                    parameters[6].Value = InstanceForm.BCurrentUser.EmployeeId;

                    parameters[7].Text          = "@err_code";
                    parameters[7].ParaDirection = ParameterDirection.Output;
                    parameters[7].DataType      = System.Data.DbType.Int32;
                    parameters[7].ParaSize      = 100;

                    parameters[8].Text          = "@err_text";
                    parameters[8].ParaDirection = ParameterDirection.Output;
                    parameters[8].ParaSize      = 100;


                    InstanceForm.BDatabase.DoCommand("sp_Yk_ymjc", parameters, 30);
                    err_code = Convert.ToInt32(parameters[7].Value);
                    err_text = Convert.ToString(parameters[8].Value);


                    if (err_code != 0)
                    {
                        throw new System.Exception(err_text);
                    }
                    #endregion
                }
                InstanceForm.BDatabase.CommitTransaction();

                YMJC   ymjc    = new YMJC(InstanceForm.BDatabase);
                string message = "";
                for (int xxx = 0; xxx <= tb.Rows.Count - 1; xxx++)
                {
                    #region 生成月结中间表数据
                    int    _deptID = Convert.ToInt32(tb.Rows[xxx]["dept_id"]);
                    string _name   = tb.Rows[xxx]["name"].ToString().Trim();
                    if (ymjc.GenerateDetailData(_deptID, _year, _month, out message) == false)
                    {
                        MessageBox.Show(_name + "月结成功,但生成中间表数据失败,请联系管理员处理", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    #endregion
                }


                this.Text = _chineseName.Trim();
                MessageBox.Show(err_text);
                butok.Enabled = true;
                this.Close();
            }
            catch (System.Exception err)
            {
                InstanceForm.BDatabase.RollbackTransaction();
                this.butok.Enabled = true;
                MessageBox.Show(err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            #endregion
        }