| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Infragistics.Win.UltraWinGrid;
- using System.IO;
- using System.Data.OleDb; //连接Access数据库
- using ADOX;
- using System.Reflection;
- using System.Threading;
- using Infragistics.Win;
- namespace CreateAccess
- {
- public partial class frmMinWgtMeter : Form
- {
- ServiceReference1.WebServerClient webServer = new ServiceReference1.WebServerClient();
- public frmMinWgtMeter()
- {
- InitializeComponent();
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key)
- {
- case "btnQuery":
- {
- btnQuery();
- break;
- }
- case "btnImpl":
- {
- openFileDialog1.Filter = "Access数据库文件(mdb)|*.mdb";//只允许mdb文件
- openFileDialog1.Title = "选择要导入的Access数据文件"; //弹出框头部显示
- openFileDialog1.AddExtension = true; //自动增加后缀
- openFileDialog1.AutoUpgradeEnabled = true; //是否随系统自动升级弹出窗口样式
- openFileDialog1.InitialDirectory = Application.StartupPath;//默认打开当前目录
- if (openFileDialog1.ShowDialog() == DialogResult.OK)
- {
- btnImpl(openFileDialog1.FileName);
- };
- break;
- }
- default: break;
- }
- }
- private void btnImpl(string fileName)
- {
- string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Persist Security Info=False";
- DataSet ds = new DataSet();
- using (OleDbConnection conn = new OleDbConnection(strConnection))
- {
- conn.Open();
- string strSql = string.Format("select * from Data08_MCGS where MCGS_Time between #{0}# and #{1}#", dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), dtEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
- OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
- da.Fill(ds, "生产数据");
- try
- {
- ServiceReference1.meterWorkStorageActual[] lm = new ServiceReference1.meterWorkStorageActual[ds.Tables[0].Rows.Count];
- string preNo = DateTime.Now.ToString("yyyyMMddHHmmssfff");
- int i = 0;
- foreach (DataRow dr in ds.Tables[0].Rows)
- {
- lm[i++] = new ServiceReference1.meterWorkStorageActual
- {
- predictionNo = preNo,
- batchNo = dr["Data47"].ToString().Trim(), //批号
- valueFlag = dr["Data51"]?.ToString().Trim() == "有效" ? "1" : "0",
- checkFlag = "0",
- createManNo = dr["Data06"].ToString().Trim(), //计量员编号
- createManName = dr["Data06"].ToString().Trim(), //计量员
- createTime = DateTime.Now,
- createTimeSpecified = true,
- //productNo = "",s
- productName = "小块镍", //品名
- //gradeNo = "",
- //gradeName = dr["牌号"].ToString().Trim(), //牌号
- //standardNo = "",
- standardName = dr["Data09"].ToString().Trim(), //标准 规格
- packageNo = dr["Data45"].ToString().Trim(), //包号、箱号
- //blockNum = dr["片数"].ToString().Trim() == "" ? short.Parse("0") : short.Parse(dr["片数"].ToString().Trim()),
- //blockNumSpecified = true,
- productDate = Convert.ToDateTime(dr["MCGS_Time"].ToString().Trim()), //生产日期
- productDateSpecified = true,
- grossWeight = Convert.ToDecimal(dr["Data35"].ToString().Trim()), //毛
- grossWeightSpecified = true,
- tareWeight = Convert.ToDecimal(dr["Data00"].ToString().Trim()), //皮
- tareWeightSpecified = true,
- netWeight = Convert.ToDecimal(dr["Data02"].ToString().Trim()), //净
- netWeightSpecified = true,
- baseSpotNo = "001034003",
- baseSpotName = "小块镍包装线",
- };
- }
- da.Dispose();
- ServiceReference1.resTfulResult res = webServer.doAccessCuImpl(lm);
- if (res.succeed)
- {
- MessageBox.Show("导入完成");
- btnQuery();
- }
- else
- {
- MessageBox.Show("部分数据导入失败");
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("导入失败:" + ex.Message);
- System.GC.Collect();
- }
- }
- }
- private void btnQuery()
- {
- try
- {
- if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
- {
- MessageBox.Show("开始时间不能大于结束时间");
- return;
- }
- if ((dtEndTime.Value - dtStartTime.Value).Days > 7)
- {
- MessageBox.Show("时间跨度不能大于7天");
- return;
- }
- ServiceReference1.commonPage cp = new ServiceReference1.commonPage();
- cp.startTime = dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
- cp.endTime = dtEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
- cp.param = new ServiceReference1.meterWorkStorageActual { valueFlag = "1", baseSpotNo = "001034003" };
- ServiceReference1.meterWorkStorageActual[] ls = webServer.doQueryTimeWf(cp);
- DataTable dt = this.dataTable1.Clone();
- if (ls != null && ls.Length > 0)
- {
- dt = ListToDataTable<ServiceReference1.meterWorkStorageActual>(ls);
- }
- CopyDataToDatatable(ref dt, ref this.dataTable1, true);
- RefreshAndAutoSize(ultraGridSj);
- }
- catch (Exception ex)
- {
- MessageBox.Show("查询异常:" + ex.Message);
- }
- }
- private void frmMinWgtMeter_Load(object sender, EventArgs e)
- {
- dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
- dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
- SetUltraGridRowFilter(ref ultraGridSj, true);
- }
- #region 控件数据设置
- public void RefreshAndAutoSize(UltraGrid ultraGrid)
- {
- try
- {
- ultraGrid.BeginUpdate();
- foreach (UltraGridBand band in ultraGrid.DisplayLayout.Bands)
- {
- foreach (UltraGridColumn column in band.Columns)
- {
- column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand, band.ColHeadersVisible ? true : false);
- }
- }
- }
- catch { }
- ultraGrid.EndUpdate();
- }
- public void CopyDataToDatatable(ref DataTable src, ref DataTable dest, bool ClearExists)
- {
- if (src == null)
- {
- dest = null;
- return;
- }
- if (dest == null)
- {
- dest = new DataTable();
- }
- if (ClearExists)
- {
- if (dest != null) dest.Rows.Clear();
- }
- DataRow CurRow, NewRow;
- if (src.Rows.Count > 0)
- for (int i = 0; i < src.Rows.Count; i++)
- {
- CurRow = src.Rows[i];
- NewRow = dest.NewRow();
- for (int j = 0; j < src.Columns.Count; j++)
- {
- try
- {
- if (dest.Columns.Contains(src.Columns[j].ColumnName))
- {
- NewRow[src.Columns[j].ColumnName] = CurRow[j];
- }
- }
- catch { }
- }
- dest.Rows.Add(NewRow);
- }
- dest.AcceptChanges();
- }
- public void SetUltraGridRowFilter(ref UltraGrid myGrid1, bool bAllowFilter)
- {
- try
- {
- if (bAllowFilter)
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.FilterRow)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- if (!myGrid1.DisplayLayout.Bands[i].Columns[j].Hidden && myGrid1.DisplayLayout.Bands[i].Columns[j].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- {
- //string sKey = myGrid1.DisplayLayout.Bands[i].Columns[j].Key; //UNCK UNCH
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
- }
- }
- catch { }
- }
- }
- }
- else
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.HeaderIcons)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- try
- {
- myGrid1.DisplayLayout.Bands[i].ColumnFilters.ClearAllFilters();
- }
- catch { }
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- }
- catch { }
- }
- }
- }
- }
- catch { }
- }
- public DataTable ListToDataTable<T>(T[] items)
- {
- DataTable dataTable = new DataTable();
- PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
- foreach (PropertyInfo prop in Props)
- {
- dataTable.Columns.Add(prop.Name);
- }
- foreach (T obj in items)
- {
- var values = new object[Props.Length];
- for (int i = 0; i < Props.Length; i++)
- {
- values[i] = Props[i].GetValue(obj, null);
- }
- dataTable.Rows.Add(values);
- }
- return dataTable;
- }
- #endregion
- }
- }
|