using System; using System.Collections.Generic; using System.Linq; using System.Text; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using System.Data; using System.Windows.Forms; using System.Collections; using Core.Mes.Client.Comm; using System.Net; namespace Core.StlMes.Client.YdmStuffManage.Entity { public class NativeMethodNew : FrmBase { //public NativeMethodNew() //{ } private OpeBase _ob; public OpeBase Ob { get { return _ob; } set { _ob = value; } } /// /// 返回信息 /// private string returnMessage; /// /// 返回信息 /// public string ReturnMessage { get { return returnMessage; } set { returnMessage = value; } } /// /// 工序选择 /// /// public NativeMethodNew(OpeBase ob) { this.Ob = ob; } /// /// 工序选择 /// public enum ProcessChoose { // 摘要: //上料锯切 Feed = 0, // 摘要: // 加热 Fur = 1, // 摘要: // 穿孔 Perforration = 2, // 摘要: // 连轧 Rolling = 3, // 摘要: // 再加热 Refur = 4, // 摘要: // 定径 Sizing = 5, // 摘要: // 分切 Saw = 6, // 摘要: // 矫直 Straing = 7, // 摘要: // ET(涡流)探伤 ET = 8, // 摘要: // MT(漏磁)探伤 MT = 9, // 摘要: // UL(超声波)探伤 UL = 10, // 摘要: // 人工质检 Surface = 11 } /// /// 方法选择 /// public enum MethodChoose { // 摘要: // 查询 Query = 0, // 摘要: // 添加 Add = 1, // 摘要: // 更新 Update = 2, } /// /// 表类型选择 /// public enum TableStytleChoose { // 摘要: // 主表 MainPlan = 0, // 摘要: // 子表 FeedPlan = 1, // 摘要: // 实绩表 Result = 2, // 摘要: // 跟踪记录表 Rack = 3, // 摘要: // 历史表 History = 4 } /// /// 判断该炉是否进行了该工序 /// /// 判定炉号 /// 工序号状态( 0-开始锯切 1-入炉 2-开始穿孔 3-开始连轧 4-入再加热炉 5-开始定径 6-开始分切 7-开始矫直 8-涡流探伤 9-漏磁探伤 10-超声波探伤 11-人工质检) /// public bool isBegineNode(string JUDGE_STOVE_NO, int Node) { bool isbeginnode = false; int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.isBegineNode", new object[] { JUDGE_STOVE_NO, Node }, this._ob); if (count > 0) { isbeginnode = true; } return isbeginnode; } /// /// 向对应工序的跟踪记录表里的相应记录插入开始时间 /// /// 判定炉号 /// 工序号状态( 0-开始锯切 1-入炉 2-开始穿孔 3-开始连轧 4-入再加热炉 5-开始定径 6-开始分切 7-开始矫直 8-开始探伤 9-开始质检) /// status 0,插入开始时间,1,插入结束时间 public void InsertSTAferDoubleClick(string JUDGE_STOVE_NO, int Node, string status) { if (status == "0" || status == "1") { // if (isBegineNode(JUDGE_STOVE_NO, Node)) // { int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.InsertSTToRack", new object[] { JUDGE_STOVE_NO, Node, status }, this._ob); // } } else { MessageBox.Show("status的值应为0或1"); return; } } /// /// 返回IP对应的产线代码信息 /// /// 输入IP /// 0-操作台号,1-操作台名称 /// public string GetOperateResult(string strip, string resultcode) { string strresult = null; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.GetOperateResult", new object[] { strip }, this._ob); if (dt.Rows.Count > 0) { if (resultcode == "0") { strresult = dt.Rows[0]["PLINE_CODE"].ToString();//操作台号 } else if (resultcode == "1") { strresult = dt.Rows[0]["OPERAT_NAME"].ToString();//操作台名称 } else { strresult = "输入返回数据代码错误"; } } else { strresult = "无匹配数据"; } return strresult; } /// /// h获取PCode /// /// user_depatment /// public string GetPCode(string Department) { string Pcode = ""; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.GetPCode", new Object[] { Department }, this._ob); if (dt.Rows.Count > 0) { Pcode = dt.Rows[0]["pline_code"].ToString(); } return Pcode; } /// /// 获取产线 /// /// 数据权限 /// /// 字符串数组 public string[] GetPCodePline(string[] arr1) { string[] arr = null; DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmTubeRollFileManage.GetPCode", new Object[] { arr1 }, this._ob); if (dt != null && dt.Rows.Count > 0) { arr = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { arr[i] = dt.Rows[i][0].ToString(); } return arr; } else { return new string[1] { "" }; } } public int GetInfo(string methodId, object[] param, OpeBase ob) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = methodId.Substring(0, methodId.LastIndexOf(".")); ccp.MethodName = methodId.Substring(methodId.LastIndexOf(".") + 1); ccp.ServerParams = param; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) { throw new MESException("服务端处理失败!"); } if (ccp.ReturnCode < 0) { throw new MESException("服务端处理失败!", ccp.ReturnCode, ccp.ReturnInfo); } int count = 0; if (!int.TryParse(ccp.ReturnInfo.ToString(), out count)) { throw new MESException("服务端处理成功,但返回处理数量不是数字!"); } return count; } /// /// 剔除回退公用方法 /// /// 炉号 /// 已剔除序号 /// 工序号 0-锯切前 1-锯切后 2-环形加热炉 3-穿孔 4-连轧 5-再加热炉 6-定径 7-分切前 8-分切后 /// 9-矫直1 10-矫直2 11-矫直3 12-ET探伤 13-涡流探伤 14-超声波探伤 15-人工质检 /// 回退支数(锯切后,分切后需要支数,其它工序默认为1) /// 倍尺数或分切数不需要则默认0 public int DeleteSlabSeq(string heatno, string seq, int processno, int Num, int DBNum) { int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.DeleteSlabSeq", new Object[] { heatno, seq, processno, Num, DBNum, "0" }, this._ob); return count; } public int DeleteFeedSlabSeq(string heatno, string feedrowno, string seq, int processno, int Num, int DBNum) { int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.DeleteFeedSlabSeq", new Object[] { heatno, feedrowno, seq, processno, Num, DBNum, "0" }, this._ob); return count; } /// /// 剔除回退公用方法 /// /// 炉号 /// 已剔除序号 /// 工序号 0-锯切前 1-锯切后 2-环形加热炉 3-穿孔 4-连轧 5-再加热炉 6-定径 7-分切前 8-分切后 /// 9-矫直1 10-矫直2 11-矫直3 12-ET探伤 13-涡流探伤 14-超声波探伤 15-人工质检 /// 回退支数(锯切后,分切后需要支数,其它工序默认为1) /// 倍尺数或分切数不需要则默认0 public int DeleteSlabSeq(string heatno, string seq, int processno, int Num, int DBNum, string Colno) { int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.DeleteSlabSeq", new Object[] { heatno, seq, processno, Num, DBNum, Colno }, this._ob); return count; } /// /// 判断当前机器IP是否与数据库一直 /// /// /// public bool CheckIpAddress(string procee, string clono, string plcode) { bool result = false; string hostname = Dns.GetHostName(); IPAddress ip = Dns.GetHostByName(hostname).AddressList[0]; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.CheckIpAddress", new object[] { procee, clono, plcode }, this.ob); if (dt.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt.Rows[0]["IP_ADDRESS1"].ToString())) { if (ip.ToString().Equals(dt.Rows[0]["IP_ADDRESS1"].ToString())) { result = true; } } if (!string.IsNullOrEmpty(dt.Rows[0]["IP_ADDRESS2"].ToString())) { if (ip.ToString().Equals(dt.Rows[0]["IP_ADDRESS2"].ToString())) { result = true; } } if (!string.IsNullOrEmpty(dt.Rows[0]["IP_ADDRESS3"].ToString())) { if (ip.ToString().Equals(dt.Rows[0]["IP_ADDRESS3"].ToString())) { result = true; } } if (!string.IsNullOrEmpty(dt.Rows[0]["IP_ADDRESS4"].ToString())) { if (ip.ToString().Equals(dt.Rows[0]["IP_ADDRESS4"].ToString())) { result = true; } } } else { result = true; } return result; } //public int CheckIpAddressisin(MilBaseAddressEntity MilBase) //{ // int result = 0; // List list = new List(); // string ip1 = MilBase.IpAddress1.ToString(); // string ip2 = MilBase.IpAddress2.ToString(); // string ip3 = MilBase.IpAddress3.ToString(); // string ip4 = MilBase.IpAddress4.ToString(); // //list.Add(ip1); list.Add(ip2); list.Add(ip3); list.Add(ip4); // DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.CheckIpAddressisin", new object[] { MilBase }, this._ob); // if (dt.Rows.Count > 0) // { // list.Clear(); // foreach (DataRow dr in dt.Rows) // { // if (!string.IsNullOrEmpty(dr["IP_ADDRESS1"].ToString())) // { // list.Add(dr["IP_ADDRESS1"].ToString()); // } // if (!string.IsNullOrEmpty(dr["IP_ADDRESS2"].ToString())) // { // list.Add(dr["IP_ADDRESS2"].ToString()); // } // if (!string.IsNullOrEmpty(dr["IP_ADDRESS3"].ToString())) // { // list.Add(dr["IP_ADDRESS3"].ToString()); // } // if (!string.IsNullOrEmpty(dr["IP_ADDRESS4"].ToString())) // { // list.Add(dr["IP_ADDRESS4"].ToString()); // } // } // } // if (list.Count > 0) // { // for (int i = 0; i < list.Count; i++) // { // if (ip1.Equals(list[i])) // { // result = 1; // } // if (ip2.Equals(list[i])) // { // result = 2; // } // if (ip3.Equals(list[i])) // { // result = 3; // } // if (ip4.Equals(list[i])) // { // result = 4; // } // } // } // return result; //} /// /// 保存跟踪记录表备注 /// /// 0-开始分切 1-开始矫直 2-开始探伤 /// /// /// /// public int SaveRackRemark(int process, int Seq, string hratno, string ramark) { int count = 0; count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.SaveRackRemark", new object[] { process, Seq, hratno, ramark }, this.ob); return count; } public double CountWeight(string heatno, int X) { double result = 0.0; double dbweight = 0.0; int sawnum = 0; double BURNNING_RATE1 = 0.0; double BURNNING_RATE2 = 0.0; DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetDBWeightfromMILPlan", new object[] { heatno }, this.ob); if (dt1.Rows.Count > 0) { dbweight = Convert.ToDouble(dt1.Rows[0]["db_height"].ToString()); sawnum = Convert.ToInt16(dt1.Rows[0]["SAW_NUM"].ToString()); } DataTable dt2 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetBURNNING_RATEfromFur", new object[] { heatno }, this.ob); if (dt2.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt2.Rows[0]["burnning_rate"].ToString())) { BURNNING_RATE1 = Convert.ToDouble(dt2.Rows[0]["burnning_rate"].ToString()); } else { BURNNING_RATE1 = 1; } } DataTable dt3 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetBURNNING_RATEfromReFur", new object[] { heatno }, this.ob); if (dt3.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt3.Rows[0]["BURNINGRATE"].ToString())) { BURNNING_RATE2 = Convert.ToDouble(dt3.Rows[0]["BURNINGRATE"].ToString()); } else { BURNNING_RATE2 = 1; } } switch (X) { case 1: result = dbweight; break; case 2: result = (double)sawnum; break; case 3: result = BURNNING_RATE1; break; case 4: result = BURNNING_RATE2; break; } return result; } /// /// 获取定尺长度占比 /// /// /// public double GetLengthPercent(string heatno, OpeBase obs, int X) { double result = 100.0; double cuthead = 0; double cutorder = 0; double cuttail = 0; double sawnum = 0; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetLengthPercent", new object[] { heatno }, obs); if (dt.Rows.Count > 0) { cuthead = Convert.ToDouble(string.IsNullOrEmpty(dt.Rows[0]["cut_head_length"].ToString())?"0" : dt.Rows[0]["cut_head_length"].ToString()); cutorder = Convert.ToDouble(string.IsNullOrEmpty(dt.Rows[0]["order_length"].ToString()) ? "0" : dt.Rows[0]["order_length"].ToString()); cuttail = Convert.ToDouble(string.IsNullOrEmpty(dt.Rows[0]["cut_trail_length"].ToString())?"0":dt.Rows[0]["cut_trail_length"].ToString()); sawnum = Convert.ToDouble(string.IsNullOrEmpty(dt.Rows[0]["saw_num"].ToString()) ? "0" : dt.Rows[0]["saw_num"].ToString()); //double temp1 = cutorder * sawnum; if (X == 0) { double temp1 = cutorder; double temp2 = (cuthead / 100 + cuttail / 100 + cutorder * sawnum); if (temp2 > 0 && temp1 > 0) { result = temp1 / temp2 * 100; } else { result = 0.0; } } if (X == 1) { //double temp1 = cuthead / 100; //double temp2 = (cuthead / 100 + cuttail / 100 + cutorder * sawnum); //if (temp2 > 0 && temp1 > 0) //{ // result = temp1 / temp2 * 100; //} //else //{ // result = 0.0; //} result = cuthead/100; } if (X == 2) { //double temp1 = cuthead / 100; //double temp2 = (cuttail / 100 + cuttail / 100 + cutorder * sawnum); //if (temp2 > 0 && temp1 > 0) //{ // result = temp1 / temp2 * 100; //} //else //{ // result = 0.0; //} result = cuttail/100; } } return result; } public int ChangeShift(string JudgeStoveNo, string ResultNo, string Seq, string PLineCode, string Shift, string Group, int process, int flag, string colno) { //方法未针对矫直探伤 进行分台, 需要重写 int count = 0; string seqlast = ""; string seqchanghas = ""; int changnum = 0; int changnumhas = 0; int changnumdel = 0; //找到本台交接班的第一只 DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeFlag", new object[] { JudgeStoveNo, ResultNo, Seq, process, colno, Shift, Group }, this._ob); if (dt.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt.Rows[0]["SEQ"].ToString())) { seqlast = dt.Rows[0]["SEQ"].ToString(); } else { //seqlast = "1"; } } else { //seqlast = "1"; } if (int.Parse(seqlast) > int.Parse(Seq)) { MessageBox.Show("您所选的管号队列交接班支已被上一班操作,不允许进行交接班", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); count = 2; //return count; } else { //if (process != 0) //{ //获取本台的交接班支数 DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeNum", new object[] { JudgeStoveNo, ResultNo, seqlast, Seq, process, colno }, this._ob); if (dt1.Rows.Count > 0) { changnum = int.Parse(dt1.Rows[0]["COUNTS"].ToString()); } //} //else //{ // changnum = int.Parse(Seq) - int.Parse(seqlast)+1; //} DataTable dt2 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeFlag1", new object[] { JudgeStoveNo, ResultNo, Seq, process, colno, Shift, Group }, this._ob); if (dt2.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt2.Rows[0]["SEQ"].ToString())) { seqchanghas = dt2.Rows[0]["SEQ"].ToString(); //if (int.Parse(seqchanghas) > int.Parse(Seq)) //{ DataTable dt3 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeNum", new object[] { JudgeStoveNo, ResultNo, seqlast, seqchanghas, process, colno }, this._ob); { changnumdel = int.Parse(dt3.Rows[0]["COUNTS"].ToString()); } //} //else //{ // changnumdel = 0; //} } else { seqchanghas = ""; } } DataTable dt4 = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeNumHas", new object[] { JudgeStoveNo, ResultNo, process, colno }, this._ob); if (dt4.Rows.Count > 0) { changnumhas = int.Parse(dt4.Rows[0]["COUNTS"].ToString()); } string user = this.UserInfo.GetUserName(); //count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShift", new object[] { JudgeStoveNo, ResultNo, seqlast, Seq, PLineCode, Shift, Group, process, flag ,colno}, this.ob); //count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShiftNEW", new object[] { JudgeStoveNo, ResultNo, seqlast, Seq, changnum, PLineCode, Shift, Group, process, flag, colno, user }, this._ob); count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShiftNEWW", new object[] { JudgeStoveNo, ResultNo, seqlast, Seq, seqchanghas, changnum, changnumhas, changnumdel, Shift, Group, user, process, flag, colno }, this._ob); } return count; } public int UpdateChangeFlag(string heatno, string resultno, int processno, int seq, string colno) { int count = 0; count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.UpdateChangeFlag", new object[] { heatno, resultno, processno, seq, colno }, this._ob); return count; } public int GetWaitChangeSeq(string heatno, string resultno, int processno, string colno) { int seq = 0; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetWaitChangeSeq", new object[] { heatno, resultno, processno, colno }, this._ob); if (dt.Rows.Count > 0) { if (!string.IsNullOrEmpty(dt.Rows[0]["SEQ"].ToString())) { seq = int.Parse(dt.Rows[0]["SEQ"].ToString()); } } return seq; } /// /// 交班取消验证 /// /// /// /// /// /// /// /// /// public bool ChangeShiftBackCheck(string JudgeStoveNo, string ResultNo, string PLineCode, string Shift, string Group, int process, string colno) { bool result = false; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShiftBackCheck", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, colno }, this._ob); if (dt.Rows.Count > 0) { result = true; //if (process == 1 || process == 4) //{ //} //else //{ // if (!string.IsNullOrEmpty(dt.Rows[0]["CHANGFLAG"].ToString())) // { // if (dt.Rows[0]["CHANGFLAG"].ToString().Equals("1")) // { // result = true; // } // } //} } return result; } public bool ChangeShiftBackCheckelse(string JudgeStoveNo, string ResultNo, string PLineCode, string Shift, string Group, int process, string colno) { bool result = false; DataTable dt = null; dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.BeforeChangBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, colno }, this._ob); if (dt.Rows.Count > 0) { result = true; } return result; } /// /// /// /// /// /// /// /// /// 0-开始锯切 1-入炉 2-开始穿孔 3-开始连轧 4-入再加热炉 5-开始定径 6-开始分切 7-开始矫直 8-开始探伤 9-开始质检 /// /// public int ChangeShiftBack(string JudgeStoveNo, string ResultNo, string PLineCode, string Shift, string Group, int process, string colno) { int count = 0; int changnumhas = 0; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.BeforeChangBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, colno }, this._ob); if (dt.Rows.Count > 0) { count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangBackelse", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, colno }, this._ob); } else { DataTable dtchangnumhas = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetChangeShiftBackNum", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, colno }, this._ob); if (dtchangnumhas.Rows.Count > 0) { changnumhas = int.Parse(dtchangnumhas.Rows[0]["COUNTS"].ToString()); count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShiftBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, changnumhas, 0, colno }, this._ob); } } return count; } /// /// /// /// /// /// /// /// /// 加热炉/再加热炉最后一支入炉标识 0-未入炉 1-入炉 最后一支入炉时,交班取消不能取消入炉交班 /// 0-开始锯切 1-入炉 2-开始穿孔 3-开始连轧 4-入再加热炉 5-开始定径 6-开始分切 7-开始矫直 8-开始探伤 9-开始质检 /// public int ChangeShiftBack(string JudgeStoveNo, string ResultNo, string PLineCode, string Shift, string Group, int process,int Flag = 0) { int count = 0; int changnumhas = 0; int changnumhasInfur = 0; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.BeforeChangBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, "0" }, this._ob); if (dt.Rows.Count > 0) { count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangBackelse", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, "0" }, this._ob); } else { DataTable dtInfur = null; if (process == 1 || process == 4) { dtInfur = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetChangeShiftBackNuminfur", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, "0" }, this._ob); if (dtInfur.Rows.Count > 0) { changnumhasInfur = int.Parse(dtInfur.Rows[0]["COUNTS"].ToString()); } } DataTable dtchangnumhas = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetChangeShiftBackNum", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, "0" }, this._ob); if (dtchangnumhas.Rows.Count > 0) { changnumhas = int.Parse(dtchangnumhas.Rows[0]["COUNTS"].ToString()); } if (dtchangnumhas.Rows.Count > 0 || dtInfur.Rows.Count > 0) { if (Flag == 0) { count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.ChangeShiftBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, changnumhas, changnumhasInfur, "0" }, this._ob); } else { count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.ChangeShiftBackForLastInFur", new object[] { JudgeStoveNo, ResultNo, PLineCode, Shift, Group, process, changnumhas, changnumhasInfur, "0" }, this._ob); } } } return count; } public int NodeBack(string JudgeStoveNo, string ResultNo, string PLineCode, int process, string colno) { //适用矫直探伤 int count = 0; string seq = ""; DataTable dtchangflag = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.NodeBackGetMaxChangFlag", new object[] { JudgeStoveNo, ResultNo, process, colno }, this._ob); if (dtchangflag.Rows.Count > 0) { if (!string.IsNullOrEmpty(dtchangflag.Rows[0]["SEQ"].ToString())) { seq = dtchangflag.Rows[0]["SEQ"].ToString(); } else { seq = "0"; } } else { seq = "0"; } count = ServerHelper.SetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.NodeBack", new object[] { JudgeStoveNo, ResultNo, PLineCode, process, seq, colno,9 }, this._ob); return count; } //public int SetQuNum(string heatno,string resultno ,int pro,int numqu,string colno) //{ // int count = 0; // count // return count; //} public bool IsRackOperate(string shift, string group) { bool result = false; string groupcode = UserInfo.GetUserGroup(); string shiftcode = UserInfo.GetUserOrder(); string shiftnow = ""; string groupnow = ""; switch (groupcode) { case "1": groupnow = "甲"; break; case "2": groupnow = "乙"; break; case "3": groupnow = "丙"; break; case "4": groupnow = "丁"; break; } switch (shiftcode) { case "0": shiftnow = "常白班"; break; case "1": shiftnow = "早班"; break; case "2": shiftnow = "中班"; break; case "3": shiftnow = "晚班"; break; } if ((shift.Equals(shiftnow) || shift.Contains(shiftnow)) && (group.Equals(groupnow) || group.Contains(groupnow))) { result = false; } else { result = true; } if (shift.Equals("") && group.Equals("")) { result = false; } return result; } /// /// 连轧用判断班次班组 /// /// /// /// public bool IsRackOperateRolling(string shift, string group) { bool result = false; string groupcode = UserInfo.GetUserGroup(); string shiftcode = UserInfo.GetUserOrder(); string shiftnow = ""; string groupnow = ""; switch (groupcode) { case "1": groupnow = "甲"; break; case "2": groupnow = "乙"; break; case "3": groupnow = "丙"; break; case "4": groupnow = "丁"; break; } switch (shiftcode) { case "0": shiftnow = "常白班"; break; case "1": shiftnow = "早班"; break; case "2": shiftnow = "中班"; break; case "3": shiftnow = "夜班"; break; } if ((shift.Equals(shiftnow) || shift.Contains(shiftnow)) && (group.Equals(groupnow) || group.Contains(groupnow))) { result = false; } else { result = true; } if (shift.Equals("") && group.Equals("")) { result = false; } return result; } /// /// 获取当前工序已剔除支数 /// /// 炉号 /// 工序号(0-锯切前 1-锯切后 2-加热炉 3-穿孔 4-连轧 5-再加热炉 6-定径 7-分切前 8-分切后 9矫直 10-探伤 11-人工质检) /// public int GetSlabNum(string heatno, int processno, OpeBase ob) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult"; ccp.MethodName = "scrapMatCheck"; ccp.ServerParams = new Object[] { heatno, processno }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo); return ScrapNumBefore; } /// /// 获取属性或值 /// /// public void GetItem() { } /// /// 将类中的属性及值存入字典中 /// /// /// /// public Dictionary GetItem(T t) { Dictionary dic = new Dictionary(); System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties(); foreach (System.Reflection.PropertyInfo item in pro) { dic.Add(item.Name.ToString(), item.GetValue(t, null).ToString()); } return dic; } /// /// 获取DataTable中的列名 /// /// DataTable /// public ArrayList[] GetDtItem(DataTable dt) { ArrayList[] str = null; if (dt.Columns.Count > 0) { str = new ArrayList[dt.Columns.Count]; for (int i = 0; i < dt.Columns.Count; i++) { str[i].Add(dt.Columns[i].ColumnName); } } return str; } /// /// 调用后台方法 /// /// public void BackBusiness() { } /// /// 得到服务器时间 /// public DateTime GetSeverTime() { DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.GetSeverTime", new object[] { }, this._ob); return DateTime.Parse(dt.Rows[0][0].ToString()); } /// /// 获取产线 /// /// /// public string[] GetPlineCode(string[] arr1) { string[] arr = null; DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Common.ComBaseInfo.getPlineCode", new Object[] { arr1 }, this._ob); if (dt != null && dt.Rows.Count > 0) { arr = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { arr[i] = dt.Rows[i][0].ToString(); } return arr; } else { return new string[1] { "" }; } } /// /// 调用后台方法,返回String类型值 /// /// 需要查询的字段// /// 条件 /// 工序 /// 表类型 /// 方法 /// //public string BackBusiness(string StrResult, ArrayList[] QueryCondition, ProcessChoose process,TableStytleChoose table, MethodChoose method) //{ //} /// /// 调用后台方法返回表类型结果 /// /// 返回结果 /// 条件 /// 工序 /// 表类型 /// 方法 /// //public DataTable BackBusiness(DataTable DtResult, ArrayList[] QueryCondition, ProcessChoose process, TableStytleChoose table,MethodChoose method) //{ //} //public T GetSingleResult() } }