/*******************************************************************************
* Copyright(c) 2016 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_SAP_HEGII_0103.cs
* 2.功能描述:SAP同步日志
* 编辑履历:
* 作者 日期 版本 修改内容
* 陈晓野 2018/11/13 1.00 新建
*******************************************************************************/
using System;
using System.Reflection;
using System.Windows.Forms;
using Curtain.Extension.ExObjectConvert;
using Dongke.IBOSS.PRD.Basics.BaseControls;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.Client.CommonModule;
using Dongke.IBOSS.PRD.Client.Controls;
using Dongke.IBOSS.PRD.Client.DataModels;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Dongke.IBOSS.PRD.WCF.Proxys;
namespace Dongke.IBOSS.PRD.Client.SAPDataModule
{
///
/// SAP同步日志
///
public partial class F_SAP_HEGII_0103 : DKDockPanelBase
{
#region 成员变量
private static F_SAP_HEGII_0103 _instance = null;
#endregion
#region 单例模式
///
/// 单例模式,防止重复创建窗体
///
public static F_SAP_HEGII_0103 Instance
{
get
{
if (_instance == null)
{
_instance = new F_SAP_HEGII_0103();
}
return _instance;
}
}
#endregion
#region 构造函数
///
/// SAP同步日志
///
public F_SAP_HEGII_0103()
{
InitializeComponent();
this.Text = "SAP同步日志";
this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
this.dgvLog.AutoGenerateColumns = false;
this.dgvSum.AutoGenerateColumns = false;
}
#endregion
#region 控件事件
///
/// 关闭
///
///
///
private void F_SAP_HEGII_0103_FormClosed(object sender, FormClosedEventArgs e)
{
_instance = null;
}
///
/// 画面加载
///
///
///
private void F_SAP_HEGII_0103_Load(object sender, System.EventArgs e)
{
try
{
// 加载权限
FormPermissionManager.FormPermissionControl(this.Name, this,
LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
this.dtpDatebegin.Value = DateTime.Now.Date;
this.dtpDateend.Value = DateTime.Now.Date;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 查询
///
///
///
private void tsbtnSearch_Click(object sender, EventArgs e)
{
try
{
this.dgvLog.DataSource = null;
//this.tsbtnSyn.Enabled = true;
this.QueryDataFromOther();
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 清除条件
///
///
///
private void tsbtnClearCondition_Click(object sender, EventArgs e)
{
this.dtpDatebegin.Value = DateTime.Now.Date;
this.dtpDateend.Value = DateTime.Now.Date;
}
///
/// 自适应列宽
///
///
///
private void tsbtnAdaptive_Click(object sender, EventArgs e)
{
this.dgvLog.AutoResizeColumns();
this.dgvSum.AutoResizeColumns();
this.dgvFP.AutoResizeColumns();
this.dgvSPSum.AutoResizeColumns();
}
///
/// 关闭画面
///
///
///
private void tsbtnClose_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 查询同步明细
///
///
///
private void dgvLog_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0 || this.dgvLog.CurrentRow == null)
{
return;
}
this.dgvSPSum.DataSource = null;
try
{
string datacode = this.dgvLog.CurrentRow.Cells["datacode"].Value + "";
if (datacode == "6001" || datacode == "6002" || datacode == "60")
{
this.dgvFP.DataSource = null;
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "Hegii";
cre.Name = "GetFinishedProductByDataLog";
cre.Request = this.dgvLog.CurrentRow.Cells["datalogid"].Value;
ServiceResultEntity sre = DoAsync(() =>
{
return SAPDataModuleProxy.Service.DoRequest(cre);
}
);
if (sre.Status == Constant.ServiceResultStatus.Success)
{
// 查询成功
this.dgvFP.DataSource = sre.Data.Tables[0];
}
this.tabControl1.SelectedIndex = 2;
}
if (datacode != "6001" && datacode != "6002")
{
this.dgvSum.DataSource = null;
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "Hegii";
cre.Name = "GetWorkDataByDataLog";
cre.Request = this.dgvLog.CurrentRow.Cells["datalogid"].Value;
ServiceResultEntity sre = DoAsync(() =>
{
return SAPDataModuleProxy.Service.DoRequest(cre);
}
);
if (sre.Status == Constant.ServiceResultStatus.Success)
{
// 查询成功
this.dgvSum.DataSource = sre.Data.Tables[0];
if (sre.Data.Tables.Count > 1)
{
this.dgvSPSum.DataSource = sre.Data.Tables[1];
}
}
this.tabControl1.SelectedIndex = 1;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 行切换事件
///
///
///
private void dgvLog_SelectionChanged(object sender, EventArgs e)
{
if (dgvLog.CurrentRow == null)
{
//this.tsbtnSyn.Enabled = true;
return;
}
try
{
string datacode = dgvLog.CurrentRow.Cells["datacode"].Value + "";
string datastuts = dgvLog.CurrentRow.Cells["DataStuts"].Value + "";
if (datacode == "60" || datastuts == "S")
{
//this.tsbtnSyn.Enabled = false;
}
else
{
//this.tsbtnSyn.Enabled = true;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 获取数据并同步
///
///
///
private void tsbtnSyn_Click(object sender, EventArgs e)
{
try
{
F_SAP_HEGII_010301 f = new F_SAP_HEGII_010301(null, null);
DialogResult dialogResult = f.ShowDialog();
if (dialogResult == DialogResult.OK)
{
this.tsbtnSearch_Click(null, null);
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
#region 注销
//DialogResult dialogResult = DialogResult.Cancel;
//if (dgvLog.CurrentRow == null)
//{
// F_SAP_HEGII_010301 f = new F_SAP_HEGII_010301(null, null);
// dialogResult = f.ShowDialog();
// if (dialogResult == DialogResult.OK)
// {
// this.tsbtnSearch_Click(null, null);
// }
// return;
//}
//try
//{
// string datacode = dgvLog.CurrentRow.Cells["datacode"].Value + "";
// //string datacodename = dgvLog.CurrentRow.Cells["datacodename"].Value + "";
// string datastuts = dgvLog.CurrentRow.Cells["DataStuts"].Value + "";
// string date = dgvLog.CurrentRow.Cells["executedateend"].Value + "";
// if (datacode == "60" || datastuts == "S")
// {
// return;
// }
// F_SAP_HEGII_010301 f = new F_SAP_HEGII_010301(date, datacode);
// dialogResult = f.ShowDialog();
// if (dialogResult == DialogResult.OK)
// {
// this.tsbtnSearch_Click(null, null);
// }
//}
//catch (Exception ex)
//{
// // 对异常进行共通处理
// ExceptionManager.HandleEventException(this.ToString(),
// MethodBase.GetCurrentMethod().Name, this.Text, ex);
//}
#endregion
}
///
/// 同步当前日志
///
///
///
private void tsbtnSynLog_Click(object sender, EventArgs e)
{
try
{
if (dgvLog.CurrentRow == null)
{
MessageBox.Show("请选择一条未成功的日志。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DialogResult dr = MessageBox.Show("是否同步当前日志的数据到SAP。",
this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (dr != DialogResult.Yes)
{
return;
}
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "Hegii";
cre.Name = "SyncSap";
cre.Request = dgvLog.CurrentRow.Cells["executedateend"].Value;
if (cre.Request == null || cre.Request == DBNull.Value)
{
cre.Request = dgvLog.CurrentRow.Cells["BeginTime"].Value;
}
cre.Properties["datacode"] = dgvLog.CurrentRow.Cells["datacode"].Value + "";
cre.Properties["logid"] = dgvLog.CurrentRow.Cells["logid"].Value.ToInt32();
ServiceResultEntity sre = DoAsync(() =>
{
return SAPDataModuleProxy.Service.DoRequest(cre);
});
if (sre == null)
{
MessageBox.Show("数据同步失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (sre.Status == Constant.ServiceResultStatus.Other)
{
MessageBox.Show(sre.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (sre.Status == Constant.ServiceResultStatus.Success)
{
if (sre.Result + "" == "S")
{
MessageBox.Show("数据同步成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(sre.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("数据同步失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
#endregion
#region 私有方法
///
/// 查询数据
///
private void QueryDataFromOther()
{
if (this.dtpDatebegin.Value == null ||
this.dtpDateend.Value == null)
{
return;
}
try
{
this.tsrToolStrip1.Focus();
this.dgvLog.DataSource = null;
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "Hegii";
if (this.tabControl1.SelectedIndex == 3)
{
cre.Name = "GetWorkDataSPSumByDate";
cre.Properties["datebegin"] = this.dtpDatebegin.Value.Value.ToString("yyyyMMdd");
cre.Properties["dateend"] = this.dtpDateend.Value.Value.ToString("yyyyMMdd");
ServiceResultEntity sre = DoAsync(() =>
{
return SAPDataModuleProxy.Service.DoRequest(cre);
}
);
if (sre.Status == Constant.ServiceResultStatus.Success)
{
// 查询成功
this.dgvSPSum.DataSource = sre.Data.Tables[0];
//this.tabControl1.SelectedIndex = 0;
if (this.dgvSPSum.RowCount == 0)
{
DKMessageBox.ShowDialog(this, DKMessageCode.I_CMN_S_001);
}
}
}
else
{
cre.Name = "GetDataLog";
cre.Properties["datebegin"] = this.dtpDatebegin.Value.Value.ToString("yyyyMMdd");
cre.Properties["dateend"] = this.dtpDateend.Value.Value.ToString("yyyyMMdd");
ServiceResultEntity sre = DoAsync(() =>
{
return SAPDataModuleProxy.Service.DoRequest(cre);
}
);
if (sre.Status == Constant.ServiceResultStatus.Success)
{
// 查询成功
this.dgvLog.DataSource = sre.Data.Tables[0];
this.tabControl1.SelectedIndex = 0;
if (this.dgvLog.RowCount == 0)
{
DKMessageBox.ShowDialog(this, DKMessageCode.I_CMN_S_001);
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
}
}