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 }
//系统对账 月末结存 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 }