using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Timers; using System.Windows.Forms; using System.Xml.Linq; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.LgResMgt.Mcms.entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.Misc; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinListView; using Infragistics.Win.UltraWinTabControl; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; using BorderStyle = NPOI.SS.UserModel.BorderStyle; using HorizontalAlignment = NPOI.SS.UserModel.HorizontalAlignment; using Timer = System.Timers.Timer; using System.Net.Sockets; using System.Threading; using System.Text; using System.Collections; using Core.Mes.Client.Comm.Format; namespace Core.StlMes.Client.LgResMgt.Mcms { public partial class frmLocalTruckScaleNew : FrmBase { private static readonly string _path = Environment.CurrentDirectory + "\\data\\SerialPort.xml"; private readonly Timer timer = new Timer(); private List _cmmInputRecordEntities; private frmMessage _frmMessage; private List _templateList; private bool canUpdateWt; private CmmPoundBaseEntity cmmPoundBase; private CommunicationEntity communicationnow; private List CommunicationEntitys = new List(); // private SerialPortEntity defultPortEntity; private bool isLoading = true; private List poundInfos; //TODO:等陆硬盘录像机 private Log l = Log.GetInstance(); private DataCollectionControl collection = new DataCollectionControl(); //private SocketClient defultClenttEntity; private List CmmBaseSpotInfo; //private CmmBaseSpotInfoEntity CmmBase = new CmmBaseSpotInfoEntity(); //private TcpListener tcpListener; //图片控制器含图片压缩及上传sftp private ImageControl imageControl; List loadinfo; string strip; // private CmmWorkImageEntity CmmImage=new CmmWorkImageEntity(); public frmLocalTruckScaleNew() { InitializeComponent(); IsLoadUserView = true; // timer.Elapsed += timer_Elapsed; // timer.Interval = 1 * 60 * 1000; // timer.Start(); } private void timer_Elapsed(object sender, ElapsedEventArgs e) { try { CurrentGrid.SafeRefreshControl(() => { var dic = new Dictionary(); if (!string.IsNullOrWhiteSpace(cboPoundList.Text)) dic.Add("poundNo", cboPoundList.Text); dic.Add("validflag", new List { "1" }); dic.Add("effRemaind", "1"); List list = EntityHelper.GetData( "com.steering.Mcms.RecordServer.doQueryRecord", new object[] { dic }, ob); if ((list != null) && list.Any()) foreach ( var ultraGridRow in CurrentGrid.Rows.Where( p => list.Any(q => q.RecordNo == p.Cells["RecordNo"].Value.ToString2()))) ultraGridRow.Cells["RecordDate"].Appearance.BackColor = Color.Red; }); GC.Collect(); } catch (Exception) { } } protected override void OnLoad(EventArgs e) { //try //{ System.Net.IPHostEntry hostIP = System.Net.Dns.GetHostEntry(Environment.MachineName); strip = hostIP.AddressList[0].ToString(); // strip = UserInfo.GetMachineIP(); base.OnLoad(e); tbFirstWt.Controls.OfType() .SelectMany(p => p.Controls.OfType()) .ToList() .ForEach(p => p.ini(ob)); tbOther.Controls.OfType() .SelectMany(p => p.Controls.OfType()) .ToList() .ForEach(p => p.ini(ob)); matInfo15.ini(ob); matInfo16.ini(ob); tbWt.Appearance.ForeColor = SystemColors.ControlText; ; tbFirstWt.Appearance.ForeColor = SystemColors.ControlText; ; tbScondWt.Appearance.ForeColor = SystemColors.ControlText; ; tbOther.Appearance.ForeColor = SystemColors.ControlText; ; //TUDO poundInfos = EntityHelper.GetData( "com.steering.Mcms.PoundBaseServer.getPoudInfo", new object[] { ValidDataPurviewIds }, ob); CmmBaseSpotInfo = EntityHelper.GetData( "com.steering.Mcms.CmmBaseSpotInfoServer.doQuery", new object[] { }, ob); List list = EntityHelper.GetData( "com.steering.Mcms.PoundBaseServer.getPoudInfo", new object[] { new string[] { } }, ob); RegStartTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 07:00:00")); RegEndTime.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 07:00:00")); LoadRecord(); LoadTempate(); //加载配置 imageControl = new ImageControl(CmmBaseSpotInfo[0].FtpIp, CmmBaseSpotInfo[0].FtpPort, CmmBaseSpotInfo[0].FtpUserName, CmmBaseSpotInfo[0].FtpPassword, CmmBaseSpotInfo[0].Ftptype, CmmBaseSpotInfo[0].Ftppath, ob); imageControl.Start(); // } // catch //{ } comboCount.Text = "1"; } private void defultClenttEntity_ReceiveData(object sender, object data, string message, DataType datatype, byte[] bdata) { SocketClient client = sender as SocketClient; if (client.Show == true) { ShowMessage(data, message, datatype, sender); } } private void LoadRecord() { var dic = new Dictionary(); dic.Add("recordType", new List { "1" }); List datas = EntityHelper.GetData( "com.steering.Mcms.InputRecordServer.doQuery", new object[] { dic }, ob); txtCar2.DataSource = datas.Where(p => p.RecordType == "1") .Select(p => p.RecordValue).Distinct().ToList(); txtCar2.Text = ""; dic = new Dictionary(); dic.Add("recordType", new List { "2", "7", "8", "9" }); _cmmInputRecordEntities = EntityHelper.GetData( "com.steering.Mcms.InputRecordServer.doQuery", new object[] { dic }, ob); } private void utbConnect_Click(object sender, EventArgs e) { if (communicationnow.Communication == null) return; if ((communicationnow.Communication != null) && communicationnow.Communication.Status) { communicationnow.Communication.Stop(); } else { communicationnow.Communication.Start(); } } private void utbMessage_Click(object sender, EventArgs e) { _frmMessage = new frmMessage(); _frmMessage.Show(); } //TUDO private void ShowMessage(object data, string message, DataType dataType, object sender) { SocketClient client = sender as SocketClient; if (dataType == DataType.ReceiveData) { double wt; if (double.TryParse(data.ToString2(), out wt)) lblWtNow.SafeRefreshControl(() => { lblWtNow.Text = (wt / 100d).ToString("0.00") + "t"; }); } else if (dataType == DataType.Open) { utbConnect.SafeRefreshControl(() => utbConnect.Appearance.ForeColor = Color.Red); lblMsg.SafeRefreshControl( () => lblMsg.Text = client.Status ? "已打开" : "已关闭"); // cboNo.SafeRefreshControl(() => cboNo.Enabled = false); } else if (dataType == DataType.Close) { utbConnect.SafeRefreshControl(() => utbConnect.Appearance.ForeColor = Color.Lime); lblMsg.SafeRefreshControl( () => lblMsg.Text = client.Status ? "已打开" : "已关闭"); } else if (dataType == DataType.Error) { MessageBox.Show(message); } else if (dataType == DataType.ClientReconnect) { lblMsg.SafeRefreshControl(() => lblMsg.Text = "网络异常,正在重连服务!"); } lblStatus.SafeRefreshControl(() => lblStatus.Text = client.ToString()); if ((_frmMessage != null) && !_frmMessage.IsDisposed) _frmMessage.SafeShowMsg(message, dataType); else _frmMessage = null; } private void utbShowWt_Click(object sender, EventArgs e) { string.Format("当前重量{0}", lblWt.Text.Replace("t", "吨")).Speak(); } private void lblWtNow_Click(object sender, EventArgs e) { lblWt.Text = lblWtNow.Text; if (CurrentGrid.ActiveRow != null) { var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if ((current == null) || ("" == current.CarNo)) return; if ((tbWt.ActiveTab != null) && (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null)) if (tbScondWt.ActiveTab.Key == "3") { } else if (tbScondWt.ActiveTab.Key == "0") { } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "205")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); ShowOutInfo(current.CarNo, wt - fwt); } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "206")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); if (wt - fwt > 0) matInfo13.SetWt(wt - fwt); // ShowOutInfoGp(current.CarNo, wt - fwt); } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "109")) { var matInfo = GetMatInfo(); if (matInfo != null) { decimal wt, fwt; if (decimal.TryParse(lblWt.Text.Replace("t", ""), out wt) && decimal.TryParse(current.RecordWeight.ToString3(), out fwt)) if (wt - fwt > 0) matInfo.SetWt(wt - fwt); } } } } private void utbShowCarNo_Click(object sender, EventArgs e) { if ((cbxCar1.SelectedIndex < 0) || string.IsNullOrWhiteSpace(txtCar2.Text)) return; string.Format(" {0}", cbxCar1.Text + txtCar2.Text).Speak(); } private void chkGross_CheckedChanged(object sender, EventArgs e) { tbFirstWt.Visible = chkGross.Checked; utbSaveAsT.Visible = chkGross.Checked; if (chkGross.Checked) { checkBox1.Visible = false; recordType.Visible = false; } else { checkBox1.Visible = true; recordType.Visible = true; } } Thread thsave; Point screenPoint; void Savepicture(object str) { //* //截取屏幕信息 // PbCache.actualFirstNo = CmmImage.ActualFirstNo; Rectangle rect = new Rectangle(screenPoint, this.Size); Image img = new Bitmap(rect.Width, rect.Height); Graphics g = Graphics.FromImage(img); g.CopyFromScreen(rect.X - 1, rect.Y - 1, 0, 0, rect.Size);//"D://file/1.jpg" img.Save(string.Format("{0}\\imgShort\\formalImg\\{1}_{2}_{3}.jpg", AppDomain.CurrentDomain.SetupInformation.ApplicationBase, PbCache.sportInfo.BaseSpotNo, PbCache.actualFirstNo, (5)), System.Drawing.Imaging.ImageFormat.Jpeg);// 最后一张图片名称写死了 //* //最后进行截图操作 CameraShotCls cameraShot = new CameraShotCls(); cameraShot.CapMethod(PbCache.actualFirstNo, communicationnow.PoundNo); } /// /// 一次称重保存 /// /// /// private void utbSave1_Click(object sender, EventArgs e) { if (lblWt.Text != lblWtNow.Text) { if ( MessageUtil.ShowYesNoAndQuestion("吨位不一致!请确认是否继续保存 ?") == DialogResult.No) return; } if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } if (string.IsNullOrWhiteSpace(txtCar2.Text) || string.IsNullOrWhiteSpace(cbxCar1.Text)) { MessageBox.Show(@"未录入车牌号!"); return; } decimal wt = 0; //测试注释 TZH //if (!decimal.TryParse(lblWt.Text.Replace("t", ""), out wt) || (wt <= 0)) //{ // MessageBox.Show(@"重量异常!"); // return; //} var cmmWeightRecord = new CmmWeightRecordEntityFull(); if (chkGross.Checked) { var matInfo = tbFirstWt.ActiveTab.TabPage.Controls.OfType().FirstOrDefault(); if (matInfo != null) cmmWeightRecord = matInfo.GetData(); } if ((cmmWeightRecord.RecordNumber == null) && (cmmWeightRecord.MatInfos != null) && cmmWeightRecord.MatInfos.Any()) { MessageBox.Show("支数不能为空!"); return; } cmmWeightRecord.CarNo = cbxCar1.Text + txtCar2.Text.ToUpper().Trim(); cmmWeightRecord.Recoder = UserInfo.GetUserName(); cmmWeightRecord.RecordType = !chkGross.Checked ? "101" : tbFirstWt.ActiveTab.Key; cmmWeightRecord.WtType = chkGross.Checked ? "1" : "0"; cmmWeightRecord.Validflag = "1"; cmmWeightRecord.RecordWeight = wt; cmmWeightRecord.RecoderLocation = cmmPoundBase.PoundNo; cmmWeightRecord.MatType = chkGross.Checked ? tbFirstWt.ActiveTab.Text : checkBox1.Checked ? recordType.Text : ""; cmmWeightRecord.Memo = chkSteelCar.Checked ? "钢管" : ""; if ("102" == cmmWeightRecord.RecordType) if ((cmmWeightRecord.RecordNumber == null) || (cmmWeightRecord.RecordNumber <= 0) || (cmmWeightRecord.MatInfos == null) || !cmmWeightRecord.MatInfos.Any() || cmmWeightRecord.MatInfos.Any(p => (p.ActCount == null) || (p.ActCount <= 0))) { MessageBox.Show("支数不能为空!"); return; } // 先毛后皮 if (checkBox1.Checked) { var key = ""; key = recordType.Value.ToString2(); if (key == "" || key == null) { MessageBox.Show("请选择过磅类型!"); return; } cmmWeightRecord.WtType = "1"; cmmWeightRecord.RecordType = key; } var list = cmmWeightRecordEntityBindingSource.DataSource as List; if ((list != null) && list.Any(p => p.CarNo == cmmWeightRecord.CarNo)) if (MessageUtil.ShowYesNoAndQuestion("车牌已经存在皮重,是否继续保存皮重?") == DialogResult.No) return; var json = JsonConvert.SerializeObject(cmmWeightRecord, Formatting.None, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.LocalTruckScale", MethodName = "DoAdd", ServerParams = new object[] { "", json } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (true)//(ccp.ReturnCode != -1) if (ccp.ReturnInfo.ToString2().Contains("称重完成")) { ccp.ReturnInfo.ToString2().Speak(); lblWt.Text = "0.000t"; LoadRecord(); Query(); var matInfo = GetMatInfo(); if (matInfo != null) matInfo.SetDefault(null); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } PbCache.actualFirstNo = ccp.ReturnObject.ToString();//tudo addActual(communicationnow.PoundNo, PbCache.actualFirstNo); checkBox1.Checked = false; chkSteelCar.Checked = false; chkGross.Checked = false; tbFirstWt.Visible = chkGross.Checked; utbSaveAsT.Visible = chkGross.Checked; #region 截取图片信息 try { screenPoint = this.PointToScreen(new Point()); thsave = new Thread(new ParameterizedThreadStart(Savepicture)); thsave.Start(""); playVioce("称重完成"); } catch (Exception ex) { l.WriteLog(5, PbCache.lockCarNo + "截图失败"); } #endregion //TUDO// } /// /// 二次称重 /// /// /// private void btnSave2_Click(object sender, EventArgs e) { string CX = ""; if ( CX_HT.Value != null) { CX = CX_HT.Value.ToString(); } if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } if (lblWt.Text != lblWtNow.Text) { if (MessageUtil.ShowYesNoAndQuestion("吨位不一致!请确认是否继续保存 ?") == DialogResult.No) return; } if (tbScondWt.ActiveTab == null) return; if (CurrentGrid.ActiveRow == null) { MessageBox.Show(@"请选择第一次称重记录"); return; } decimal wt = 0; //测试注释 TZH //if (!decimal.TryParse(lblWt.Text.Replace("t", ""), out wt) || (wt <= 0)) //{ // MessageBox.Show(@"重量异常!"); // return; //} var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if (current == null) return; if (current.CarNo != (cbxCar1.Text + txtCar2.Text)) { MessageBox.Show("选中的车号与显示的车号不一致"); return; } var key = GetKey(); CmmWeightRecordEntityFull cmmWeightRecord; if ("207" == key) { cmmWeightRecord = new CmmWeightRecordEntityFull(); if (checkBox3.Checked) { var matInfo = GetMatInfo(); cmmWeightRecord = matInfo.GetData(); cmmWeightRecord.WtType = "0"; } } else { var matInfo = GetMatInfo(); if (matInfo == null) return; cmmWeightRecord = matInfo.GetData(); cmmWeightRecord.WtType = "1"; if ((cmmWeightRecord.RecordNumber == null) && (cmmWeightRecord.MatInfos != null) && cmmWeightRecord.MatInfos.Any()) { MessageBox.Show("数量不能为空!"); return; } } var hookWtStr = ""; if (key == "201") { if ((cmmWeightRecord.MatInfos == null) || !cmmWeightRecord.MatInfos.Any()) { MessageBox.Show("无配送单信息!"); return; } if (cmmWeightRecord.MatInfos.Any(p => p.ActWeight == null)) { MessageBox.Show("有炉号没有钩子称重量!"); return; } var hookWt = cmmWeightRecord.MatInfos.Select(p => (decimal)p.ActWeight).Sum(); hookWtStr = hookWt.ToString(); decimal NetWt; decimal wt2, wt1; if (decimal.TryParse(lblWt.Text.Replace("t", ""), out wt2) && decimal.TryParse(current.RecordWeight.ToString3(), out wt1)) { NetWt = wt2 - wt1; } else { MessageBox.Show("数据异常!"); return; } if (NetWt <= 0) { MessageBox.Show("净重小于0!"); return; } cmmWeightRecord.RealWt = NetWt; if (Math.Abs(NetWt - hookWt) * 1000 / NetWt >= 5) { var msg = " 净重与钩子称 误差超过千分之5"; msg.Speak(); if ( MessageUtil.ShowYesNoAndQuestion(" 净重: " + NetWt + "t 钩子称重量: " + hookWt + "t 磅差 " + (NetWt - hookWt) + "t 误差超过千分之5, 请确认是否继续保存 ?") == DialogResult.No) return; } } cmmWeightRecord.RecordType = GetKey(); cmmWeightRecord.Recoder = UserInfo.GetUserName(); cmmWeightRecord.Validflag = "2"; cmmWeightRecord.RecordWeight = wt; cmmWeightRecord.RecoderLocation = cmmPoundBase.PoundNo; cmmWeightRecord.CarNo = current.CarNo; cmmWeightRecord.MatType = GetMatType(); if (("208" == cmmWeightRecord.RecordType) && ((cmmWeightRecord.MatInfos == null) || !cmmWeightRecord.MatInfos.Any())) { MessageBox.Show(@"无废品出库信息,无法保存!"); return; } if (("201" == cmmWeightRecord.RecordType) && ((cmmWeightRecord.MatInfos == null) || !cmmWeightRecord.MatInfos.Any())) { MessageBox.Show(@"无装车单信息,无法保存!"); return; } //钢坯采购空车回皮直接做法,下次判断 var newKey = ""; if (checkBox3.Checked && cmmWeightRecord.RecordType == "207") { newKey = qitahuipi.ActiveTab.Key; cmmWeightRecord.MatType = qitahuipi.ActiveTab.Text; } var json = JsonConvert.SerializeObject(cmmWeightRecord, Formatting.None, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); object[] o = null; if (cmmWeightRecord.RecordType == "207" && checkBox3.Checked) { if ("102" == newKey) { cmmWeightRecord.WtType = "0"; decimal NetWt; decimal wt2, wt1; if (decimal.TryParse(lblWt.Text.Replace("t", ""), out wt2) && decimal.TryParse(current.RecordWeight.ToString3(), out wt1)) { NetWt = wt1 - wt2; } else { MessageBox.Show("数据异常!"); return; } if (NetWt <= 0) { MessageBox.Show("净重小于0!"); return; } cmmWeightRecord.RealWt = NetWt; } if ("102" == newKey) if ((cmmWeightRecord.RecordNumber == null) || (cmmWeightRecord.RecordNumber <= 0) || (cmmWeightRecord.MatInfos == null) || !cmmWeightRecord.MatInfos.Any() || cmmWeightRecord.MatInfos.Any(p => (p.ActCount == null) || (p.ActCount <= 0))) { MessageBox.Show("支数不能为空!"); return; } o = new object[] { current.RecordNo, hookWtStr, json, newKey, CX }; } else { o = new object[] { current.RecordNo, hookWtStr, json, CX }; } var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.LocalTruckScale", MethodName = "DoAdd", ServerParams = o }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { PbCache.actualFirstNo = ccp.ReturnObject.ToString(); addActual(communicationnow.PoundNo, PbCache.actualFirstNo); checkBox3.Checked = false; checkBox3.Visible = false; qitahuipi.Visible = checkBox3.Checked; #region 截取图片信息 try { screenPoint = this.PointToScreen(new Point()); thsave = new Thread(new ParameterizedThreadStart(Savepicture)); thsave.Start(""); playVioce("称重完成"); } catch (Exception ex) { l.WriteLog(5, PbCache.lockCarNo + "截图失败"); } #endregion if (ccp.ReturnInfo.ToString2().Contains("称重完成")) { decimal wt2; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt2); lblWt.Text = "0.000t"; var result = ccp.ReturnInfo.ToString2().Split('|'); result[0].Speak(); if (result.Length > 1) if ((key == "201") && (wt2 > 50) && (MessageUtil.ShowYesNoAndQuestion("称重完成! 毛重超过50吨, 是否继续打印磅单?") == DialogResult.No)) { } else { Print(result[1]); } LoadRecord(); Query(); Query2(); //TODO 打印 var matInfo = GetMatInfo(); if (matInfo != null) matInfo.SetDefault(null); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void Print(string resultNo, bool spilt = false) { var strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=" + (spilt ? "RepThCattyListCut" : "RepThCattyList") + ".cpt&RESULT_NO=" + resultNo; var fre = new FrmRepBrower(ob, strurl) { Size = new Size(900, 500) }; fre.Show(); } private void Print2(string resultNo, bool spilt = false) { var strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=" + (spilt ? "RepThCattyListCut" : "RepThCattyList") + ".cpt&RESULT_NO=" + resultNo; var fre = new FrmRepBrower(ob, strurl) { Size = new Size(900, 500) }; fre.Show(); } //TUDO private void frmLocalTruckScale_FormClosed(object sender, FormClosedEventArgs e) { //if ((communication != null) && communication.Status) // communication.Stop(); timer.Stop(); } private void Query() { var dic = new Dictionary(); if (!string.IsNullOrWhiteSpace(cboPoundList.Text)) dic.Add("poundNo", cboPoundList.Text); dic.Add("validflag", new List { "1" }); cmmWeightRecordEntityBindingSource.DataSource = EntityHelper.GetData( "com.steering.Mcms.RecordServer.doQueryRecord", new object[] { dic }, ob); Comm.RefreshAndAutoSize(CurrentGrid); } private void LoadTempate() { /* if (cmmPoundBase == null) return; */ _templateList = EntityHelper.GetData( "com.steering.Mcms.TemplateServer.doQueryTempate", new object[] { "" }, ob); tbFirstWt_SelectedTabChanged(null, null); } private void utbSaveAsT_Click(object sender, EventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } if (tbWt.ActiveTab == null) return; var matInfo = GetMatInfo(); if (matInfo != null) { var cmmWeightRecord = matInfo.GetData(); string projectName; using (var fractureInfo = new ProjectName("模板名")) { fractureInfo.ShowDialog(); if (fractureInfo.DialogResult != DialogResult.OK) return; projectName = fractureInfo.ProjectNameStr; } var template = new CmmRecordTemplateEntity { CreateUser = UserInfo.GetUserName(), TemplateKey = GetKey(), TemplateLocation = cmmPoundBase.PoundNo, TemplateXml = cmmWeightRecord.ToString(), TemplateName = projectName }; var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.TemplateServer", MethodName = "DoSaveTemplateNo", ServerParams = new object[] { JsonConvert.SerializeObject(template, Formatting.None, new JsonSerializerSettings {ContractResolver = new CamelCasePropertyNamesContractResolver()}) } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("保存成功!")) LoadTempate(); } } } private MatInfo GetMatInfo() { MatInfo matInfo = null; if (tbWt.ActiveTab == null) return null; if ((tbWt.ActiveTab.Key == "1") && (tbFirstWt.ActiveTab != null)) matInfo = tbFirstWt.ActiveTab.TabPage.Controls.OfType().FirstOrDefault(); else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null)) matInfo = tbOther.ActiveTab.TabPage.Controls.OfType().FirstOrDefault(); else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "3")) matInfo = matInfo15; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "0")) matInfo = matInfo16; // ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && // (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null) // matInfo = qitahuipi.ActiveTab.TabPage.Controls.OfType().FirstOrDefault();这个以后试试可以用不--byzc else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "102") matInfo = matInfo20; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "110") matInfo = matInfo28; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "103") matInfo = matInfo21; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "104") matInfo = matInfo22; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "105") matInfo = matInfo23; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "106") matInfo = matInfo24; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "107") matInfo = matInfo25; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "108") matInfo = matInfo26; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "109") matInfo = matInfo27; else if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "301") matInfo = matInfo19; return matInfo; } private MatInfo GetMatInfoByKey(string key) { MatInfo matInfo = null; foreach (var ultraTab in tbFirstWt.Tabs) { var matinfo = ultraTab.TabPage.Controls.OfType().Where(p => p.Key == key).ToList(); if (matinfo.Any()) return matinfo[0]; } foreach (var ultraTab in tbOther.Tabs) { var matinfo = ultraTab.TabPage.Controls.OfType().Where(p => p.Key == key).ToList(); if (matinfo.Any()) return matinfo[0]; } if (key == "201") return matInfo16; if (key == "301") return matInfo19; return matInfo; } private void utbDelete_Click(object sender, EventArgs e) { var matInfo = GetMatInfo(); if (matInfo != null) matInfo.DeleteRow(); } private void utbClear_Click(object sender, EventArgs e) { var matInfo = GetMatInfo(); if (matInfo != null) matInfo.Clear(); } private void tbFirstWt_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { LoadTem(); var matInfo = GetMatInfo(); if (matInfo != null) matInfo.Clear(); //TZH 24.11.7 加入取产销的废品合同号 if (tbOther.ActiveTab.Key == "202") { CX_HTH.Visible = true; CX_HT.Visible = true; DataTable dt = ServerHelper.GetData("com.steering.Mcms.TemplateServer.SelectCX", new object[] { }, ob); if (dt != null && dt.Rows.Count > 0) { CX_HT.DataSource = dt; CX_HT.ValueMember = "BILL_NO"; CX_HT.DisplayMember = "BILL_NO"; } } else { CX_HTH.Visible = false; CX_HT.Visible = false; } if (CurrentGrid.ActiveRow != null) { var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if ((current == null) || ("" == current.CarNo)) return; if ((tbWt.ActiveTab != null) && (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null)) if (tbScondWt.ActiveTab.Key == "3") { } else if (tbScondWt.ActiveTab.Key == "0") { } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "205")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); ShowOutInfo(current.CarNo, wt - fwt); } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "206")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); if (wt - fwt > 0) matInfo13.SetWt(wt - fwt); //ShowOutInfoGp(current.CarNo, wt - fwt); } else { if (matInfo != null) { decimal wt, fwt; if (decimal.TryParse(lblWt.Text.Replace("t", ""), out wt) && decimal.TryParse(current.RecordWeight.ToString3(), out fwt)) if (wt - fwt > 0) matInfo.SetWt(wt - fwt); } } } utbSelect.Visible = (tbWt.ActiveTab != null) && (tbWt.ActiveTab.Key == "1") && (tbFirstWt.ActiveTab != null) && (tbFirstWt.ActiveTab.Key == "102"); utbSelect2.Visible = utbSelect.Visible; } private void LoadTem() { if (_templateList == null) return; var key = GetKey(); if (string.IsNullOrWhiteSpace(key)) return; if ((_cmmInputRecordEntities != null) && _cmmInputRecordEntities.Any()) { var matInfo = GetMatInfo(); if (matInfo != null) matInfo.iniMatName( _cmmInputRecordEntities.Where( p => (p.RecordKey == key) || string.IsNullOrWhiteSpace(p.RecordKey)).ToList()); } lvTemplate.Items.Clear(); lvTemplate.Items.AddRange(_templateList.Where(p => CheckShowKey(p.TemplateKey, key)) .Select(p => { var temp = new UltraListViewItem(p.TemplateName, null, null) { Key = p.TemplateNo }; try { temp.Tag = XmlHelper.FromXElement(XElement.Parse(p.TemplateXml)); } catch (Exception) { // ignored } return temp; } ). ToArray() ); } private string GetKey() { return tbWt.ActiveTab.Key == "1" ? (tbFirstWt.ActiveTab == null ? "" : tbFirstWt.ActiveTab.Key) : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) ? tbOther.ActiveTab.Key : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "0") ? "201" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") ? "207" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "3") ? "208" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "4") ? "102" : ""; } private string GetMatType() { return tbWt.ActiveTab.Key == "1" ? "" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) ? tbOther.ActiveTab.Text : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "0") ? "钢管发运" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") ? "" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "3") ? "其它内转" : ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "102") ? "钢坯采购" : ""; } private void lvTemplate_MouseClick(object sender, MouseEventArgs e) { var listView = sender as UltraListView; if (e.Button == MouseButtons.Right) { var itemAtPoint = lvTemplate.ItemFromPoint(e.Location); if (itemAtPoint != null) { lvTemplate.ContextMenuStrip = listViewMenuStrip; ISelectionManager selectionManager = listView; if (selectionManager != null) selectionManager.SelectItem(itemAtPoint, true); itemAtPoint.Activate(); } } } private void deleteTemplate_Click(object sender, EventArgs e) { if (lvTemplate.ActiveItem == null) return; var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.TemplateServer", MethodName = "DoDeleteTemplate", ServerParams = new object[] { lvTemplate.ActiveItem.Key, UserInfo.GetUserName() } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) LoadTempate(); } } private void CurrentGrid_AfterRowActivate(object sender, EventArgs e) { CurrentGrid.ActiveRow.RowSelectorAppearance.BackColor = Color.LightGreen; var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if ((current == null) || ("" == current.CarNo)) return; if (current.firstGross == "是") { checkBox3.Visible = true; ultraButton2.Visible = true; } else { checkBox3.Visible = false; ultraButton2.Visible = false; } if ((tbWt.ActiveTab != null) && (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null)) if (tbScondWt.ActiveTab.Key == "3") ShowWasteInfo(current.CarNo); else if (tbScondWt.ActiveTab.Key == "0") ShowLoadvehicleInfo(current.CarNo); else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "205")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); ShowOutInfo(current.CarNo, wt - fwt); } else if ((tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) && (tbOther.ActiveTab.Key == "206")) { decimal wt, fwt; decimal.TryParse(lblWt.Text.Replace("t", ""), out wt); decimal.TryParse(current.RecordWeight.ToString3(), out fwt); if (wt - fwt > 0) matInfo13.SetWt(wt - fwt); //ShowOutInfoGp(current.CarNo, wt - fwt); } else { var matInfo = GetMatInfo(); if (matInfo != null) { decimal wt, fwt; if (decimal.TryParse(lblWt.Text.Replace("t", ""), out wt) && decimal.TryParse(current.RecordWeight.ToString3(), out fwt)) if (wt - fwt > 0) matInfo.SetWt(wt - fwt); } } } // 显示废品信息 public void ShowWasteInfo(string carNo) { var cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull(); var dt = ServerHelper.GetData("com.steering.Mcms.MatOutServer.doQueryWasteInfo", new object[] { carNo }, ob); if ((dt != null) && (dt.Rows.Count > 0)) { cmmWeightRecordEntityFull.ShippersName = dt.Rows[0]["STORAGE_NAME_FROM"].ToString2(); cmmWeightRecordEntityFull.LoadvehicleNo = dt.Rows[0]["OUTSTOCK_DOC"].ToString2(); cmmWeightRecordEntityFull.ReceiveName = dt.Rows[0]["STORAGE_NAME_TO"].ToString2(); cmmWeightRecordEntityFull.RecordNumber = decimal.Parse(dt.Rows[0]["ACT_COUNT"].ToString3()); cmmWeightRecordEntityFull.MatName = "废品管"; foreach (DataRow dtcRow in dt.Rows) { var cmmWeightMatEntity = new CmmWeightMatEntity { Produccode = dtcRow["PRODUCCODE"].ToString2(), Producname = dtcRow["PRODUCNAME"].ToString2(), Gradecode = dtcRow["GRADECODE"].ToString2(), Gradename = dtcRow["GRADENAME"].ToString2(), Steelcode = dtcRow["STEELCODE"].ToString2(), Steelname = dtcRow["STEELNAME"].ToString2(), ActLenTemp = dtcRow["ACT_LEN_MIN"].ToString3() + "-" + dtcRow["ACT_LEN_MAX"].ToString3(), ActWeight = decimal.Parse(dtcRow["ACT_WEIGHT"].ToString3()), ActCount = decimal.Parse(dtcRow["ACT_COUNT"].ToString3()), JudgeStoveNo = dtcRow["JUDGE_STOVE_NO"].ToString2(), ActDimater = decimal.Parse(dtcRow["ACT_DIMATER"].ToString3()), ActHeight = decimal.Parse(dtcRow["ACT_HEIGHT"].ToString3()) }; cmmWeightRecordEntityFull.MatInfos.Add(cmmWeightMatEntity); } } matInfo15.SetDefault(cmmWeightRecordEntityFull); } //显示装车单信息 public void ShowLoadvehicleInfo(string carNo) { var cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull(); var dt = ServerHelper.GetData("com.steering.Mcms.LoadVehicleServer.doQueryLoadvehicleInfo", new object[] { carNo }, ob); if ((dt != null) && (dt.Rows.Count > 0)) { cmmWeightRecordEntityFull.ShippersName = dt.Rows[0]["BASENAME"].ToString2(); cmmWeightRecordEntityFull.LoadvehicleNo = dt.Rows[0]["LOADVEHICLE_NO"].ToString2(); cmmWeightRecordEntityFull.ReceiveName = dt.Rows[0]["RECEIV_NM"].ToString2(); cmmWeightRecordEntityFull.RecordNumber = decimal.Parse(dt.Rows[0]["STACKING_PIECE"].ToString3()); cmmWeightRecordEntityFull.ShippersName = dt.Rows[0]["BASENAME"].ToString2(); cmmWeightRecordEntityFull.OrderName = dt.Rows[0]["CUSTOMER_NM"].ToString2(); cmmWeightRecordEntityFull.MatName = "钢管"; cmmWeightRecordEntityFull.MatInfos = new List(); var dtc = ServerHelper.GetData("com.steering.Mcms.LoadVehicleServer.doQueryLoadvehicleMatInfo", new object[] { cmmWeightRecordEntityFull.LoadvehicleNo }, ob); if ((dtc != null) && (dtc.Rows.Count > 0)) foreach (DataRow dtcRow in dtc.Rows) { var cmmWeightMatEntity = new CmmWeightMatEntity { StorageNo = dtcRow["STORAGE_NO"].ToString2(), StorageName = dtcRow["STORAGE_NAME"].ToString2(), StoveNo = dtcRow["STOVE_NO"].ToString2(), OrderNo = dtcRow["ORDER_NO"].ToString2(), OrderSeq = dtcRow["ORDER_SEQ"].ToString2(), OrderSeqNo = dtcRow["ORDER_SEQ_NO"].ToString2(), ProOrderNo = dtcRow["ORDER_NO"].ToString2() + "/" + dtcRow["ORDER_SEQ"].ToString2(), Produccode = dtcRow["PRODUCCODE"].ToString2(), Producname = dtcRow["PRODUCNAME"].ToString2(), StdCode = dtcRow["STD_CODE"].ToString2(), StdName = dtcRow["STD_NAME"].ToString2(), Gradecode = dtcRow["GRADECODE"].ToString2(), Gradename = dtcRow["GRADENAME"].ToString2(), Steelcode = dtcRow["STEELCODE"].ToString2(), Steelname = dtcRow["STEELNAME"].ToString2(), SpecCode = dtcRow["SPEC_CODE"].ToString2(), SpecName = dtcRow["SPEC_NAME"].ToString2(), ModelCode = dtcRow["MODEL_CODE"].ToString2(), ModelDesc = dtcRow["MODEL_DESC"].ToString2(), ActLenMin = decimal.Parse(dtcRow["ACT_LEN_MIN"].ToString3()), ActLenMax = decimal.Parse(dtcRow["ACT_LEN_MAX"].ToString3()), ActLenTemp = dtcRow["ACT_LEN_MIN"].ToString3() + "-" + dtcRow["ACT_LEN_MAX"].ToString3(), ActCount = decimal.Parse(dtcRow["ACT_COUNT"].ToString3()), JudgeStoveNo = dtcRow["JUDGE_STOVE_NO"].ToString2(), ActDimater = decimal.Parse(dtcRow["ACT_DIMATER"].ToString3()), ActHeight = decimal.Parse(dtcRow["ACT_HEIGHT"].ToString3()) }; cmmWeightRecordEntityFull.MatInfos.Add(cmmWeightMatEntity); } try { var dth = ServerHelper.GetData("com.steering.Mcms.LoadVehicleServer.doQueryHook", new object[] { cmmWeightRecordEntityFull.LoadvehicleNo }, ob); if ((dth != null) && (dth.Rows.Count > 0)) foreach (DataRow dthRow in dth.Rows) { var total = double.Parse(dthRow["HOOK_WEIGHT"].ToString3()); double num = int.Parse(cmmWeightRecordEntityFull.MatInfos.Where( p => p.JudgeStoveNo == dthRow["JUDGE_STOVE_NO"].ToString2()) .Select(p => p.ActCount) .Sum() .ToString3()); var perWt = Math.Round(total / num, 3); var list = cmmWeightRecordEntityFull.MatInfos.Where( p => p.JudgeStoveNo == dthRow["JUDGE_STOVE_NO"].ToString2()).ToList(); for (var i = 0; i < list.Count; i++) if (i == 0) list[i].ActWeight = decimal.Parse( (total - perWt * (num - double.Parse(list[i].ActCount.ToString3()))).ToString3 ()); else list[i].ActWeight = decimal.Parse( (perWt * double.Parse(list[i].ActCount.ToString3())).ToString3()); } } catch (Exception) { } } else { cmmWeightRecordEntityFull = null; } matInfo16.SetDefault(cmmWeightRecordEntityFull); } public void ShowOutInfo(string carNo, decimal nutWt) { var cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull(); var dt = ServerHelper.GetData("com.steering.Mcms.MatOutServer.doQueryOutInfo", new object[] { carNo, comboCount.Text }, ob); //if ((dt != null) && (dt.Rows.Count > 0) && ((dt.Rows[0]["STORAGE_NAME_D"].ToString2() == "天津钢管制造有限公司") || ((dt.Rows[0]["STORAGE_NAME_TO"].ToString2() == "天淮室外成品库" || dt.Rows[0]["STORAGE_NAME_TO"].ToString2() == "天淮室内成品库") && dt.Rows[0]["OUTSTOCK_PLAN_NO"].ToString2() == "1"))) // 调整 只有去天津 才带出出库记录 2021.3.15 if ((dt != null) && (dt.Rows.Count > 0))//天淮全部倒运都可显示 { cmmWeightRecordEntityFull.ShippersName = dt.Rows[0]["STORAGE_NAME_D"].ToString2() == "天津钢管制造有限公司" ? "江苏天淮钢管有限公司" : dt.Rows[0]["STORAGE_NAME_FROM"].ToString2(); cmmWeightRecordEntityFull.LoadvehicleNo = dt.Rows[0]["OUTSTOCK_DOC"].ToString2(); cmmWeightRecordEntityFull.ReceiveName = dt.Rows[0]["STORAGE_NAME_TO"].ToString2(); cmmWeightRecordEntityFull.OrderName = dt.Rows[0]["STORAGE_NAME_D"].ToString2(); cmmWeightRecordEntityFull.RecordNumber = dt.AsEnumerable().Select(p => decimal.Parse(p["ACT_COUNT"].ToString3())).Sum(); decimal.Parse(dt.Rows[0]["ACT_COUNT"].ToString3()); cmmWeightRecordEntityFull.MatName = dt.Rows[0]["STORAGE_NAME_D"].ToString2() == "天津钢管制造有限公司" ? "调拨钢管" : "内转钢管"; cmmWeightRecordEntityFull.MatInfos = new List(); var totalWt = dt.AsEnumerable().Select(p => decimal.Parse(p["ACT_WEIGHT"].ToString3())).Sum(); var perWt = nutWt / totalWt; var remainWt = nutWt; for (var i = 0; i < dt.Rows.Count; i++) { var dtcRow = dt.Rows[i]; var cmmWeightMatEntity = new CmmWeightMatEntity { Produccode = dtcRow["PRODUCCODE"].ToString2(), Producname = dtcRow["PRODUCNAME"].ToString2(), Gradecode = dtcRow["GRADECODE"].ToString2(), Gradename = dtcRow["GRADENAME"].ToString2(), Steelcode = dtcRow["STEELCODE"].ToString2(), Steelname = dtcRow["STEELNAME"].ToString2(), ActLenTemp = dtcRow["ACT_LEN_MIN"].ToString3() + "-" + dtcRow["ACT_LEN_MAX"].ToString3(), ActWeight = i == dt.Rows.Count - 1 ? remainWt : Math.Round(decimal.Parse(dtcRow["ACT_WEIGHT"].ToString3()) * perWt, 3), ActCount = decimal.Parse(dtcRow["ACT_COUNT"].ToString3()), JudgeStoveNo = dtcRow["JUDGE_STOVE_NO"].ToString2(), ActDimater = decimal.Parse(dtcRow["ACT_DIMATER"].ToString3()), ActHeight = decimal.Parse(dtcRow["ACT_HEIGHT"].ToString3()) }; remainWt = remainWt - (decimal)cmmWeightMatEntity.ActWeight; cmmWeightRecordEntityFull.MatInfos.Add(cmmWeightMatEntity); } matInfo12.SetDefault(cmmWeightRecordEntityFull); } else { if (nutWt > 0) matInfo12.SetWt(nutWt); } } public void ShowOutInfoGp(string carNo, decimal nutWt) { var cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull(); var dt = ServerHelper.GetData("com.steering.Mcms.MatOutServer.doQueryOutInfoGp", new object[] { carNo }, ob); if ((dt != null) && (dt.Rows.Count > 0)) { cmmWeightRecordEntityFull.ShippersName = dt.Rows[0]["STORAGE_NAME_FROM"].ToString2(); cmmWeightRecordEntityFull.LoadvehicleNo = dt.Rows[0]["OUTSTOCK_DOC"].ToString2(); cmmWeightRecordEntityFull.ReceiveName = dt.Rows[0]["STORAGE_NAME_TO"].ToString2(); cmmWeightRecordEntityFull.RecordNumber = dt.AsEnumerable().Select(p => decimal.Parse(p["ACT_COUNT"].ToString3())).Sum(); decimal.Parse(dt.Rows[0]["ACT_COUNT"].ToString3()); cmmWeightRecordEntityFull.MatName = "内转钢坯"; cmmWeightRecordEntityFull.MatInfos = new List(); var perWt = Math.Round(nutWt / (decimal)cmmWeightRecordEntityFull.RecordNumber, 3); var remainWt = nutWt; for (var i = 0; i < dt.Rows.Count; i++) { var dtcRow = dt.Rows[i]; var cmmWeightMatEntity = new CmmWeightMatEntity { Steelcode = dtcRow["GRADECODE"].ToString2(), Steelname = dtcRow["GRADENAME"].ToString2(), ActLenTemp = dtcRow["ACT_LEN"].ToString3(), ActWeight = i == dt.Rows.Count - 1 ? remainWt : decimal.Parse(dtcRow["ACT_COUNT"].ToString3()) * perWt, ActCount = decimal.Parse(dtcRow["ACT_COUNT"].ToString3()), JudgeStoveNo = dtcRow["JUDGE_STOVE_NO"].ToString2(), ActDimater = decimal.Parse(dtcRow["DIMATER"].ToString3()), ActHeight = decimal.Parse(dtcRow["HEIGHT"].ToString3()) }; remainWt = remainWt - perWt; cmmWeightRecordEntityFull.MatInfos.Add(cmmWeightMatEntity); } matInfo13.SetDefault(cmmWeightRecordEntityFull); } else { if (nutWt > 0) matInfo13.SetWt(nutWt); } } private void tbScondWt_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { if (CurrentGrid.ActiveRow != null) { var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if (current != null) if (tbScondWt.ActiveTab.Key == "3") ShowWasteInfo(current.CarNo); else if (tbScondWt.ActiveTab.Key == "0") ShowLoadvehicleInfo(current.CarNo); } LoadTem(); } private void utnQuery_Click(object sender, EventArgs e) { Query2(); } private void Query2() { try { var dic = new Dictionary(); if (chkTim.Checked) { dic.Add("time", RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); dic.Add("time1", RegEndTime.Value.ToString("yyy-MM-dd HH:mm:ss")); } dic.Add("carNo", uteCarNo.Text); dic.Add("matType", uceQueryCarType.Text); dic.Add("resultNo", utePound.Text); dic.Add("orderName", uteOrder.Text); dic.Add("shippersName", uteShippersName.Text); dic.Add("receiveName", uteReceiveName.Text); dic.Add("memo", uteMemo.Text); dic.Add("validflag", new List { "1" }); dic.Add("judgeStoveNo", uteJudgeStoveNo.Text); List list = EntityHelper.GetData( "com.steering.Mcms.ResultServer.doQuery", new object[] { dic }, ob); lblCount.Text = string.Format("共{0}条记录", list.Count); QueryBS.DataSource = list; Comm.RefreshAndAutoSize(ugData); } catch { } } private void tbMain_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { if (tbMain.SelectedTab.Key == "1") Query(); else Query2(); } private void utbReset_Click(object sender, EventArgs e) { RegStartTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 07:00:00")); RegEndTime.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 07:00:00")); uteCarNo.Text = ""; uceQueryCarType.Text = ""; utePound.Text = ""; uteOrder.Text = ""; uteShippersName.Text = ""; uteReceiveName.Text = ""; uteMemo.Text = ""; uteJudgeStoveNo.Text = ""; } private void btnDelete_Click(object sender, EventArgs e) { if (ugData.ActiveRow == null) return; var ub = sender as UltraButton; if (ub == null) return; var data = ugData.ActiveRow.ListObject as CmmWeightResultEntity; if (data == null) return; ("是否" + ub.Text + " 车辆 " + data.CarNo + " 的过磅单?").Speak(); if (MessageUtil.ShowYesNoAndQuestion("是否" + ub.Text + " 车牌[" + data.CarNo + "]过磅单?") == DialogResult.No) return; var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.LocalTruckScale", MethodName = "DoDeleteResult", ServerParams = new object[] { data.ResultNo, UserInfo.GetUserName(), "重过" == ub.Text ? "2" : "1", } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("操作成功!")) { Query2(); Query(); } } } private void lvTemplate_ItemDoubleClick(object sender, ItemDoubleClickEventArgs e) { var matInfo = GetMatInfo(); if ((matInfo != null) && matInfo.AddNew) matInfo.SetDefault(e.Item.Tag as CmmWeightRecordEntityFull, e.Item.Text); } private void cboPoundList_SelectedValueChanged(object sender, EventArgs e) { Query(); } private void delete_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if ((current == null) || ("" == current.CarNo)) return; if (MessageUtil.ShowYesNoAndQuestion("是否删除" + current.CarNo + " 过磅记录?") == DialogResult.No) return; var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.RecordServer", MethodName = "DoUpdateRecord", ServerParams = new object[] { current.RecordNo } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) if (ccp.ReturnInfo.ToString2().Contains("操作成功")) Query(); else MessageUtil.ShowTips(ccp.ReturnInfo); } private void ugData_InitializeRow(object sender, InitializeRowEventArgs e) { var data = e.Row.ListObject as CmmWeightResultEntity; if (data == null) return; if (data.RecordType2 == "201") e.Row.Appearance.BackColor = Color.ForestGreen; } private void uteCarNo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) Query2(); } private void utnUpdate_Click(object sender, EventArgs e) { if (ugData.ActiveRow == null) { MessageBox.Show("请选择需要修改磅单记录!"); return; } var cmm = ugData.ActiveRow.ListObject as CmmWeightResultEntity; var matInfo = GetMatInfoByKey("101" == cmm.RecordType1 ? cmm.RecordType2 : cmm.RecordType1); if (matInfo == null) { MessageBox.Show("该类型不允许修改!"); return; } var recordNo = "101" == cmm.RecordType1 ? cmm.RecordNo2 : cmm.RecordNo1; if ("207" == cmm.RecordType2 && (cmm.MatType == "钢坯采购"|| cmm.MatType == "钢坯退货" || cmm.MatType == "钢管退货" || cmm.MatType == "采购辅料" || cmm.MatType == "修复返厂" || cmm.MatType == "设备采购" || cmm.MatType == "其他内转" || cmm.MatType == "内转钢管" || cmm.MatType == "外购钢管")) { recordNo = cmm.RecordNo2; } using (var frmUpdate = new FrmUpdate(ob, cmm, recordNo, canUpdateWt) { ColumnsM = matInfo.ColumnsM, ColumnsC = matInfo.ColumnsC }) { frmUpdate.ShowDialog(); if (frmUpdate.DialogResult == DialogResult.OK) Query2(); } } private void utbPrint_Click(object sender, EventArgs e) { if (ugData.ActiveRow == null) return; var data = ugData.ActiveRow.ListObject as CmmWeightResultEntity; if (data == null) return; if ((data.RecordType2 == "201") && (data.GrossWt != null) && (data.GrossWt > 50) && (MessageUtil.ShowYesNoAndQuestion("毛重超过50吨, 是否继续打印磅单?") == DialogResult.No)) { } else { Print(data.ResultNo); } } private void utbPrintSingle_Click(object sender, EventArgs e) { if (ugData.ActiveRow == null) return; var data = ugData.ActiveRow.ListObject as CmmWeightResultEntity; if (data == null) return; if ((data.RecordType2 == "205") || (data.RecordType2 == "201") || (data.RecordType2 == "200")) if ((data.RecordType2 == "201") && (data.GrossWt != null) && (data.GrossWt > 50) && (MessageUtil.ShowYesNoAndQuestion("毛重超过50吨, 是否继续打印磅单?") == DialogResult.No)) { } else { Print(data.ResultNo, true); } } private void unExcel_Click(object sender, EventArgs e) { var hssfworkbook = new HSSFWorkbook(); var sheet = hssfworkbook.CreateSheet("磅房统计"); var index = 0; SetHead(sheet, hssfworkbook, index++); SetHeadRow(sheet, hssfworkbook , new List { "磅房号", "称重类型", "物资名称", "物资数量", "称重次数", "物资净重" }, new List { 9, 15, 25, 15, 15, 15 }, index++ ); setData(sheet, hssfworkbook, ref index); SetSumm(sheet, index, hssfworkbook); sheet.ForceFormulaRecalculation = true; hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateAll(); using (var saveFileDialog1 = new SaveFileDialog()) { saveFileDialog1.FileName = "磅房统计" + DateTime.Now.ToString("yyMMdd"); saveFileDialog1.Filter = "Excel文件(*.xls)|*.xls"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { var sFullName = saveFileDialog1.FileName; var ms = new MemoryStream(); hssfworkbook.Write(ms); using (var fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write)) { var bArr = ms.ToArray(); fs.Write(bArr, 0, bArr.Length); fs.Flush(); } var p = new ProcessStartInfo(sFullName); p.WorkingDirectory = Path.GetDirectoryName(sFullName); Process.Start(p); } } } private void SetSumm(ISheet sheet, int index, HSSFWorkbook hssfworkbook) { var IRow = sheet.CreateRow(index); IRow.Height = 20 * 20; var Icell1 = IRow.CreateCell(1); Icell1.SetCellValue("合计"); var style = CenterStyle(hssfworkbook); var font = ContextFont(hssfworkbook); style.SetFont(font); style.BorderTop = BorderStyle.Medium; style.BorderBottom = BorderStyle.Medium; style.BorderLeft = BorderStyle.Medium; style.BorderRight = BorderStyle.Thin; //将新的样式赋给单元格 Icell1.CellStyle = style; var Icell12 = IRow.CreateCell(2); var style12 = CenterStyle(hssfworkbook); style12.SetFont(font); style12.BorderTop = BorderStyle.Medium; style12.BorderBottom = BorderStyle.Medium; style12.BorderLeft = BorderStyle.Thin; style12.BorderRight = BorderStyle.Thin; //将新的样式赋给单元格 Icell12.CellStyle = style12; var Icell13 = IRow.CreateCell(3); var style13 = CenterStyle(hssfworkbook); style13.SetFont(font); style13.BorderTop = BorderStyle.Medium; style13.BorderBottom = BorderStyle.Medium; style13.BorderLeft = BorderStyle.Thin; style13.BorderRight = BorderStyle.Thin; //将新的样式赋给单元格 Icell13.CellStyle = style13; //合并单元格 sheet.AddMergedRegion(new CellRangeAddress(index, index, 1, 3)); var list = new List(); for (var i = 2; i < index; i++) list.Add(i + 1 + ""); var Icell2 = IRow.CreateCell(4); if (list.Any()) { //Icell2.SetCellType(CellType.Formula); //Icell2.SetCellFormula(string.Format("SUM({0})", string.Join(",", list.Select(p => "E" + p).ToList()))); //hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateFormulaCell(Icell2); Icell2.SetCellType(CellType.Formula); Icell2.SetCellFormula(string.Format("SUM({0})", "E"+list[0]+":E"+list[list.Count-1])); hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateFormulaCell(Icell2); } var style2 = numStyle(hssfworkbook); var font2 = ContextFont(hssfworkbook); style2.SetFont(font2); style2.BorderTop = BorderStyle.Medium; style2.BorderBottom = BorderStyle.Medium; style2.BorderLeft = BorderStyle.Thin; style2.BorderRight = BorderStyle.Thin; //将新的样式赋给单元格 Icell2.CellStyle = style2; var Icell3 = IRow.CreateCell(5); if (list.Any()) { Icell3.SetCellType(CellType.Formula); // Icell3.SetCellFormula(string.Format("SUM({0})", string.Join(",", list.Select(p => "F" + p).ToList()))); Icell3.SetCellFormula(string.Format("SUM({0})", "F" + list[0] + ":F" + list[list.Count - 1])); hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateFormulaCell(Icell3); } var style3 = numStyle(hssfworkbook); var font3 = ContextFont(hssfworkbook); style3.SetFont(font3); style3.BorderTop = BorderStyle.Medium; style3.BorderBottom = BorderStyle.Medium; style3.BorderLeft = BorderStyle.Thin; style3.BorderRight = BorderStyle.Thin; //将新的样式赋给单元格 Icell3.CellStyle = style3; var Icell4 = IRow.CreateCell(6); if (list.Any()) { Icell4.SetCellType(CellType.Formula); // Icell4.SetCellFormula(string.Format("SUM({0})", string.Join(",", list.Select(p => "G" + p).ToList()))); Icell4.SetCellFormula(string.Format("SUM({0})", "G" + list[0] + ":G" + list[list.Count - 1])); hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateFormulaCell(Icell4); } var style4 = numStyle(hssfworkbook); var font4 = ContextFont(hssfworkbook); style4.SetFont(font4); style4.BorderTop = BorderStyle.Medium; style4.BorderBottom = BorderStyle.Medium; style4.BorderLeft = BorderStyle.Thin; style4.BorderRight = BorderStyle.Medium; //将新的样式赋给单元格 Icell4.CellStyle = style4; } private void setData(ISheet sheet, HSSFWorkbook hssfworkbook, ref int index) { var index1 = index; var data = QueryBS.DataSource as List; if ((data != null) && data.Any()) data.GroupBy(p => new { p.RecoderLocation2, p.MatName, p.MatType }) .Select(p => new { p.Key.MatName, p.Key.MatType, p.Key.RecoderLocation2, count = p.Count(), num = int.Parse(p.Select(q => q.MatNum ?? 0).Sum().ToString3()), wt = double.Parse(p.Select(q => q.NetWt).Sum().ToString3()) }).ToList() .ForEach( p => { var IRow = sheet.CreateRow(index1++); IRow.Height = 20 * 20; for (var i = 0; i < 6; i++) { var Icell = IRow.CreateCell(i + 1); if (i <= 2) { Icell.SetCellType(CellType.String); Icell.SetCellValue( i == 0 ? p.RecoderLocation2 : i == 1 ? p.MatType : p.MatName); } else { Icell.SetCellType(CellType.Numeric); if (i == 3) Icell.SetCellValue(p.num); if (i == 4) Icell.SetCellValue(p.count); if (i == 5) Icell.SetCellValue(p.wt); } ; var style = i <= 2 ? textStyle(hssfworkbook) : numStyle(hssfworkbook); style.BorderTop = BorderStyle.Thin; style.BorderBottom = BorderStyle.Thin; style.BorderLeft = i == 0 ? BorderStyle.Medium : BorderStyle.Thin; style.BorderRight = i == 5 ? BorderStyle.Medium : BorderStyle.Thin; var font = ContextFont(hssfworkbook); //使用SetFont方法将字体样式添加到单元格样式中 style.SetFont(font); //将新的样式赋给单元格 Icell.CellStyle = style; } } ); index = index1; } private void SetHeadRow(ISheet sheet, HSSFWorkbook hssfworkbook, List name, List columsWidth, int rowIndex) { var IRow = sheet.CreateRow(rowIndex); IRow.Height = 20 * 20; for (var i = 0; i < name.Count; i++) { sheet.SetColumnWidth(i + 1, columsWidth[i] * 256); var Icell = IRow.CreateCell(i + 1); Icell.SetCellValue(name[i]); var style = CenterStyle(hssfworkbook); style.BorderTop = BorderStyle.Medium; style.BorderBottom = BorderStyle.Medium; style.BorderLeft = BorderStyle.Medium; style.BorderRight = BorderStyle.Medium; var font = ContextFont(hssfworkbook); //使用SetFont方法将字体样式添加到单元格样式中 style.SetFont(font); //将新的样式赋给单元格 Icell.CellStyle = style; } } private void SetHead(ISheet sheet, HSSFWorkbook hssfworkbook, int rowindex) { var IRow = sheet.CreateRow(rowindex); IRow.Height = 50 * 20; var Icell = IRow.CreateCell(1); Icell.SetCellValue("磅房统计"); var style = CenterStyle(hssfworkbook); var font = TitleFont(hssfworkbook); //使用SetFont方法将字体样式添加到单元格样式中 style.SetFont(font); //将新的样式赋给单元格 Icell.CellStyle = style; //合并单元格 sheet.AddMergedRegion(new CellRangeAddress(0, 0, 1, 6)); } private static IFont TitleFont(HSSFWorkbook hssfworkbook) { //新建一个字体样式对象 var font = hssfworkbook.CreateFont(); font.FontName = "宋体"; font.FontHeightInPoints = 30; //设置字体加粗样式 font.Boldweight = (short)FontBoldWeight.Bold; return font; } private static IFont ContextFont(HSSFWorkbook hssfworkbook) { //新建一个字体样式对象 var font = hssfworkbook.CreateFont(); font.FontName = "宋体"; font.FontHeightInPoints = 12; //设置字体加粗样式 font.Boldweight = (short)FontBoldWeight.Bold; return font; } private ICellStyle CenterStyle(HSSFWorkbook hssfworkbook) { var style = hssfworkbook.CreateCellStyle(); //设置单元格的样式:水平对齐居中 style.Alignment = HorizontalAlignment.Center; style.VerticalAlignment = VerticalAlignment.Center; return style; } private ICellStyle textStyle(HSSFWorkbook hssfworkbook) { var style = hssfworkbook.CreateCellStyle(); //设置单元格的样式:水平对齐居中 style.Alignment = HorizontalAlignment.Left; style.VerticalAlignment = VerticalAlignment.Center; return style; } private ICellStyle numStyle(HSSFWorkbook hssfworkbook) { var style = hssfworkbook.CreateCellStyle(); //设置单元格的样式:水平对齐居中 style.Alignment = HorizontalAlignment.Right; style.VerticalAlignment = VerticalAlignment.Center; return style; } private void CurrentGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e) { } private void CurrentGrid_DoubleClickCell(object sender, DoubleClickCellEventArgs e) { var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; if ((current == null) || ("" == current.CarNo)) return; foreach (var cbxCar1Item in cbxCar1.Items) if (current.CarNo.StartsWith(cbxCar1Item.ToString2().Trim())) { cbxCar1.SelectedItem = cbxCar1Item; txtCar2.Text = current.CarNo.Replace(cbxCar1Item.ToString2().Trim(), "").Trim(); } if (!tbWt.Tabs["2"].Selected) { tbWt.Tabs["2"].Selected = true; if (current.RecordType != "101") tbScondWt.Tabs["2"].Selected = true; else tbScondWt_SelectedTabChanged(null, null); } } private void utbExport_Click(object sender, EventArgs e) { GridHelper.ulGridToExcel(ugData, "称重记录"); } private void utbExport2_Click(object sender, EventArgs e) { GridHelper.ulGridToExcel(CurrentGrid, "称重记录"); } private void cbxCar1_SelectedValueChanged(object sender, EventArgs e) { txtCar2.Focus(); if (cbxCar1.Text.Trim() == "厂内") txtCar2.Text = "自用车"; } private void splitContainer2_SplitterMoved(object sender, SplitterEventArgs e) { if (isLoading) return; XmlHelper.SetXmlData(_path, "splitContainer2", splitContainer2.SplitterDistance); } private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e) { if (isLoading) return; XmlHelper.SetXmlData(_path, "splitContainer1", splitContainer1.SplitterDistance); } private void frmLocalTruckScale_Shown(object sender, EventArgs e) { // timer.Start(); splitContainer1.SplitterDistance = XmlHelper.GetXmlData(_path, "splitContainer1", splitContainer1.SplitterDistance); splitContainer2.SplitterDistance = XmlHelper.GetXmlData(_path, "splitContainer2", splitContainer2.SplitterDistance); var x = new FontConverter(); CurrentGrid.Font = x.ConvertFromString(XmlHelper.GetXmlData(_path, CurrentGrid.Name, x.ConvertToString(CurrentGrid.Font))) as Font; ugData.Font = x.ConvertFromString(XmlHelper.GetXmlData(_path, ugData.Name, x.ConvertToString(ugData.Font))) as Font; isLoading = false; CurrentGrid.DisplayLayout.Bands[0].Columns["RecordType"].EditorComponent = uceType2; CurrentGrid.DisplayLayout.Bands[0].Columns["RecordNo"].EditorComponent = delete; CurrentGrid.DisplayLayout.Bands[0].Columns["CarNo"].EditorComponent = uteEdit; Query(); Query2(); try { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("UpdateWt")) canUpdateWt = true; toolMenu.Visible = false; } catch (Exception ex) { } } private void CurrentGrid_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F5) using (var dr = new FontDialog { Font = (sender as Control).Font }) { if (dr.ShowDialog() == DialogResult.OK) { (sender as Control).Font = dr.Font; var x = new FontConverter(); var font = x.ConvertToString(dr.Font); // t = x.ConvertFromString(s) as Font; XmlHelper.SetXmlData(_path, (sender as Control).Name, font); } } } private void txtCar2_TextChanged(object sender, EventArgs e) { foreach (var currentGridRow in CurrentGrid.Rows) if (currentGridRow.Cells["CarNo"].Value.ToString2() == cbxCar1.Text + txtCar2.Text.Trim()) if (!tbWt.Tabs["2"].Selected) { tbWt.Tabs["2"].Selected = true; currentGridRow.Activated = true; if (currentGridRow.Cells["RecordType"].Value.ToString2() != "101") tbScondWt.Tabs["2"].Selected = true; else tbScondWt_SelectedTabChanged(null, null); return; } tbWt.Tabs["1"].Selected = true; } private void uteEdit_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; string carNo; using (var update = new UpdateCar { CarNo = current.CarNo }) { var result = update.ShowDialog(); if (result != DialogResult.OK) return; carNo = update.CarNo; } var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.RecordServer", MethodName = "DoUpdateCarNo", ServerParams = new object[] { current.RecordNo, carNo } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.ToString2().Contains("操作成功")) Query(); } } public bool CheckShowKey(string key1, string key2) { if (key1 == key2) return true; if (((key1 == "107") && (key2 == "204")) || ((key2 == "107") && (key1 == "204"))) return true; if (((key1 == "108") && (key2 == "205")) || ((key2 == "108") && (key1 == "205"))) return true; if (((key1 == "206") && (key2 == "206")) || ((key2 == "109") && (key1 == "206"))) return true; return false; } private void txtCar2_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar >= 97) && (e.KeyChar <= 122)) e.KeyChar = (char)(e.KeyChar - 32); } private void CurrentGrid_InitializeRow(object sender, InitializeRowEventArgs e) { var cmmWeightRecord = e.Row.ListObject as CmmWeightRecordEntity; if (cmmWeightRecord == null) return; if ((cmmWeightRecord.EffRemaind != null) && (cmmWeightRecord.EffRemaind <= 1)) e.Row.Cells["RecordDate"].Appearance.BackColor = Color.Red; } private void utbSelect_Click(object sender, EventArgs e) { using (var BlankPredictionSelect = new BlankPredictionSelect(ob, matInfo3.GetData())) { if (BlankPredictionSelect.ShowDialog() == DialogResult.OK) matInfo3.UpdateData(new CmmWeightRecordEntityFull { MatName = "连铸圆坯", ShippersName = BlankPredictionSelect.ShipperName, RecordNumber = BlankPredictionSelect.ListMatNo == null ? null : BlankPredictionSelect.ListMatNo.Sum(p => p.ActCount), ReceiveName = "江苏天淮钢管有限公司", Memo = BlankPredictionSelect.Memo, MatInfos = BlankPredictionSelect.ListMatNo ?? new List { new CmmWeightMatEntity() } }); } } private void uteChangeType_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; string type; string name; using (var changeType = new ChangeType { Type = current.RecordType }) { var result = changeType.ShowDialog(); if (result != DialogResult.OK) return; type = changeType.Type; name = changeType.TypeName; } var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.RecordServer", MethodName = "DoUpdateType", ServerParams = new object[] { current.RecordNo, type, name } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.ToString2().Contains("成功")) Query(); } } private void ugData_AfterRowRegionScroll(object sender, RowScrollRegionEventArgs e) { var dex = e.RowScrollRegion.FirstRow; dex.Activate(); } private void CurrentGrid_AfterRowRegionScroll(object sender, RowScrollRegionEventArgs e) { /* UltraGridRow dex = e.RowScrollRegion.FirstRow; dex.Activate();*/ } private void ugData_AfterRowActivate(object sender, EventArgs e) { ugData.ActiveRow.RowSelectorAppearance.BackColor = Color.LightGreen; } private void ugData_BeforeRowDeactivate(object sender, CancelEventArgs e) { ugData.ActiveRow.RowSelectorAppearance.ResetBackColor(); } private void CurrentGrid_BeforeRowDeactivate(object sender, CancelEventArgs e) { CurrentGrid.ActiveRow.RowSelectorAppearance.ResetBackColor(); } private void utbSelect2_Click(object sender, EventArgs e) { var carNo = cbxCar1.Text + txtCar2.Text.ToUpper().Trim(); var cmmWeightRecordEntityFull = new CmmWeightRecordEntityFull(); var dt = ServerHelper.GetData("com.steering.Mcms.MatOutServer.doQueryOutInfoGp", new object[] { carNo }, ob); if ((dt != null) && (dt.Rows.Count > 0) && (dt.Rows[0]["STORAGE_NAME_D"].ToString2() == "天津钢管制造有限公司")) { cmmWeightRecordEntityFull.ShippersName = "天津钢管制造有限公司"; cmmWeightRecordEntityFull.LoadvehicleNo = dt.Rows[0]["OUTSTOCK_DOC"].ToString2(); cmmWeightRecordEntityFull.ReceiveName = "江苏天淮钢管有限公司"; cmmWeightRecordEntityFull.RecordNumber = dt.AsEnumerable().Select(p => decimal.Parse(p["ACT_COUNT"].ToString3())).Sum(); decimal.Parse(dt.Rows[0]["ACT_COUNT"].ToString3()); cmmWeightRecordEntityFull.MatName = "连铸圆坯"; cmmWeightRecordEntityFull.MatInfos = new List(); for (var i = 0; i < dt.Rows.Count; i++) { var dtcRow = dt.Rows[i]; var cmmWeightMatEntity = new CmmWeightMatEntity { JudgeStoveNoOld = dtcRow["STOVE_NO"].ToString2(), JudgeStoveNo = dtcRow["JUDGE_STOVE_NO"].ToString2(), ActDimater = decimal.Parse(dtcRow["DIMATER"].ToString3()), ActLenTemp = dtcRow["ACT_LEN"].ToString3(), ActCount = decimal.Parse(dtcRow["ACT_COUNT"].ToString3()), DocumentNo = dtcRow["OUTSTOCK_DOC"].ToString2(), ProOrderNo = dtcRow["ORDER_NO"].ToString2(), OrderNo = dtcRow["ORDER_NO"].ToString2(), OrderSeq = dtcRow["ORDER_SEQ"].ToString2(), OrdNoPk = dtcRow["ORD_PK"].ToString2(), Produccode = dtcRow["PRODUCCODE"].ToString2(), Producname = dtcRow["PRODUCNAME"].ToString2(), Gradecode = dtcRow["GRADECODE"].ToString2(), Gradename = dtcRow["GRADENAME"].ToString2(), Steelcode = dtcRow["GRADECODE"].ToString2(), Steelname = dtcRow["GRADENAME"].ToString2() }; cmmWeightRecordEntityFull.MatInfos.Add(cmmWeightMatEntity); } matInfo3.SetDefault(cmmWeightRecordEntityFull); } else { MessageBox.Show("未找到该车的出库记录!"); } } //TODO /// /// 必须先打开连接 /// private bool GetIPVideo(CmmBaseSpotInfoEntity video) { try { DhCameraShot tt = new DhCameraShot(); CarCache.cameraShots = tt; CarCache.cameraShots.ip = video.VideoIp; CarCache.cameraShots.port = video.VideoPort; CarCache.cameraShots.uid = video.VideoUserName; CarCache.cameraShots.pwd = video.VideoPassword; CarCache.cameraShots.Connection(); } catch (Exception ex) { // setMsgInfo(txtMsgInfo, "视频连接打开失败:" + ex.Message, ""); //MessageBox.Show(ex.Message); return false; } return true; } //如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable public void setMsgInfo(Control control, string ResultMessage, string sType) { setMsgMsg(control, ResultMessage, sType); } /// /// 如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable 3为check /// /// /// /// private void setMsgMsg(Control control, string ResultMessage, string sType) { if (control.InvokeRequired) { Action action = new Action(setMsgInfo); Invoke(action, new object[] { control, ResultMessage, sType }); } else { if (ResultMessage != "true" && ResultMessage != "false") { control.Text = ResultMessage == null ? "" : ResultMessage.Replace("请远程求助", "").Replace(",请点击语音求助", ""); } else { switch (sType) { case "1": control.Enabled = ResultMessage == "true" ? true : false; ; break; case "2": control.Visible = ResultMessage == "true" ? true : false; ; break; case "3": ((CheckBox)control).Checked = ResultMessage == "true" ? true : false; break; default: break; } } } } //private bool bVoice = false; /// /// 必须先打开视频,然后再打开语音 /// private void VoiceOpen() { try { //if (CarCache.cameraShots.StartTalk()) //{ // // btnOpenVoice.Text = "关闭对讲"; // bVoice = true; // } } catch (Exception ex) { // setMsgInfo(txtMsgInfo, "打开语音失败:" + ex.Message, ""); //MessageBox.Show("打开语音失败:" + ex.Message); } } /// /// 关闭语音对讲 /// private void VoiceClose() { try { //if (CarCache.cameraShots.StopTalk()) //{ // // setMsgInfo(btnOpenVoice, "打开对讲", ""); // bVoice = false; //} } catch (Exception ex) { // setMsgInfo(txtMsgInfo, "打开对讲失败:" + ex.Message, ""); //MessageBox.Show(ex.Message); } } /// /// 对讲 /// private void btnOpenVoice_Click(object sender, EventArgs e) { if (panel1.Controls.Count > 0) { //if (btnOpenVoice.Text == "打开对讲") //{ // VoiceOpen(); //} //else //{ // VoiceClose(); //} } } /// /// 关闭视频 /// private void IPVideoClose() { try { CarCache.cameraShots.Close(); } catch (Exception ex) { // setMsgInfo(txtMsgInfo, "关闭对讲失败:" + ex.Message, ""); //MessageBox.Show(ex.Message); } } private void setPicBoxSet() { for (int i = 1; i < 5; i++) { PictureBox pb = new PictureBox(); pb.Name = "pb" + i; pb.Dock = DockStyle.Top; pb.Height = 180; pb.DoubleClick += new EventHandler(PictureBoxDoubleClick); pb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; PicPnl.Controls.Add(pb); CarCache.cameraShots.RealPlay(pb, i); } } private void PictureBoxDoubleClick(object sender, EventArgs e) { if (iPic != 0) { CarCache.cameraShots.StopRealPlay(iPic); } PictureBox picture = (PictureBox)sender; if (plImgShow.Visible == false) { // plImgShow.Location = new Point(170, 140); plImgShow.Width = tbMain.Width - plImgShow.Location.X; plImgShow.Height = tbMain.Height - plImgShow.Location.Y; } iPic = Convert.ToInt32(picture.Name.Substring(picture.Name.Length - 1, 1)); plImgShow.Visible = true; CarCache.cameraShots.RealPlay(pictureShow, iPic); } private int iPic = 0; /// /// 不显示大图 /// private void pictureShow_DoubleClick(object sender, EventArgs e) { plImgShow.Visible = false; CarCache.cameraShots.StopRealPlay(iPic); iPic = 0; } private void UpdatePointState(CmmMonitorEntity Cmm) { var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.CmmMonitorServer", MethodName = "DoUpdateisTakeOver ", ServerParams = new object[] { JSONFormat.Format(Cmm) } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); } private void btn_SelectedValueChanged(object sender, EventArgs e) { //tzh 24.11.8 测试 改成10 lblWtNow.Text = "0.00t"; CleanCloseDb(); if (communicationnow != null) { communicationnow.Communication.Show = false; communicationnow.Communication.Stop(); communicationnow.Communication.ReceiveData -= defultClenttEntity_ReceiveData; } communicationnow = null; Button btnConect = sender as Button; //foreach (Control a in ultraPanel21.Controls)//遍历控件有问题,在demo里面测试没有问题 //{ // if (a is Button) // { // a.ForeColor = a.Tag.ToString() == btnConect.Tag.ToString() ? Color.Blue : Color.Green; // } //} if (btnConect.Tag.ToString() == "A") { btnA.BackColor = Color.Red; // btnB.BackColor = btnC.BackColor = Color.Green; } if (btnConect.Tag.ToString() == "B") { btnB.BackColor = Color.Red; // btnA.BackColor = btnC.BackColor = Color.Green; } if (btnConect.Tag.ToString() == "C") { btnC.BackColor = Color.Red; // btnB.BackColor = btnA.BackColor = Color.Green; } PbCache.Load(); PbCache.sportInfo = CmmBaseSpotInfo.First(p => p.BaseSpotNo == btnConect.Tag.ToString()); communicationnow = new CommunicationEntity(); communicationnow.PoundNo = PbCache.sportInfo.BaseSpotNo; communicationnow.Communication = new SocketClient { Ip = PbCache.sportInfo.WeightIp, Port = PbCache.sportInfo.WeightPort, Show = false }; communicationnow.PoundNo = PbCache.sportInfo.BaseSpotNo; communicationnow.Communication.Show = true; WeightLoad(communicationnow.Communication, communicationnow.PoundNo); GetIPVideo(PbCache.sportInfo); setPicBoxSet(); } /// /// 启动采集 /// /// private void WeightLoad(iCommunication communication, string PNO) { communication.ReceiveData += defultClenttEntity_ReceiveData; CmmBaseProtocolEntity cmmBaseProtocol = null; cmmPoundBase = poundInfos.First(p => p.PoundNo == PNO); if (cmmPoundBase != null) { List protocols = EntityHelper.GetData( "com.steering.Mcms.ProcotolServer.getProcotolId", new object[] { cmmPoundBase.PoundProtocolId }, ob); if ((protocols != null) && protocols.Any()) cmmBaseProtocol = new CmmBaseProtocolEntity { ProtocolId = cmmPoundBase.PoundProtocolId, ListC = protocols }; // cboPoundList.Text = cmmPoundBase.PoundNo; } communication.ChangeProtocol(new TruckScaleProtocol(cmmBaseProtocol)); utbConnect_Click(null, null); } /// /// 保存重量数据 /// /// /// //private void timer1_Tick(object sender, EventArgs e) //{ // double wt; // if (double.TryParse(lblWtNow.Text.Replace("t", ""), out wt)) // { // if (wt >= 0.5) // { // if (PbCache.isLockFrm == false) // { // PbCache.dtStartTime = DateTime.Now; // PbCache.isLockFrm = true; // } // if (communicationnow == null) // return; // var info = CmmBaseSpotInfo.First(t => t.BaseSpotNo == communicationnow.PoundNo); // var template = new CmmMonitorWeightEntity // { // WeightNo = Guid.NewGuid().ToString(), // BaseSpotNo = info.BaseSpotNo, // BaseSpotName = info.BaseSpotName, // CollectWeight = communicationnow.Communication.WeightValue, // CollectStartTime = PbCache.dtStartTime.ToString() // }; // var list = new List(); // list.Add(JSONFormat.Format(template)); // var ccp = new CoreClientParam // { // ServerName = "com.steering.Mcms.CmmMonitorWeightServer", // MethodName = "addCmmMonitorInfo", // ServerParams = new object[] // { // list // } // }; // ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); // } // if (wt <= 0.3) // { // if (communicationnow == null) // return; // if ( PbCache.isLockFrm == true) // { // PbCache.isLockFrm = false; // var template = new CmmMonitorWeightEntity // { // BaseSpotNo = PbCache.sportInfo.BaseSpotNo, // BaseSpotName = PbCache.sportInfo.BaseSpotName, // CollectStartTime = PbCache.dtStartTime.ToString(), // CollectEndTime = DateTime.Now.ToString(), // ActualFirstNo = PbCache.actualFirstNo // }; // var ccp = new CoreClientParam // { // ServerName = "com.steering.Mcms.CmmMonitorWeightServer", // MethodName = "updateBySpotNoStartTime", // ServerParams = new object[] // { // JsonConvert.SerializeObject(template, Formatting.None, new JsonSerializerSettings // {ContractResolver = new CamelCasePropertyNamesContractResolver()}) // } // }; // ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); // } // } // else // { // // MessageBox.Show("数据异常!"); // return; // } // } //} /// /// 接管之前,清空 /// private void CleanCloseDb() { //*****************这里需要将语音对讲/视频都关闭******************* //退出语音登录 try { // VoiceClose(); IPVideoClose(); } catch (Exception ex) { } // ls = null; //***************************************************************** // flagCarNo = false; setMsgInfo(plImgShow, "false", "2"); /// DataTable dtJld = dtJGPointInfo.Clone(); // setGridInfo(ultraGridPW, dtJld, this.dtJGPointInfo); // setMsgInfo(lbPointName, "", ""); // setMsgInfo(lbMeterMan, "", ""); PbCache.Load(); PbCache.sportInfo = null; CarCache.cameraShots = null; // PbCache.relations = null; setPanelRemovenfo(PicPnl); // bCollectionStart = false; //关闭采集进程 // collection.Stop(); } private void GetRecord_No(string carNO, string state) { var dic = new Dictionary(); if (!string.IsNullOrWhiteSpace(cboPoundList.Text)) dic.Add("poundNo", cboPoundList.Text); dic.Add("validflag", new List { state }); var list = EntityHelper.GetData( "com.steering.Mcms.RecordServer.doQueryRecord", new object[] { dic }, ob).Where(p => p.CarNo == carNO).OrderByDescending(p => p.RecordDate).FirstOrDefault(); } public void setPanelRemovenfo(Panel control) { setPanelRemoveMsg(control); } /// /// 如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable /// /// /// /// private void setPanelRemoveMsg(Panel p) { if (p.InvokeRequired) { Action action = new Action(setPanelRemovenfo); Invoke(action, new object[] { p }); } else { for (int i = p.Controls.Count - 1; i >= 0; i--) { p.Controls.RemoveAt(i); } } } //private void button1_Click(object sender, EventArgs e) //{ // DhCameraShot tt = new DhCameraShot(); // CarCache.cameraShots = tt; // //todu // CarCache.cameraShots.ip = "192.168.21.54"; // CarCache.cameraShots.port = "8000"; // CarCache.cameraShots.uid = "admin"; // CarCache.cameraShots.pwd = "hk123456"; // CarCache.cameraShots.Connection(); // setPicBoxSet(); //} //private void button2_Click(object sender, EventArgs e) //{ // imageControl = new ImageControl("192.168.21.220","21","admin", "th2021","1", "/pub/",ob); // imageControl.Start(); // try // { // PbCache.sportInfo = new CmmBaseSpotInfoEntity(); // PbCache.sportInfo.BaseSpotNo = "testno"; // PbCache.actualFirstNo = "actualFirstNo"; // //string strPath = System.Environment.CurrentDirectory +@"\imgShort\formalImg\" +PbCache.sportInfo.BaseSpotNo +"_"+ "PbCache.actualFirstNo" +"_"+ "7.jpg"; // //Rectangle r = Screen.PrimaryScreen.Bounds; // //Image img = new Bitmap(r.Width, r.Height); // //Graphics g = Graphics.FromImage(img); // //g.CopyFromScreen(new Point(0, 0), new Point(0, 0), r.Size); // //img.Save(strPath); // // 截取屏幕信息 // // PbCache.actualFirstNo = CmmImage.ActualFirstNo; // Point screenPoint = this.PointToScreen(new Point()); // Rectangle rect = new Rectangle(screenPoint, this.Size); // Image img = new Bitmap(rect.Width, rect.Height); // Graphics g = Graphics.FromImage(img); // g.CopyFromScreen(rect.X - 1, rect.Y - 1, 0, 0, rect.Size);//"D://file/1.jpg" // img.Save(string.Format("{0}\\imgShort\\formalImg\\{1}_{2}_{3}.jpg", // AppDomain.CurrentDomain.SetupInformation.ApplicationBase, // PbCache.sportInfo.BaseSpotNo, // "C" + PbCache.actualFirstNo, // 5), System.Drawing.Imaging.ImageFormat.Jpeg);// 最后一张图片名称写死了 // //最后进行截图操作 // CameraShotCls cameraShot = new CameraShotCls(); // // CarCache.cameraShots.CapMethod("PbCache.actualFirstNo"); // cameraShot.CapMethod(PbCache.actualFirstNo); // //*/ // } // catch (Exception ex) // { // // l.WriteLog(5, PbCache.lockCarNo + "截图失败"); // MessageBox.Show(ex.ToString()); // } //} //private void button3_Click(object sender, EventArgs e) //{ // communicationnow = new CommunicationEntity(); // communicationnow.Communication = new SocketClient // { // Ip = "127.0.0.1", // Port = "4001", // Show = true // }; // communicationnow.PoundNo = "A"; // communicationnow.Communication.Show = true; // WeightLoad(communicationnow.Communication, communicationnow.PoundNo); //} private void playVioce(string btName) { try { bool rets; // CarCache.cameraShots.Connection(); rets = CarCache.cameraShots.PlayMusic(System.Environment.CurrentDirectory + "\\sound\\称重完成.wav"); // if (rets) MessageBox.Show("【 称重完成】语音播放成功!"); } catch (Exception ex) { ex.ToString(); } } private void timer2_Tick(object sender, EventArgs e) { try { if (communicationnow != null && communicationnow.Communication.Show == true) { var c4 = new CmmLoadinfoEntity { Loadip = strip, BaseSpotNo = communicationnow.PoundNo, }; var ccp4 = new CoreClientParam { ServerName = "com.steering.Mcms.CmmLoadinfoServer", MethodName = "addLoadinfo", ServerParams = new object[] { JSONFormat.Format(c4) } }; ccp4 = ExecuteNonQuery(ccp4, CoreInvokeType.Internal); } getcolors(); } catch { } } void getcolors() { //if (communicationnow == null) // return; try { loadinfo = EntityHelper.GetData( "com.steering.Mcms.CmmLoadinfoServer.queryAll", new object[] { }, ob); getColor(btnB); getColor(btnA); getColor(btnC); } catch { } } /// /// 通过系统时间和最近一次时间对比,判断是否在线 /// /// void getColor(Control b) { Button btnco = (Button)b; if ((communicationnow != null) && (btnco.Tag.ToString() == communicationnow.PoundNo) && (communicationnow.Communication.Show == true)) { btnco.BackColor = Color.Red; return; } int countco = 0; TimeSpan ts = new TimeSpan(); foreach (var p in loadinfo) { DateTime updatetime = Convert.ToDateTime(p.Actualtime); DateTime time = Convert.ToDateTime(p.UpdateTime); ts = updatetime.Subtract(time); if (ts.TotalDays == 0) { if (ts.TotalHours == 0) { if (ts.TotalMinutes == 0) { if (ts.Seconds <= 7) { if ((btnco.Tag.ToString() == p.BaseSpotNo.ToString()) && (p.Loadip != strip)) { countco++; } } } } } } if (countco == 0) { btnco.UseVisualStyleBackColor = true; } if (countco >= 1) { btnco.BackColor = Color.Green; } } void addActual(string spot, string record) { var c2 = new CmmActualWeightEntity { BaseSpotNo = spot, RecordNo = record, }; var ccp3 = new CoreClientParam { ServerName = "com.steering.Mcms.CmmActualWeightServer", MethodName = "addActualWeight", ServerParams = new object[] { JSONFormat.Format(c2) } }; ccp3 = ExecuteNonQuery(ccp3, CoreInvokeType.Internal); } private void btn_Click(object sender, EventArgs e) { //tzh 24.11.8 测试 改成10 lblWtNow.Text = "0.00t"; CleanCloseDb(); if (communicationnow != null) { communicationnow.Communication.Show = false; communicationnow.Communication.Stop(); communicationnow.Communication.ReceiveData -= defultClenttEntity_ReceiveData; } communicationnow = null; lblStatus.SafeRefreshControl(() => lblStatus.Text = "重量采集已断开"); } private void ugData_DoubleClickCell(object sender, DoubleClickCellEventArgs e) { var current = ugData.ActiveRow.ListObject as CmmWeightResultEntity; if ((current == null) || ("" == current.ResultNo)) return; var loadinfo1 = EntityHelper.GetData( "com.steering.Mcms.CmmWorkImageServer.doQuery", new object[] { current.RecordNo1 }, ob); var loadinfo2 = EntityHelper.GetData( "com.steering.Mcms.CmmWorkImageServer.doQuery", new object[] { current.RecordNo2 }, ob); if ((loadinfo1.Count == 0) && (loadinfo2.Count == 0)) { MessageBox.Show("没有单号" + current.ResultNo + "图片记录"); return; } Form form = frmLocalTruckImageShow.GetSingleton(ob, current, CmmBaseSpotInfo[0]); // 有参数 form.Show(); form.Activate(); } private void uctMemo_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } var current = CurrentGrid.ActiveRow.ListObject as CmmWeightRecordEntity; string Memo; using (var update = new ChangeMemo { Memo = current.Memo }) { var result = update.ShowDialog(); if (result != DialogResult.OK) return; Memo = update.Memo; } var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.RecordServer", MethodName = "DoUpdateMemo", ServerParams = new object[] { current.RecordNo, Memo } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.ToString2().Contains("操作成功")) Query(); } } private void button1_Click(object sender, EventArgs e) { playVioce("称重完成"); } private void button1_Click_1(object sender, EventArgs e) { lblWt.Text = "1.00t"; } private void button2_Click(object sender, EventArgs e) { // playVioce("称重完成"); lblWt.Text = "2.00t"; } private void checkBox3_CheckedChanged(object sender, EventArgs e) { if (checkBox3.Checked) { qitahuipi.Visible = true; } else { qitahuipi.Visible = false; } } private void ultraButton2_Click(object sender, EventArgs e) { using (var BlankPredictionSelect = new BlankPredictionSelect(ob, matInfo20.GetData())) { if (BlankPredictionSelect.ShowDialog() == DialogResult.OK) matInfo20.UpdateData(new CmmWeightRecordEntityFull { MatName = "连铸圆坯", ShippersName = BlankPredictionSelect.ShipperName, RecordNumber = BlankPredictionSelect.ListMatNo == null ? null : BlankPredictionSelect.ListMatNo.Sum(p => p.ActCount), ReceiveName = "江苏天淮钢管有限公司", Memo = BlankPredictionSelect.Memo, MatInfos = BlankPredictionSelect.ListMatNo ?? new List { new CmmWeightMatEntity() } }); } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { chkSteelCar.Visible = false; chkGross.Visible = false; } else { chkGross.Visible = true; chkSteelCar.Visible = true; } } private void qitahuipi_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { LoadTem2(); if ((tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2") && qitahuipi.ActiveTab != null && qitahuipi.ActiveTab.Key == "102") { ultraButton2.Visible = true; } else { ultraButton2.Visible = false; } } private void button3_Click(object sender, EventArgs e) { cmmPoundBase = poundInfos.First(p => p.PoundNo == "A"); } private void chkSteelCar_CheckedChanged(object sender, EventArgs e) { if (chkSteelCar.Checked == true) { checkBox1.Visible = false; } else { checkBox1.Visible = true; } } private void timer1_Tick(object sender, EventArgs e) { Query(); } private void button4_Click(object sender, EventArgs e) { button1_Click(null, null); } private void LoadTem2() { if (_templateList == null) return; var key = GetKey2(); if (string.IsNullOrWhiteSpace(key)) return; if ((_cmmInputRecordEntities != null) && _cmmInputRecordEntities.Any()) { var matInfo = GetMatInfo(); if (matInfo != null) matInfo.iniMatName( _cmmInputRecordEntities.Where( p => (p.RecordKey == key) || string.IsNullOrWhiteSpace(p.RecordKey)).ToList()); } lvTemplate.Items.Clear(); lvTemplate.Items.AddRange(_templateList.Where(p => CheckShowKey(p.TemplateKey, key)) .Select(p => { var temp = new UltraListViewItem(p.TemplateName, null, null) { Key = p.TemplateNo }; try { temp.Tag = XmlHelper.FromXElement(XElement.Parse(p.TemplateXml)); } catch (Exception) { // ignored } return temp; } ). ToArray() ); } private string GetKey2() { return tbWt.ActiveTab.Key == "1" ? (tbFirstWt.ActiveTab == null ? "" : tbFirstWt.ActiveTab.Key) : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "1") && (tbOther.ActiveTab != null) ? tbOther.ActiveTab.Key : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "0") ? "201" : (tbWt.ActiveTab.Key == "2") && (tbScondWt.ActiveTab != null) && (tbScondWt.ActiveTab.Key == "2")&& qitahuipi.Visible==true ? qitahuipi.ActiveTab.Key : ""; } private void utbSaveAsT2_Click(object sender, EventArgs e) { if (cmmPoundBase == null) { MessageBox.Show(@"无磅房权限"); return; } if (tbWt.ActiveTab == null) return; var matInfo = GetMatInfo(); if (matInfo != null) { var cmmWeightRecord = matInfo.GetData(); string projectName; using (var fractureInfo = new ProjectName("模板名")) { fractureInfo.ShowDialog(); if (fractureInfo.DialogResult != DialogResult.OK) return; projectName = fractureInfo.ProjectNameStr; } var template = new CmmRecordTemplateEntity { CreateUser = UserInfo.GetUserName(), TemplateKey = GetKey2(), TemplateLocation = cmmPoundBase.PoundNo, TemplateXml = cmmWeightRecord.ToString(), TemplateName = projectName }; var ccp = new CoreClientParam { ServerName = "com.steering.Mcms.TemplateServer", MethodName = "DoSaveTemplateNo", ServerParams = new object[] { JsonConvert.SerializeObject(template, Formatting.None, new JsonSerializerSettings {ContractResolver = new CamelCasePropertyNamesContractResolver()}) } }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("保存成功!")) LoadTempate2(); } } } private void LoadTempate2() { /* if (cmmPoundBase == null) return; */ _templateList = EntityHelper.GetData( "com.steering.Mcms.TemplateServer.doQueryTempate", new object[] { "" }, ob); qitahuipi_SelectedTabChanged(null, null); } private void btnPlay_Click(object sender, EventArgs e) { try { bool rets; // CarCache.cameraShots.Connection(); rets = CarCache.cameraShots.PlayMusic(System.Environment.CurrentDirectory + "\\sound\\"+ cmbVioce.Text+".wav"); // if (rets) MessageBox.Show("【 称重完成】语音播放成功!"); } catch (Exception ex) { ex.ToString(); } } private void ultraButton3_Click(object sender, EventArgs e) { if (ugData.ActiveRow == null) return; var data = ugData.ActiveRow.ListObject as CmmWeightResultEntity; if (data == null) return; if ((data.RecordType2 == "201") && (data.GrossWt != null) && (data.GrossWt > 50) && (MessageUtil.ShowYesNoAndQuestion("毛重超过50吨, 是否继续打印磅单?") == DialogResult.No)) { } else { Print2(data.ResultNo); } } } }