init: 潍柴发动机线 中央控制程序 项目首次入库
This commit is contained in:
296
SAP/SAP_Sync/FormSAP.cs
Normal file
296
SAP/SAP_Sync/FormSAP.cs
Normal file
@@ -0,0 +1,296 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static System.Configuration.ConfigurationManager;
|
||||
using static System.Windows.Forms.LinkLabel;
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
namespace SYNC_SAP_MES
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public partial class FormSAP : Form
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
static string Curr_OrderNo = "";
|
||||
|
||||
static string Split_OrderNo = "";
|
||||
static string Split_Order = "";
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public FormSAP()
|
||||
{
|
||||
InitializeComponent();
|
||||
PP.ConnectionString = AppSettings["ConnectionString"];
|
||||
timer_OnLine_Show.Enabled = true;
|
||||
dtPicker_SyncDate.Value = DateTime.Now;
|
||||
}
|
||||
/// <summary>
|
||||
/// 显示通讯状态
|
||||
/// </summary>
|
||||
private void Show_OnLineState()
|
||||
{
|
||||
//状态显示
|
||||
OnLineStatus_Check();
|
||||
OnLineState_C(pb_OnLine_Sql, PP.OnLine_Sql);
|
||||
OnLineState_C(pb_OnLine_SAP, PP.OnLine_SAP);
|
||||
}
|
||||
/// <summary>
|
||||
/// 显示通讯状态
|
||||
/// </summary>
|
||||
/// <param name="pb"></param>
|
||||
/// <param name="onLine"></param>
|
||||
private void OnLineState_C(PictureBox pb, bool onLine)
|
||||
{
|
||||
pb.Image = onLine ? global::SYNC_SAP_MES.Properties.Resources.连接
|
||||
: global::SYNC_SAP_MES.Properties.Resources.断开连接;
|
||||
}
|
||||
private static bool Ping(string ip)
|
||||
{
|
||||
return new Ping().Send(ip).Status == IPStatus.Success ? true : false;
|
||||
}
|
||||
public static void OnLineStatus_Check()
|
||||
{
|
||||
try
|
||||
{
|
||||
PP.OnLine_Sql = SqlOperation.ExecuteSql("select getdate()", out DataTable dt, out string error);
|
||||
}
|
||||
catch (Exception err)
|
||||
{
|
||||
PP.OnLine_Sql = false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
//PP.OnLine_SAP = READ_SAP.GetMCode().Rows.Count > 0 ? true : false;
|
||||
PP.OnLine_SAP = Ping("mes4api.weichai.com");
|
||||
}
|
||||
catch (Exception err)
|
||||
{
|
||||
PP.OnLine_SAP = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void timer_OnLine_Show_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timer_OnLine_Show.Enabled = false;
|
||||
Show_OnLineState();
|
||||
if (!chk_syncModel.Checked && DateTime.Now.Date > dtPicker_SyncDate.Value.Date)
|
||||
{
|
||||
dtPicker_SyncDate.Value = DateTime.Now;
|
||||
SyncFunc_From_SAP.SyncDate = dtPicker_SyncDate.Value.ToString("yyyy-MM-dd");
|
||||
}
|
||||
timer_OnLine_Show.Enabled = true;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btn_ManualSync_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (SyncFunc_From_SAP.IsSyncing)
|
||||
{
|
||||
PP.main.ShowError("您正在同步计划数据,不能重复操作!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (MessageBox.Show("确认手动同步计划数据吗?", "确认提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
SyncFunc_From_SAP.SyncDataOperationTask("手动同步");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private int count = 0;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public void ReInit()
|
||||
{
|
||||
count = 0;
|
||||
|
||||
if (lb_ErrCount.InvokeRequired)
|
||||
{
|
||||
lb_ErrCount.Invoke(new Action(delegate ()
|
||||
{
|
||||
lb_ErrCount.Text = "消息数量:" + 0.ToString();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
lb_ErrCount.Text = "消息数量:" + 0.ToString();
|
||||
}
|
||||
|
||||
if (txt_Err.InvokeRequired)
|
||||
{
|
||||
txt_Err.Invoke(new Action(delegate ()
|
||||
{
|
||||
txt_Err.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
txt_Err.Clear();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="s"></param>
|
||||
public void ShowError(string s)
|
||||
{
|
||||
count++;
|
||||
if (count > 3000) ReInit();
|
||||
|
||||
if (lb_ErrCount.InvokeRequired)
|
||||
{
|
||||
lb_ErrCount.Invoke(new Action(delegate ()
|
||||
{
|
||||
lb_ErrCount.Text = "消息数量:" + count.ToString();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
lb_ErrCount.Text = "消息数量:" + count.ToString();
|
||||
}
|
||||
|
||||
|
||||
if (txt_Err.InvokeRequired)
|
||||
{
|
||||
txt_Err.Invoke(new Action(delegate ()
|
||||
{
|
||||
txt_Err.AppendText(count.ToString("000000") + " [ " + DateTime.Now.ToString("G") + " ] " + s + "\r\n");
|
||||
txt_Err.ScrollToCaret();
|
||||
// SlMesDbIterface.LogRecord.Insert_Log(SlMesDbIterface.LogRecord.Type_Log.Tip, s);
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
txt_Err.AppendText(count.ToString("000000") + " [ " + DateTime.Now.ToString("G") + " ] " + s + "\r\n");
|
||||
txt_Err.ScrollToCaret();
|
||||
// SlMesDbIterface.LogRecord.Insert_Log(SlMesDbIterface.LogRecord.Type_Log.Tip, s);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btn_ManualCheck_Click(object sender, EventArgs e)
|
||||
{
|
||||
SyncFunc_From_SAP.OnLineStatus_Check();
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btn_Refresh_MesPlan_Click(object sender, EventArgs e)
|
||||
{
|
||||
DateTime SearchDate= dtPicker_MES.Value;
|
||||
//Sql_Biz_SAP.Get_MesPlan(SearchDate, out DataTable table_Plan);
|
||||
////Sql_Biz_SAP.Get_MesSpiltPlan(DateTime.Parse("2024-01-04"), out DataTable table_Plan);
|
||||
//dgv_MesPlan.DataSource = table_Plan;
|
||||
|
||||
//var dateDay = dtp_yyyyMMdd.Value;
|
||||
//var line = txt_Line.Text;
|
||||
//var table = READ_SAP.GetPlan(dateDay, line);
|
||||
//dgv_SAPPlan.DataSource = table;
|
||||
//label_Count_Plan.Text = $"数量:{table.Rows.Count}";
|
||||
//if (cb_SaveFile.Checked)
|
||||
//{
|
||||
// var str = JsonConvert.SerializeObject(table);
|
||||
// File.WriteAllText("Plan.json", str);
|
||||
//}
|
||||
|
||||
//dgv_SpiltPlan.DataSource=null;
|
||||
//dgv_MesOrderNo_BOM.DataSource = null;
|
||||
}
|
||||
|
||||
private void FormSAP_Load(object sender, EventArgs e)
|
||||
{
|
||||
SyncFunc_From_SAP.SyncTask_SAP();
|
||||
}
|
||||
|
||||
private void btn_ManualSync_Plan_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btn_ManualSync_PlanBOM_Click(object sender, EventArgs e)
|
||||
{
|
||||
//var dlg = new D_Sure();
|
||||
//if (dlg.ShowDialog() == DialogResult.OK)
|
||||
//{
|
||||
// //3.同步订单BOM
|
||||
// var success_BOM = SyncFunc_From_SAP.Move_SAP_To_MES_Order_BOM(Curr_OrderNo);
|
||||
// PP.main.ShowError($"【手动强制】{Curr_OrderNo}订单BOM同步完成!\r\n");
|
||||
// MessageBox.Show("【手动强制】订单BOM同步成功!");
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void button3_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
DateTime startdate = DateTime.Parse("2024-06-11");
|
||||
//READ_SAP.GetPlan_Test(startdate, "ZP02");
|
||||
}
|
||||
|
||||
|
||||
private void btn_Query_Click(object sender, EventArgs e)
|
||||
{
|
||||
DateTime SearchDate = dtPicker_ProductDate.Value;
|
||||
var key_OrderNum=this.txt_OrderNum.Text.Trim();
|
||||
Sql_Biz_SAP.Get_Mes_ExcutePlan(SearchDate, key_OrderNum, out DataTable table_ExcutePlan);
|
||||
//Sql_Biz_SAP.Get_MesSpiltPlan(DateTime.Parse("2024-01-04"), out DataTable table_Plan);
|
||||
dgv_ExcutePlan.DataSource = table_ExcutePlan;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void FormSAP_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("确认退出计划同步程序吗?", "操作确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
|
||||
{
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void chk_syncModel_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
btn_ManualSync.Enabled= chk_syncModel.Checked;
|
||||
}
|
||||
|
||||
private void dtPicker_SyncDate_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
SyncFunc_From_SAP.SyncDate=dtPicker_SyncDate.Value.ToString("yyyy-MM-dd");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user