using DataLinkMesWork; using bizFacade; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; //using SystemFramework; namespace MesWebFun { public class WebFunction05 { HttpContext contextMesWebFun; public string ProcessRequest(HttpContext context) { contextMesWebFun = context; ; context.Response.ContentType = "text/plain"; string type = contextMesWebFun.Request["type"]; string responseText = ""; switch (type) { //托盘信息 case "MobySelect": // responseText = MobySelect(); break; //保存手动生成条码 case "SavingEngineIDShift": responseText = SavingEngineIDShift(); break; case "SaveRepairStatus"://将返修路径及返修数据保存到数据库 responseText = SaveRepairStatus(); break; case "RepairStatusInit"://将返修路径及返修数据保存到数据库 responseText = RepairStatusInit(); break; case "Select_engineType_ByEnergineID": //根据发动机号显示机型 responseText = Select_engineType_ByEnergineID(); break; case "QualityDataButton_bgColor_Select_ByEnergineID": responseText = QualityDataButton_bgColor_Select_energineSelect(); break; ///////////////////////质量查询根据发动机号 case "QualityDataSelectByEnergineID": responseText = QualityDataSelectByEnergineID(); break; default: responseText = "05"; break; } return responseText; } /// /// //根据发动机号显示机型,界面提示 /// /// private string Select_engineType_ByEnergineID() { string text = ""; try { System.Data.DataTable dt = null; string opName = HttpContext.Current.Request["value"];//发动机号 string energineID = HttpContext.Current.Request["energineID"];//发动机号 GetEngineID_Select(energineID, opName, out dt); string engineType = ""; if (dt != null) { if (dt.Rows.Count > 0) { engineType = dt.Rows[0]["发动机型号"].ToString(); } } text = "{\"engineType\":\"" + engineType + "\"}"; } catch (Exception err) { //ApplicationLog.WriteLog(err, "MesWebFun08:Select_engineType_ByEnergineID"); } return text; } /// /// 保存手动要求的条码 /// /// private string SavingEngineIDShift() { string text = ""; bool flag = false; System.Data.DataTable dt = null; try { string opname = HttpContext.Current.Request["value"];//工位号 string date = HttpContext.Current.Request["date"];//日期 string num = HttpContext.Current.Request["num"];//流水号 string[] dates = date.Split('-'); if (dates.Length > 2) { int year = Convert.ToInt32(dates[0]); int month = Convert.ToInt32(dates[1]); int day = Convert.ToInt32(dates[2]); int single = Convert.ToInt32(num); MES.OpName_MIS_Manual_Insert(opname, year, month, day, single); flag = true; } if (flag) { text = "{\"flag\":\"1\"}"; } else { text = "{\"flag\":\"0\"}"; } return text; } catch (Exception err) { text = "{\"flag\":\"0\"}"; //ApplicationLog.WriteLog(err, "MesWebFun01:SavingEngineIDShift"); return text; } } private static string RepairStatusInit() { string Opname = HttpContext.Current.Request["value"];//工位号 string selectID = HttpContext.Current.Request["text_selectByID"];//工位号 text_selectByID string outtext = CreateRepairUpLine(Opname, selectID); return outtext; } /// /// 动态创建返修上线工位按钮 /// /// /// public static string CreateRepairUpLine(string OpName, string selectID) { StringBuilder HtmlStr = new StringBuilder();//可修改字符串 string BtnData = ""; int RouteNum = 0; bool HaveDataOrNot = false; DataTable dt; string StationDataStr;//最近一条返修工位数据 //查询返修上线字符串及路径数目 RepairBtnDataSelect(OpName, out BtnData, out RouteNum); string[] RepairSta = BtnData.Split('^');//目标工位数组 string TargetStationData = "";//目标工位数据 //查询之前的返修上线数据 HaveDataOrNot = selectRepairStrSelect(OpName, selectID, out dt); //合成界面显示按钮字符串 if (HaveDataOrNot) { StationDataStr = dt.Rows[0]["返修字符串"].ToString(); if (StationDataStr == "") { for (int i = 0; i < RepairSta.Length; i++) { if (i < (RepairSta.Length - 1)) { TargetStationData = TargetStationData + "1^"; } else { TargetStationData = TargetStationData + "1"; } } } else { TargetStationData = StationDataStr; } } else { for (int i = 0; i < RepairSta.Length; i++) { if (i < (RepairSta.Length - 1)) { TargetStationData = TargetStationData + "1^"; } else { TargetStationData = TargetStationData + "1"; } } } //页面定义 HtmlStr.Append("\r\n"); for (int i = 0; i < RepairSta.Length; i++) { //动态生成标签 //样式定义 string td_style = "width:20%;height:35px";//td样式 string btn_style = "width:98%;height:98%;font-family:微软雅黑;font-size:15px;border-color: #99CCFF";//标签样式 string type = "button"; string tagID = "Btn_" + RepairSta[i]; string value = RepairSta[i]; string onclick = "RepairBtnClick(Btn_" + value + ")"; string[] StationDataArray = TargetStationData.Split('^'); string bgColor; if (StationDataArray[i] == "1") { bgColor = "background-color: green"; } else { bgColor = "background-color: gray"; } //保证每行5个按钮 if (i < RepairSta.Length - 1) { if (i % 5 < 4) { HtmlStr.Append(""); } else { HtmlStr.Append(""); HtmlStr.Append("\r\n"); } } else { HtmlStr.Append(""); HtmlStr.Append(""); } } HtmlStr.Append("
"); //上线路径大于1条则显示上线路径 if (RouteNum > 1) { } return HtmlStr.ToString(); } /// /// 向数据库写入返修数据 /// /// /// /// public static bool updateRepairStatusTo_SQL(string opname, string status) { string produceName = "测量数据_返修工位_工位状态_修改"; SqlParameter[] thisParms = new SqlParameter[2]; thisParms[0] = new System.Data.SqlClient.SqlParameter("@工位号", opname); thisParms[1] = new System.Data.SqlClient.SqlParameter("@返修状态", status); return DataAccess.ExecuteStoredProcedure(produceName, ref thisParms); } private static string SaveRepairStatus() { try { string RepairStatus = HttpContext.Current.Request["str_value"];//返修工位状态 string engineID = HttpContext.Current.Request["engineID"];//返修零件总成号 int RepairMethod = Convert.ToInt32(HttpContext.Current.Request["RepairMethod"]);//返修路径 string engineType = HttpContext.Current.Request["engineType"];//返修零件总成号 string RepairOpName = HttpContext.Current.Request["OpName"];//返修上线点 string[] RepairStatusSplit = RepairStatus.Split('|'); for (int i = 0; i < RepairStatusSplit.Length - 1; i++) { updateRepairStatusTo_SQL(RepairStatusSplit[i].Split('^')[0], RepairStatusSplit[i].Split('^')[1]); } string produceName = "返修上线_返修工位及返修路径_增加"; SqlParameter[] thisParms = new SqlParameter[5]; thisParms[0] = new System.Data.SqlClient.SqlParameter("@总成编号", engineID); thisParms[1] = new System.Data.SqlClient.SqlParameter("@返修状态", RepairStatus); thisParms[2] = new System.Data.SqlClient.SqlParameter("@返修路径", RepairMethod); thisParms[3] = new System.Data.SqlClient.SqlParameter("@发动机型号", engineType); thisParms[4] = new System.Data.SqlClient.SqlParameter("@返修上线点", RepairOpName); string result = Convert.ToString(DataAccess.ExecuteStoredProcedure(produceName, ref thisParms)); return result; } catch (Exception err) { return "0"; } } /// [电子看板_发动机号_线首工位_查询_根据发动机号] 20160728 majian /// /// /// static public bool GetEngineID_Select(string engineID, string opName, out DataTable dt) { string errorMessage = ""; DataSet ds; bool isOK; dt = null; //string connectionString = ApplicationConfig.ConnectionString; string procedureName; procedureName = "电子看板_发动机号_线首工位_查询_根据发动机号"; SqlParameter[] thisParms = new SqlParameter[2]; thisParms[0] = new System.Data.SqlClient.SqlParameter("@发动机号", engineID); thisParms[1] = new System.Data.SqlClient.SqlParameter("@工位号", opName); isOK = DataAccess.ExecuteStoredProcedure(procedureName, ref thisParms, out ds); if (isOK) { if (ds.Tables.Count > 0) { dt = ds.Tables[0]; return true; } else { return false; } } else { return false; } } private string QualityDataButton_bgColor_Select_energineSelect() { string text = ""; try { System.Data.DataTable dt = null; //单号 string energineID = HttpContext.Current.Request["energineID"]; string opname = HttpContext.Current.Request["value"]; QualityDataButton_bgColor_Select(opname, energineID, out dt);//此处重新写函数 if (dt != null) { if (dt.Rows.Count >= 0) { text = Buttons.Createbuttons(dt); } } } catch (Exception err) { //ApplicationLog.WriteLog(err, "MesWebFun02:QualityDataButton_bgColor_Select"); } return text; } /// WEB根据工位名称和发动机号查询质量数据合格索引(包括了分线的信息、存储过程中根据工位类型区分) 20140626 wt /// /// /// /// /// public static bool QualityDataButton_bgColor_Select(string opname, string energineID, out DataTable dt) { string procedureName = "显示测量数据_工位号_根据发动机型号_查询"; SqlParameter[] sqlParameters = new SqlParameter[2]; sqlParameters[0] = new System.Data.SqlClient.SqlParameter("@工位号", opname); sqlParameters[1] = new System.Data.SqlClient.SqlParameter("@发动机号", energineID); return DataAccess.ExecuteStoredProcedure(procedureName, ref sqlParameters, out dt); } /// /// 获取对应工位的质量数据 /// /// private string QualityDataSelectByEnergineID() { string qualitydata = ""; try { System.Data.DataTable dt = null; string energineID = HttpContext.Current.Request["value"]; string opname = HttpContext.Current.Request["opname"]; QualityDataSelect(opname, energineID, out dt); if (dt != null) { //if (dt.Rows.Count > 0) { qualitydata = JsonHelper.CreateJsonParameters(dt); } } } catch (Exception err) { //ApplicationLog.WriteLog(err, "MesWebFun10:QualityDataSelect"); } return qualitydata; } static public bool QualityDataSelect(string opname, string energineID, out DataTable dt) { string procedureName; procedureName = "显示测量数据_根据_工位号_发动机型号_查询"; SqlParameter[] sqlParameters = new SqlParameter[2]; sqlParameters[0] = new System.Data.SqlClient.SqlParameter("@工位号", opname); sqlParameters[1] = new System.Data.SqlClient.SqlParameter("@发动机号", energineID); return DataAccess.ExecuteStoredProcedure(procedureName, ref sqlParameters, out dt); } /// /// 查询返修上线工位及返修路径数目 /// /// /// /// public static void RepairBtnDataSelect(string OpName, out string BtnData, out int RouteNum) { DataTable dt; string procedureName; BtnData = ""; RouteNum = 0; procedureName = "返修上线_返修工位_返修上线点及返修路径_基础配置_查询"; SqlParameter[] sqlParameters = new SqlParameter[1]; sqlParameters[0] = new System.Data.SqlClient.SqlParameter("@工位号", OpName); DataAccess.ExecuteStoredProcedure(procedureName, ref sqlParameters, out dt); if (dt != null) { if (dt.Rows.Count > 0) { BtnData = dt.Rows[0]["待返修工位"].ToString(); RouteNum = Convert.ToInt32(dt.Rows[0]["返修路径数目"]); } } } /// /// 查询当前上线点上次选择的返修工位,用于界面按钮颜色原始数据 /// /// /// /// public static bool selectRepairData(string OpName, out DataTable dt) { string procedureName; procedureName = "返修上线_返修工位及返修路径_最近数据_查询"; SqlParameter[] sqlParameters = new SqlParameter[1]; sqlParameters[0] = new System.Data.SqlClient.SqlParameter("@返修上线点", OpName); DataAccess.ExecuteStoredProcedure(procedureName, ref sqlParameters, out dt); if (dt.Rows.Count > 0) { return true; } else { return false; } } /// /// /// /// /// /// public static bool selectRepairStrSelect(string OpName, string selectID, out DataTable dt) { string procedureName; procedureName = "返修上线_返修工位及返修路径_是否工作判断"; SqlParameter[] sqlParameters = new SqlParameter[2]; sqlParameters[0] = new System.Data.SqlClient.SqlParameter("@返修上线点", OpName); sqlParameters[1] = new System.Data.SqlClient.SqlParameter("@发动机号", selectID); DataAccess.ExecuteStoredProcedure(procedureName, ref sqlParameters, out dt); if (dt.Rows.Count > 0) { return true; } else { return false; } } } }