添加项目文件。

This commit is contained in:
liming 蔡
2026-07-14 13:55:17 +08:00
parent 63759495f2
commit 8bbdf78731
335 changed files with 81415 additions and 0 deletions
+349
View File
@@ -0,0 +1,349 @@
using System;
using System.Data;
using System.IO;
using System.Threading;
using System.Windows.Forms;
using JY.DAL;
using JY.Utility;
using System.Drawing;
using Newtonsoft.Json;
using JYControl;
using JY.MES.Entity;
using JY.MES;
using OfficeOpenXml;
using MiniExcelLibs;
namespace JY.Inspection.Frm
{
public partial class FrmHistoricalDataQuery : MetroFramework.Forms.MetroForm
{
public delegate void myDelegate(DataTable t);
public delegate void PDelegate();
Thread tSo;
int type = 0;//查询类型
int resulttype = 0;//结果类型
DataTable dts = null;
/// <summary>
/// 用于电芯进站时设备与FMS校验电芯合法性
/// </summary>
string CheckBarCodeInUrl = "";
/// <summary>
/// 用于电芯出站时向FMS上报出站及生产数据
/// </summary>
string BarCodeOutUrl = "";
/// <summary>
/// MES上传验证码
/// </summary>
string authorization = "";
/// <summary>
/// 数据库访问接口
/// </summary>
private IDbHelper dbHelper = new OpSqlDataBase();
public FrmHistoricalDataQuery()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
/// <summary>
/// 窗体加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmHistoricalDataQuery_Load(object sender, EventArgs e)
{
cbSelectType.SelectedIndex = 0;
resultSelectType.SelectedIndex = 0;
cmbFlag.SelectedIndex = 0;
dtStartTime.Value = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
dtEndTime.Value = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
//为dgv添加复选框列
DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn();
//列显示名称
checkbox.HeaderText = "选择";
checkbox.Name = "IsChecked";
checkbox.TrueValue = true;
checkbox.FalseValue = false;
checkbox.DataPropertyName = "IsChecked";
//列宽
checkbox.Width = 30;
//列大小不改变
checkbox.Resizable = DataGridViewTriState.False;
//添加的checkbox在dgv的第一列
this.dgvData.Columns.Insert(0, checkbox);
}
private void btnSelect_Click(object sender, EventArgs e)
{
try
{
tSo = new Thread(new ThreadStart(ThreadWork));
tSo.IsBackground = true;
tSo.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString() + ",数据查询失败", "查询提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
this.dgvData.DataSource = null;
type = cbSelectType.SelectedIndex;
resulttype = resultSelectType.SelectedIndex;
}
private void ThreadWork()
{
lblSelectStures.BeginInvoke(new PDelegate(aa));
string strDate1 = dtStartTime.Value.ToString("yyyy-MM-dd HH:mm") + ":01";
string strDate2 = dtEndTime.Value.ToString("yyyy-MM-dd HH:mm") + ":01";
if (dtEndTime.Value.Year != dtStartTime.Value.Year)
{
MessageBox.Show("请选择日期必须在同一年份内!");
lblSelectStures.BeginInvoke(new PDelegate(bb));
return;
}
string flag = cmbFlag.Text;
string strBarcode = txtBarCode.Text.Trim();
// var dt = dbHelper.GetTestData(type, strBarcode, strDate1, strDate2, flag);
var dt = dbHelper.GetTestData2(type,resulttype, strBarcode, strDate1, strDate2, flag);
if (dt == null || dt.Rows.Count == 0)
{
MessageBox.Show("此时间段无数据或无此条码数据", "系统提示");
lblSelectStures.BeginInvoke(new PDelegate(bb));
return;
}
this.dgvData.BeginInvoke(new myDelegate(FillData), new object[] { dt });//异步调用(来填充)
lblSelectStures.BeginInvoke(new PDelegate(bb));
}
private void FillData(DataTable dt)
{
dts = dt;
this.dgvData.DataSource = dt.DefaultView;
}
private void aa()
{
this.lblSelectStures.Text = "正在查询数据...";
}
private void bb()
{
this.lblSelectStures.Text = "查询结束";
}
private void btnExcel_Click(object sender, EventArgs e)
{
if (dts != null && dgvData.Columns.Count <= 0)
{
MessageBox.Show("请先查询数据,再进行导出", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "导出Excel";
saveFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx";
saveFileDialog.FilterIndex = 1;
//保存对话框是否记忆上次打开的目录
saveFileDialog.RestoreDirectory = true;
//设置默认的文件名
saveFileDialog.DefaultExt = "xlsx";
//saveFileDialog.DefaultFileName = "查询结果" + DateTime.Now.ToString("yyyyMMddHHmmss");
var dialogResult = saveFileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
//string filter = saveFileDialog.FileName.Substring(saveFileDialog.FileName.LastIndexOf(".") + 1);
try
{
MiniExcel.SaveAs(saveFileDialog.FileName, dts);
//ExcelPackage.License.SetNonCommercialOrganization("My Noncommercial organization");
//EPPlusExcelHelper excelHelper = new EPPlusExcelHelper(saveFileDialog.FileName);
//excelHelper.ExportDataTable("sheet1", dts);
Thread.Sleep(50);
MessageBox.Show("数据导出成功!");
}
catch (Exception ex)
{
MessageBox.Show("保存的EXCEL已有数据,无法覆盖,重新创建" + ex.Message);
}
//if (MessageBox.Show("保存成功,是否打开文件?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
//{
// System.Diagnostics.Process.Start(saveFileDialog.FileName);
//}
}
}
private void dgvData_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
//自动编号,与数据无关
Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
e.RowBounds.Location.Y,
dgvData.RowHeadersWidth - 4,
e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics,
(e.RowIndex + 1).ToString(),
dgvData.RowHeadersDefaultCellStyle.Font,
rectangle,
dgvData.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
/// <summary>
/// 上传MES按钮设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnUpMES_Click(object sender, EventArgs e)
{
if (dgvData.Columns.Count <= 1)
{
MessageBox.Show("请先查询数据,再进行上传MES操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
if (cbSelectType.Text=="查询进站数据")//上料
{
foreach (DataGridViewRow row in dgvData.Rows)
{
if (Convert.ToBoolean(row.Cells[0].Value))
{
if (Convert.ToInt32(row.Cells["状态"].Value) == 1 || Convert.ToInt32(row.Cells["状态"].Value) == 2)
{
MessageBox.Show("勾选电芯数据已上传", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
JY.MES.FMS.FMS_In fMS_In = new MES.FMS.FMS_In();
//fMS_In.systemCode = Global.systemConfig.systemCode;
//fMS_In.houseCode = Global.systemConfig.houseCode;
//fMS_In.skuCode = Convert.ToString(row.Cells["条码"].Value);
//fMS_In.deviceCode = Global.systemConfig.deviceCode;
//fMS_In.processCode = Global.systemConfig.processCode;
string strJosn = JsonConvert.SerializeObject(fMS_In);
LogManagerControl.AddLog($"PC->FMS[电芯出站]:{strJosn}", LogAddtype.MES);
var result = JY.MES.FMS.MesHelper_EVE.MES_Inbound(fMS_In);
string strRes = "statusCode:" + "[" + result.statusCode + "]" + "statusMessage" + "[" + result.statusMessage + "]";
LogManagerControl.AddLog($"FMS->PC[电芯出站]:{strRes}", LogAddtype.MES);
string NowTime = DateTime.Now.ToString("yyyy - MM - dd HH: mm: ss");
var result1 = @" UPDATE FeedingData set Flag=2,UploadMESTime='" + NowTime + "' where[ID]=" + Convert.ToString(row.Cells["唯一ID"].Value);
//var result2 = @" UPDATE FeedingData set UploadMESTime='" + NowTime + "' where[ID]='" + Convert.ToString(row.Cells["唯一ID"].Value) + "'";
DataTable dt = SqlHelper<object>.QueryTable(result1);
}
}
}
}
else//下料
{
foreach (DataGridViewRow row in dgvData.Rows)
{
if (Convert.ToBoolean(row.Cells[0].Value))
{
if (Convert.ToInt32(row.Cells["状态"].Value) == 1 || Convert.ToInt32(row.Cells["状态"].Value) == 2)
{
MessageBox.Show("勾选电芯数据已上传", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
JY.MES.FMS.FMS_Out fMS_Out = new MES.FMS.FMS_Out();
//fMS_In.deviceCode = Global.systemConfig.eqp_code;
//fMS_In.houseCode = "test11";
//fMS_In.skuCode = m.BarCode;
//fMS_In.systemCode = "win10";
//fMS_In.processCode = Global.systemConfig.seq_code;
//fMS_In.ngCode = "";
//fMS_Out.systemCode = Global.systemConfig.systemCode;
//fMS_Out.houseCode = Global.systemConfig.houseCode;
//fMS_Out.skuCode = Convert.ToString(row.Cells["条码"].Value);
//fMS_Out.deviceCode = Global.systemConfig.deviceCode;
//fMS_Out.processCode = Global.systemConfig.processCode;
fMS_Out.testResult = "NG";
fMS_Out.ngCode = "0";
JY.MES.FMS.processData ProData = new JY.MES.FMS.processData();
ProData.inTime = Convert.ToString(row.Cells["进站时间"].Value);
ProData.outTime = Convert.ToString(row.Cells["进站时间"].Value);
ProData.cspdjg = Convert.ToString(row.Cells["综合结果"].Value);
ProData.cssj = "";
ProData.cspc = "";
ProData.csjg = Convert.ToString(row.Cells["综合结果"].Value);
ProData.fcbj = "";
ProData.fccs = "";
ProData.fcsj = "";
ProData.fcyy = "";
ProData.ngyy = Convert.ToString(row.Cells["备注"].Value);
ProData.ngsj = "";
ProData.ngwz = "";
ProData.hjwd = "";
ProData.hjsd = "";
ProData.kqjjd = "";
ProData.workShift = Convert.ToString(row.Cells["班次"].Value);
fMS_Out.processData = ProData;
string strJosn = JsonConvert.SerializeObject(fMS_Out);
LogManagerControl.AddLog($"PC->FMS[电芯出站]:{strJosn}", LogAddtype.MES);
var result = JY.MES.FMS.MesHelper_EVE.MES_Outbound(fMS_Out);
string strRes = "statusCode:" + "[" + result.statusCode + "]" + "statusMessage" + "[" + result.statusMessage + "]";
LogManagerControl.AddLog($"FMS->PC[电芯出站]:{strRes}", LogAddtype.MES);
string NowTime = DateTime.Now.ToString("yyyy - MM - dd HH: mm: ss");
var result1 = @" UPDATE BlankingData set Flag=2,strUploadMESTime='" + NowTime + "' where[ID]=" + Convert.ToInt32(row.Cells["唯一ID"].Value);
//var result2 = @" UPDATE BlankingData set UploadMESTime='" + NowTime + "' where[ID]='" + Convert.ToString(row.Cells["唯一ID"].Value) + "'";
DataTable dt = SqlHelper<object>.QueryTable(result1);
}
}
}
}
}
catch
{
MessageBox.Show("手动上传MES失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
MessageBox.Show("手动上传MES成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
/// <summary>
/// dgvCellMouseClick鼠标点击列事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgvData_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
//不是序号列和标题列时才执行
if (e.RowIndex != -1 && e.ColumnIndex != -1)
{
//checkbox勾上
if ((bool)dgvData.Rows[e.RowIndex].Cells[0].EditedFormattedValue == true)
{
//选中改为不选中
this.dgvData.Rows[e.RowIndex].Cells[0].Value = false;
}
else
{
//不选中改为选中
this.dgvData.Rows[e.RowIndex].Cells[0].Value = true;
}
}
}
}
}