chore: 初始化北汽福田MES管理站点

This commit is contained in:
yexingqiang
2026-05-29 13:44:19 +08:00
commit 926c4caf48
161 changed files with 116578 additions and 0 deletions

19
submit/Handler111.ashx Normal file
View File

@@ -0,0 +1,19 @@
<%@ WebHandler Language="C#" Class="Handler111" %>
using System;
using System.Web;
public class Handler111 : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}
}

View File

@@ -0,0 +1,231 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.Script.Serialization;
using System.Data;
public class JsonHelper
{
#region 序列化和反序列化
// 序列化
public static string JsonSerializer<T>(T t)
{
// 使用 DataContractJsonSerializer 将 T 对象序列化为内存流。
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
// 使用 WriteObject 方法将 JSON 数据写入到流中。
jsonSerializer.WriteObject(ms, t);
// 流转字符串
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
//替换Json的Date字符串
string p = @"\\/Date\((\d+)\+\d+\)\\/";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
return jsonString;
}
public static T JsonDeserialize<T>(string jsonString)
{
//将"yyyy-MM-dd HH:mm:ss"格式的字符串转为"\/Date(1294499956278+0800)\/"格式
string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertDateStringToJsonDate);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));
// 字符串转流
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
// 通过使用 DataContractJsonSerializer 的 ReadObject 方法,将 JSON 编码数据反序列化为T
T obj = (T)jsonSerializer.ReadObject(ms);
return obj;
}
public static string ConvertJsonDateToDateString(Match match)
{
string result = string.Empty;
DateTime dateTime = new DateTime(1970, 1, 1);
dateTime = dateTime.AddMilliseconds(long.Parse(match.Groups[1].Value));
dateTime = dateTime.ToLocalTime();
result = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
return result;
}
private static string ConvertDateStringToJsonDate(Match m)
{
string result = string.Empty;
DateTime dt = DateTime.Parse(m.Groups[0].Value);
dt = dt.ToUniversalTime();
TimeSpan ts = dt - DateTime.Parse("1970-01-01");
result = string.Format("\\/Date({0}+0800)\\/", ts.TotalMilliseconds);
return result;
}
#endregion
// 对象转换为Json
public static string ObjectToJson(object obj)
{
JavaScriptSerializer js = new JavaScriptSerializer();
try
{
return js.Serialize(obj);
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
// 数据表转化为集合
public static List<Dictionary<string, object>> DataTableToList(DataTable dt)
{
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
dic.Add(dc.ColumnName, dataRow[dc.ColumnName]);
}
list.Add(dic);
}
return list;
}
// 表转换为Json
public static string DataTableToJson(DataTable dt)
{
return ObjectToJson(DataTableToList(dt));
}
/// <summary>
/// 将DataTable中的数据转换成JSON格式
/// </summary>
/// <param name="dt">数据源DataTable</param>
/// <param name="displayCount">是否输出数据总条数</param>
/// <param name="totalcount">JSON中显示的数据总条数</param>
/// <returns></returns>
public static string CreateJsonParameters(DataTable dt, bool displayCount, int totalcount)
{
StringBuilder JsonString = new StringBuilder();
//Exception Handling
if (dt != null)
{
JsonString.Append("{ ");
JsonString.Append("\"rows\":[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
JsonString.Append("{ ");
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j < dt.Columns.Count - 1)
{
//if (dt.Rows[i][j] == DBNull.Value) continue;
if (dt.Columns[j].DataType == typeof(bool))
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" +
dt.Rows[i][j].ToString().ToLower() + ",");
}
else if (dt.Columns[j].DataType == typeof(string))
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" + "\"" +
dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\",");
}
else
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" + "\"" + dt.Rows[i][j] + "\",");
}
}
else if (j == dt.Columns.Count - 1)
{
//if (dt.Rows[i][j] == DBNull.Value) continue;
if (dt.Columns[j].DataType == typeof(bool))
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" +
dt.Rows[i][j].ToString().ToLower());
}
else if (dt.Columns[j].DataType == typeof(string))
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" + "\"" +
dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\"");
}
else
{
JsonString.Append("\"JSON_" + dt.Columns[j].ColumnName.ToLower() + "\":" + "\"" + dt.Rows[i][j] + "\"");
}
}
}
/*end Of String*/
if (i == dt.Rows.Count - 1)
{
JsonString.Append("} ");
}
else
{
JsonString.Append("}, ");
}
}
JsonString.Append("]");
if (displayCount)
{
JsonString.Append(",");
JsonString.Append("\"total\":");
JsonString.Append(totalcount);
}
JsonString.Append("}");
return JsonString.ToString().Replace("\n", "");
}
else
{
return null;
}
}
StringBuilder result = new StringBuilder();
StringBuilder sb = new StringBuilder();
/// <summary>
/// 根据DataTable生成EasyUI Tree Json树结构
/// </summary>
/// <param name="tabel">数据源</param>
/// <param name="idCol">ID列</param>
/// <param name="txtCol">Text列</param>
/// <param name="url">节点Url</param>
/// <param name="rela">关系字段</param>
/// <param name="pId">父ID</param>
public string GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string url, string rela, object pId)
{
result.Append(sb.ToString());
sb.Clear();
if (tabel.Rows.Count > 0)
{
sb.Append("[");
string filer = string.Format("{0}='{1}'", rela, pId);
DataRow[] rows = tabel.Select(filer);
if (rows.Length > 0)
{
foreach (DataRow row in rows)
{
sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"attributes\":\"" + row[url] + "\",\"state\":\"open\"");
if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0)
{
sb.Append(",\"children\":");
GetTreeJsonByTable(tabel, idCol, txtCol, url, rela, row[idCol]);
result.Append(sb.ToString());
sb.Clear();
}
result.Append(sb.ToString());
sb.Clear();
sb.Append("},");
}
sb = sb.Remove(sb.Length - 1, 1);
}
sb.Append("]");
result.Append(sb.ToString());
sb.Clear();
}
return result.ToString();
}
}

1216
submit/MESCommonBase.ashx Normal file

File diff suppressed because it is too large Load Diff

267
submit/MESCommonBase01.ashx Normal file
View File

@@ -0,0 +1,267 @@
<%@ WebHandler Language="C#" Class="MESCommonBase01" %>
using System;
using System.Web;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;
using System.Data;
//using BizDataAccess;
using System.Data.SqlClient;//<a href="uploadInvoiceScan.ashx">uploadInvoiceScan.ashx</a>
//using DbCallData;
using BasicData;
//using LitJson;
using DataLinkMesWork;
using System.Text.RegularExpressions;
public class MESCommonBase01 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "01";
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
string InvoiceNum;
//JsonData jsonData;
string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
JsonData jsonData=null;
try
{
jsonData = JsonMapper.ToObject(stream);
}
catch(Exception err)
{ }
int type=0;
try
{
if(jsonData!=null)
{
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
}
jsonobj dataobj=null;
try
{
dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
if(dataobj!=null)
{
type = Int32.Parse(dataobj.Type);
}
}
catch(Exception err)
{
dataobj = null;
}
if(dataobj==null)
{
try
{
InvoiceNum = HttpContext.Current.Request["param"];
if(InvoiceNum!=null)
{
jsonData = JsonMapper.ToObject(InvoiceNum);
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
jsonData = null;
}
}
string fileExtension="";
HttpFileCollection files;
string suffix;
string name;
switch(type)
{
case 2001:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2002:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFilePdf(jsonData,out bytes,out fileName,out fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2003:// 合成excel图片下载
string[] dataimg;
if(context.Request.Form.Keys.Count>0)
{
dataimg = data.Form.GetValues(0);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref dataimg[0]);
if (bytes == null) return;
fileName = fileName + "."+dataimg[0];
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
}
break;
case 2004:
//DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type2004(connType,jsonData, out bytes, out fileName, out fileExtension);
//MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 15://上传文件
files = context.Request.Files;
if (files.Count > 0)
{
fileName = files[0].FileName;
bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
suffix = fileName.Substring(fileName.LastIndexOf(".")+1);
name = fileName.Substring(0,fileName.LastIndexOf("."));
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
else
{
fileName = "";
bytes = new byte[1];
suffix = "";
name = "";
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
break;
case 16://上传文件
DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
if (bytes == null) return;
fileName = fileName + "."+suffix;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
break;
default:
//DataLink.LogJsonData(jsonData);
responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(type,jsonData,dataobj);
//}
break;
}
}
catch(Exception err)
{
context.Response.Write(responseText);
}
}
}

257
submit/MESCommonBase02.ashx Normal file
View File

@@ -0,0 +1,257 @@
<%@ WebHandler Language="C#" Class="MESCommonBase02" %>
using System;
using System.Web;
using System.IO;
using System.Web.Script.Serialization;
using BasicData;
using DataLinkMesWork;
public class MESCommonBase02 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "01";
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
string InvoiceNum;
//JsonData jsonData;
string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
JsonData jsonData=null;
try
{
jsonData = JsonMapper.ToObject(stream);
}
catch(Exception err)
{ }
int type=0;
try
{
if(jsonData!=null)
{
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
}
jsonobj dataobj=null;
try
{
dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
if(dataobj!=null)
{
type = Int32.Parse(dataobj.Type);
}
}
catch(Exception err)
{
dataobj = null;
}
if(dataobj==null)
{
try
{
InvoiceNum = HttpContext.Current.Request["param"];
if(InvoiceNum!=null)
{
jsonData = JsonMapper.ToObject(InvoiceNum);
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
jsonData = null;
}
}
string fileExtension="";
HttpFileCollection files;
string suffix;
string name;
switch(type)
{
case 2001:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2002:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFilePdf(jsonData,out bytes,out fileName,out fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2003:// 合成excel图片下载
string[] dataimg;
if(context.Request.Form.Keys.Count>0)
{
dataimg = data.Form.GetValues(0);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref dataimg[0]);
if (bytes == null) return;
fileName = fileName + "."+dataimg[0];
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
}
break;
case 2004:
//DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type2004(connType,jsonData, out bytes, out fileName, out fileExtension);
//MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 15://上传文件
files = context.Request.Files;
if (files.Count > 0)
{
fileName = files[0].FileName;
bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
suffix = fileName.Substring(fileName.LastIndexOf(".")+1);
name = fileName.Substring(0,fileName.LastIndexOf("."));
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
else
{
fileName = "";
bytes = new byte[1];
suffix = "";
name = "";
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
break;
case 16://上传文件
DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
if (bytes == null) return;
fileName = fileName + "."+suffix;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
break;
default:
//DataLink.LogJsonData(jsonData);
responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(type,jsonData,dataobj);
//}
break;
}
}
catch(Exception err)
{
context.Response.Write(responseText);
}
}
}

253
submit/MESCommonBase03.ashx Normal file
View File

@@ -0,0 +1,253 @@
<%@ WebHandler Language="C#" Class="MESCommonBase03" %>
using System;
using System.Web;
using System.IO;
using System.Web.Script.Serialization;
using BasicData;
using DataLinkMesWork;
public class MESCommonBase03 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "03";
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
string InvoiceNum;
//JsonData jsonData;
string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
JsonData jsonData=null;
try
{
jsonData = JsonMapper.ToObject(stream);
}
catch(Exception err)
{ }
int type=0;
try
{
if(jsonData!=null)
{
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
}
jsonobj dataobj=null;
try
{
dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
if(dataobj!=null)
{
type = Int32.Parse(dataobj.Type);
}
}
catch(Exception err)
{
dataobj = null;
}
if(dataobj==null)
{
try
{
InvoiceNum = HttpContext.Current.Request["param"];
if(InvoiceNum!=null)
{
jsonData = JsonMapper.ToObject(InvoiceNum);
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
jsonData = null;
}
}
string fileExtension="";
HttpFileCollection files;
string suffix;
string name;
switch(type)
{
case 2001:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2002:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFilePdf(jsonData,out bytes,out fileName,out fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2003:// 合成excel图片下载
string[] dataimg;
if(context.Request.Form.Keys.Count>0)
{
dataimg = data.Form.GetValues(0);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref dataimg[0]);
if (bytes == null) return;
fileName = fileName + "."+dataimg[0];
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
}
break;
case 2004:
//DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type2004(connType,jsonData, out bytes, out fileName, out fileExtension);
//MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 15://上传文件
files = context.Request.Files;
if (files.Count > 0)
{
fileName = files[0].FileName;
bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
suffix = fileName.Substring(fileName.LastIndexOf(".")+1);
name = fileName.Substring(0,fileName.LastIndexOf("."));
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
else
{
fileName = "";
bytes = new byte[1];
suffix = "";
name = "";
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
break;
case 16://上传文件
DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
if (bytes == null) return;
fileName = fileName + "."+suffix;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
break;
default:
//DataLink.LogJsonData(jsonData);
responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(type,jsonData,dataobj);
//}
break;
}
}
catch(Exception err)
{
context.Response.Write(responseText);
}
}
}

View File

@@ -0,0 +1,22 @@
<%@ WebHandler Language="C#" Class="MESCommonBase04" %>
using System.Web;
public class MESCommonBase04 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "04";
//ProcessRequestHttpContext.ProcessRequestServer.ProcessRequestHttpContext(connType, context);
}
}

209
submit/MESCommonBase05.ashx Normal file
View File

@@ -0,0 +1,209 @@
<%@ WebHandler Language="C#" Class="MESCommonBase05" %>
using System.Web;
public class MESCommonBase05 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "05";
//ProcessRequestHttpContext.ProcessRequestServer.ProcessRequestHttpContext(connType, context);
}
//public void ProcessRequestHttpContext(string connType,HttpContext context)
//{
// context.Response.ContentType = "application/json";
// var data = context.Request;
// var stream = new StreamReader(data.InputStream).ReadToEnd();
// string InvoiceNum;
// //JsonData jsonData;
// string responseText = "NULL";
// byte[] bytes = null;
// string fileName = "test.xsl";
// try
// {
// JsonData jsonData=null;
// try
// {
// jsonData = JsonMapper.ToObject(stream);
// }
// catch(Exception err)
// { }
// int type=0;
// try
// {
// if(jsonData!=null)
// {
// if(jsonData.ContainsKey("Type"))
// {
// type = Int32.Parse( jsonData["Type"].ToString());
// }else if(jsonData.ContainsKey("type"))
// {
// type = Int32.Parse( jsonData["type"].ToString());
// }
// }
// }
// catch
// {
// }
// jsonobj dataobj=null;
// try
// {
// dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
// if(dataobj!=null)
// {
// type = Int32.Parse(dataobj.Type);
// }
// }
// catch(Exception err)
// {
// dataobj = null;
// }
// if(dataobj==null)
// {
// try
// {
// InvoiceNum = HttpContext.Current.Request["param"];
// if(InvoiceNum!=null)
// {
// jsonData = JsonMapper.ToObject(InvoiceNum);
// if(jsonData.ContainsKey("Type"))
// {
// type = Int32.Parse( jsonData["Type"].ToString());
// }else if(jsonData.ContainsKey("type"))
// {
// type = Int32.Parse( jsonData["type"].ToString());
// }
// }
// }
// catch
// {
// jsonData = null;
// }
// }
// string fileExtension;
// HttpFileCollection files;
// string suffix;
// string name;
// switch(type)
// {
// case 2001:
// DataLink.LogJsonData(connType,jsonData);
// MESDownloadExcel.ExcelWebCall.ExcelFile(connType,jsonData,out bytes,out fileName,out fileExtension);
// fileName = fileName + "."+fileExtension;
// HttpContext.Current.Response.ContentType = "application/octet-stream";
// //HttpContext.Current.Response.ContentType = getContentType(extension);
// //通知浏览器下载文件而不是打开
// HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
// HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
// HttpContext.Current.Response.BinaryWrite(bytes);
// HttpContext.Current.Response.Flush();
// HttpContext.Current.Response.End();
// break;
// case 2002:
// DataLink.LogJsonData(connType,jsonData);
// MESDownloadExcel.ExcelWebCall.ExcelFilePdf(connType,jsonData,out bytes,out fileName,out fileExtension);
// fileName = fileName + "."+fileExtension;
// HttpContext.Current.Response.ContentType = "application/octet-stream";
// //HttpContext.Current.Response.ContentType = getContentType(extension);
// //通知浏览器下载文件而不是打开
// HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
// HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
// HttpContext.Current.Response.BinaryWrite(bytes);
// HttpContext.Current.Response.Flush();
// HttpContext.Current.Response.End();
// break;
// case 15://上传文件
// files = context.Request.Files;
// if (files.Count > 0)
// {
// fileName = files[0].FileName;
// bytes = new byte[files[0].InputStream.Length];
// files[0].InputStream.Read(bytes, 0, bytes.Length);
// suffix = fileName.Split(new Char[] { '.' })[1];
// name = fileName.Split(new Char[] { '.' })[0];
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
// if(DataLinkMesWork.DataLink.isBakup=="1")
// {
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(connType,jsonData, name, suffix, bytes);
// }
// }
// else
// {
// fileName = "";
// bytes = new byte[1];
// suffix = "";
// name = "";
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
// if(DataLinkMesWork.DataLink.isBakup=="1")
// {
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(connType,jsonData, name, suffix, bytes);
// }
// }
// break;
// case 16://上传文件
// DataLink.LogJsonData(jsonData);
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
// if (bytes == null) return;
// fileName = fileName + "."+suffix;
// HttpContext.Current.Response.ContentType = "application/octet-stream";
// //HttpContext.Current.Response.ContentType = getContentType(extension);
// //通知浏览器下载文件而不是打开
// HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
// HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
// HttpContext.Current.Response.BinaryWrite(bytes);
// HttpContext.Current.Response.Flush();
// HttpContext.Current.Response.End();
// if(DataLinkMesWork.DataLink.isBakup=="1")
// {
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(connType,jsonData, out bytes, out fileName, out suffix);
// }
// break;
// default:
// DataLink.LogJsonData(jsonData);
// responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
// context.Response.Write(responseText);
// string isBakup= DataLinkMesWork.DataLink.GetIsBakupByConnType(connType);
// if(isBakup=="1")
// {
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(connType,type,jsonData,dataobj);
// }
// break;
// }
// }
// catch(Exception err)
// {
// context.Response.Write(responseText);
// }
//}
}

254
submit/MESCommonBase06.ashx Normal file
View File

@@ -0,0 +1,254 @@
<%@ WebHandler Language="C#" Class="MESCommonBase06" %>
using System;
using System.Web;
using System.IO;
using System.Web.Script.Serialization;
using BasicData;
using DataLinkMesWork;
public class MESCommonBase06 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "06";
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
string InvoiceNum;
//JsonData jsonData;
string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
JsonData jsonData=null;
try
{
jsonData = JsonMapper.ToObject(stream);
}
catch(Exception err)
{ }
int type=0;
try
{
if(jsonData!=null)
{
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
}
jsonobj dataobj=null;
try
{
dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
if(dataobj!=null)
{
type = Int32.Parse(dataobj.Type);
}
}
catch(Exception err)
{
dataobj = null;
}
if(dataobj==null)
{
try
{
InvoiceNum = HttpContext.Current.Request["param"];
if(InvoiceNum!=null)
{
jsonData = JsonMapper.ToObject(InvoiceNum);
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
jsonData = null;
}
}
string fileExtension="";
HttpFileCollection files;
string suffix;
string name;
switch(type)
{
case 2001:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2002:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFilePdf(jsonData,out bytes,out fileName,out fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2003:// 合成excel图片下载
string[] dataimg;
if(context.Request.Form.Keys.Count>0)
{
dataimg = data.Form.GetValues(0);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref dataimg[0]);
if (bytes == null) return;
fileName = fileName + "."+dataimg[0];
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
}
break;
case 2004:
//DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type2004(connType,jsonData, out bytes, out fileName, out fileExtension);
//MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 15://上传文件
files = context.Request.Files;
if (files.Count > 0)
{
fileName = files[0].FileName;
bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
suffix = fileName.Substring(fileName.LastIndexOf(".")+1);
name = fileName.Substring(0,fileName.LastIndexOf("."));
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
else
{
fileName = "";
bytes = new byte[1];
suffix = "";
name = "";
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
break;
case 16://上传文件
DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
if (bytes == null) return;
fileName = fileName + "."+suffix;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
break;
default:
//DataLink.LogJsonData(jsonData);
responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(type,jsonData,dataobj);
//}
break;
}
}
catch(Exception err)
{
context.Response.Write(responseText);
}
}
}

254
submit/MESCommonBase07.ashx Normal file
View File

@@ -0,0 +1,254 @@
<%@ WebHandler Language="C#" Class="MESCommonBase07" %>
using System;
using System.Web;
using System.IO;
using System.Web.Script.Serialization;
using BasicData;
using DataLinkMesWork;
public class MESCommonBase07 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "07";
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
string InvoiceNum;
//JsonData jsonData;
string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
JsonData jsonData=null;
try
{
jsonData = JsonMapper.ToObject(stream);
}
catch(Exception err)
{ }
int type=0;
try
{
if(jsonData!=null)
{
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
}
jsonobj dataobj=null;
try
{
dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
if(dataobj!=null)
{
type = Int32.Parse(dataobj.Type);
}
}
catch(Exception err)
{
dataobj = null;
}
if(dataobj==null)
{
try
{
InvoiceNum = HttpContext.Current.Request["param"];
if(InvoiceNum!=null)
{
jsonData = JsonMapper.ToObject(InvoiceNum);
if(jsonData.ContainsKey("Type"))
{
type = Int32.Parse( jsonData["Type"].ToString());
}else if(jsonData.ContainsKey("type"))
{
type = Int32.Parse( jsonData["type"].ToString());
}
}
}
catch
{
jsonData = null;
}
}
string fileExtension="";
HttpFileCollection files;
string suffix;
string name;
switch(type)
{
case 2001:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2002:
//DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFilePdf(jsonData,out bytes,out fileName,out fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 2003:// 合成excel图片下载
string[] dataimg;
if(context.Request.Form.Keys.Count>0)
{
dataimg = data.Form.GetValues(0);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref dataimg[0]);
if (bytes == null) return;
fileName = fileName + "."+dataimg[0];
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
}
break;
case 2004:
//DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type2004(connType,jsonData, out bytes, out fileName, out fileExtension);
//MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName,ref fileExtension);
fileName = fileName + "."+fileExtension;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
case 15://上传文件
files = context.Request.Files;
if (files.Count > 0)
{
fileName = files[0].FileName;
bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
suffix = fileName.Substring(fileName.LastIndexOf(".")+1);
name = fileName.Substring(0,fileName.LastIndexOf("."));
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
else
{
fileName = "";
bytes = new byte[1];
suffix = "";
name = "";
responseText = DataLinkMesWork.DataLink.ExePROCEDURE_Type15(connType,jsonData, name, suffix, bytes);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type15_Bakup(jsonData, name, suffix, bytes);
//}
}
break;
case 16://上传文件
DataLink.LogJsonData(jsonData);
DataLinkMesWork.DataLink.ExePROCEDURE_Type16(connType,jsonData, out bytes, out fileName, out suffix);
if (bytes == null) return;
fileName = fileName + "."+suffix;
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.ExePROCEDURE_Type16_Bakup(jsonData, out bytes, out fileName, out suffix);
//}
break;
default:
//DataLink.LogJsonData(jsonData);
responseText = DataLinkMesWork.DataLink.SqlWebCall(connType,type,jsonData,dataobj);//.SqlWebCall(stream);
context.Response.Write(responseText);
//if(DataLinkMesWork.DataLink.isBakup=="1")
//{
// DataLinkMesWork.DataLink.SqlWebCall_Bakup(type,jsonData,dataobj);
//}
break;
}
}
catch(Exception err)
{
context.Response.Write(responseText);
} }
}

View File

@@ -0,0 +1,21 @@
<%@ WebHandler Language="C#" Class="MESCommonBase08" %>
using System.Web;
public class MESCommonBase08 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "08";
//ProcessRequestHttpContext.ProcessRequestServer.ProcessRequestHttpContext(connType, context);
}
}

View File

@@ -0,0 +1,21 @@
<%@ WebHandler Language="C#" Class="MESCommonBase09" %>
using System.Web;
public class MESCommonBase09 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "09";
//ProcessRequestHttpContext.ProcessRequestServer.ProcessRequestHttpContext(connType, context);
}
}

View File

@@ -0,0 +1,21 @@
<%@ WebHandler Language="C#" Class="MESCommonBase10" %>
using System.Web;
public class MESCommonBase10 : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string connType = "10";
//ProcessRequestHttpContext.ProcessRequestServer.ProcessRequestHttpContext(connType, context);
}
}

View File

@@ -0,0 +1,117 @@
<%@ WebHandler Language="C#" Class="DownloadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web.Script.Serialization;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using BasicData;
using DataLinkMesWork;
using MESDownloadExcel;
public class DownloadHandler : IHttpHandler
{
/// <summary>
/// 00 标准DataTable
/// 01 计划工时模板
/// 02 外协加工任务单
/// 03 外购备料请款
/// 04 自家项目报表
/// 05 材料清单
/// </summary>
/// <param name="context"></param>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
//JsonData jsonData;
//string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
string InvoiceNum = HttpContext.Current.Request["param"];
JsonData jsonData = JsonMapper.ToObject(InvoiceNum);
DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCall.ExcelFile(jsonData,out bytes,out fileName);
fileName = fileName + ".xls";
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
return;
}
catch (Exception ex)
{
return;
}
}
///// <summary>
///// Unicode编码(汉字转换为\uxxx)
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string EnUnicode(string str)
//{
// StringBuilder strResult = new StringBuilder();
// if (!string.IsNullOrEmpty(str))
// {
// for (int i = 0; i < str.Length; i++)
// {
// strResult.Append("\\u");
// strResult.Append(((int)str[i]).ToString("x"));
// }
// }
// return strResult.ToString();
//}
///// <summary>
///// Unicode解码\uxxxx转换为汉字
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string DeUnicode(string str)
//{
// //最直接的方法Regex.Unescape(str);
// Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
// return reg.Replace(str, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
//}
// /// <summary>
///// Unicode解码
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string DeUnicode(string str)
//{
// //最直接的方法Regex.Unescape(str);
// Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
// return reg.Replace(str, delegate (Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
//}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,117 @@
<%@ WebHandler Language="C#" Class="DownloadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web.Script.Serialization;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using BasicData;
using DataLinkMesWork;
using MESDownloadExcel;
public class DownloadHandler : IHttpHandler
{
/// <summary>
/// 00 标准DataTable
/// 01 计划工时模板
/// 02 外协加工任务单
/// 03 外购备料请款
/// 04 自家项目报表
/// 05 材料清单
/// </summary>
/// <param name="context"></param>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
//JsonData jsonData;
//string responseText = "NULL";
byte[] bytes = null;
string fileName = "test.xsl";
try
{
string InvoiceNum = HttpContext.Current.Request["param"];
JsonData jsonData = JsonMapper.ToObject(InvoiceNum);
DataLink.LogJsonData(jsonData);
MESDownloadExcel.ExcelWebCallDemo.ExcelFile(jsonData,out bytes,out fileName);
fileName = fileName + ".xls";
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
return;
}
catch (Exception ex)
{
return;
}
}
///// <summary>
///// Unicode编码(汉字转换为\uxxx)
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string EnUnicode(string str)
//{
// StringBuilder strResult = new StringBuilder();
// if (!string.IsNullOrEmpty(str))
// {
// for (int i = 0; i < str.Length; i++)
// {
// strResult.Append("\\u");
// strResult.Append(((int)str[i]).ToString("x"));
// }
// }
// return strResult.ToString();
//}
///// <summary>
///// Unicode解码\uxxxx转换为汉字
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string DeUnicode(string str)
//{
// //最直接的方法Regex.Unescape(str);
// Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
// return reg.Replace(str, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
//}
// /// <summary>
///// Unicode解码
///// </summary>
///// <param name="str"></param>
///// <returns></returns>
//public static string DeUnicode(string str)
//{
// //最直接的方法Regex.Unescape(str);
// Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
// return reg.Replace(str, delegate (Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
//}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,52 @@
<%@ WebHandler Language="C#" Class="DownloadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
public class DownloadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/part";
filePath = HttpContext.Current.Server.MapPath(filePath);
string id = HttpContext.Current.Request["id"];
filePath = filePath + "/" + id;
string name = HttpContext.Current.Request["name"];
try
{
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
return;
}
catch (Exception ex)
{
return;
}
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,76 @@
<%@ WebHandler Language="C#" Class="MESCommonBase" %>
using System;
using System.Web;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;
using System.Data;
//using BizDataAccess;
using System.Data.SqlClient;
//using DbCallData;
//using BasicData;
using System.Net.Mail;
using System.Net.Mime;
using System.Timers;
using System.Xml;
using System.Net;
public class MESCommonBase : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public int message;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string Uid = HttpContext.Current.Request["Uid"];
string Key = HttpContext.Current.Request["Key"];
string smsMob = HttpContext.Current.Request["smsMob"];
string smsText = HttpContext.Current.Request["smsText"];
try
{
string url = "http://utf8.api.smschinese.cn/?Uid=" + Uid + "&Key=" + Key + "&smsMob=" + smsMob + "&smsText=" + smsText;
string relust = GetHtmlFromUrl(url);
context.Response.Write(Convert.ToInt16(relust));
}
catch (Exception ex)
{
return;
}
}
public string GetHtmlFromUrl(string url)
{
string strRet = null;
if(url==null || url.Trim().ToString()=="")
{
return strRet;
}
string targeturl = url.Trim().ToString();
try
{
HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
hr.Method = "GET";
hr.Timeout = 30 * 60 * 1000;
WebResponse hs = hr.GetResponse();
Stream sr = hs.GetResponseStream();
StreamReader ser = new StreamReader(sr, Encoding.Default);
strRet = ser.ReadToEnd();
}
catch (Exception ex)
{
strRet = null;
}
return strRet;
}
}

157
submit/MESUpload.ashx Normal file
View File

@@ -0,0 +1,157 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/part";
filePath = HttpContext.Current.Server.MapPath(filePath);
string num = HttpContext.Current.Request["num"];
string tableName = HttpContext.Current.Request["tableName"];
string result = "";
bool isOK;
var stream = new StreamReader(context.Request.InputStream).ReadToEnd();
JsonData jsonData = JsonMapper.ToObject(stream);
//DataLink.LogJsonData(jsonData);
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into " + tableName + " (num, uid, name, suffix, 是否启用) values(" + num + ",'" + uid + "','" + name + "','" + suffix + "'," + '1' + ")";
isOK =DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
//SET ANSI_NULLS ON
//GO
//SET QUOTED_IDENTIFIER ON
//GO
//ALTER PROCEDURE [dbo].[_文件存储_高精_增加]
// @业务代码 int,
// @文件标识 int,
// @文件名称 nvarchar(150),
// @文件后缀 nvarchar(50),
// @文件内容 varbinary(max)
// as
//SET NOCOUNT ON;
//INSERT INTO [dbo].[_文件存储_高精](业务代码,[文件标识],[文件名称],[文件后缀],[文件内容])
// VALUES(@业务代码,@文件标识,@文件名称,@文件后缀,@文件内容)
//isOK = SQLCommon.ExecuteNonQuery(sql, connectionString, out result);
//isOK = SQLCommon.ExecuteNonQuery(sql, connectionString, out result);
if (isOK)
{
try
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
catch
{
}
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 10);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

103
submit/MESUploadFile.ashx Normal file
View File

@@ -0,0 +1,103 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/part";
filePath = HttpContext.Current.Server.MapPath(filePath);
string num = HttpContext.Current.Request["num"];
string tableName = HttpContext.Current.Request["tableName"];
string result = "";
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into " + tableName + " (num, uid, name, suffix, 是否启用) values(" + num + ",'" + uid + "','" + name + "','" + suffix + "'," + '1' + ")";
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//isOK = SQLCommon.ExecuteNonQuery(sql, connectionString, out result);
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 10);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,140 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///机型查询
case "enginetypeSelect":
responseText = enginetypeSelect();
break;
//工位号查询查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//测量范围查询
case "dataExtentSelect":
responseText = dataExtentSelect();
break;
//测量位置查询
case "positionSelect":
responseText = positionSelect();
break;
//测量项目查询
case "projectSelect":
responseText = projectSelect();
break;
//修改
case "dataExtentUpdate":
responseText = dataExtentUpdate();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///测量项目查询
/// </summary>
/// <returns></returns>
private string projectSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string position = HttpContext.Current.Request["position"];
MES_SPC.QualityData.GetItemName(opName, position, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string dataExtentUpdate()
{
int keyIndex = Convert.ToInt32(HttpContext.Current.Request["id"]);
string heoreticalValue = HttpContext.Current.Request["theoreticalvalue"];
string upLimitValue = HttpContext.Current.Request["upvalue"];
string downLimitValue = HttpContext.Current.Request["downvalue"];
bool flag = MES_SPC.QualityData.UpdateMeasureExtent(keyIndex, heoreticalValue, upLimitValue, downLimitValue);
if (flag)
{
return "{\"result\":\"1\"}";
}
else
{
return "{\"result\":\"0\"}";
}
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string positionSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetShaftName(opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///工位查询
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.OpnameSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///机型查询
/// </summary>
/// <returns></returns>
private string enginetypeSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.enginetypeSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 任务下达,更新计划订单状态为已下达
/// </summary>
/// <returns></returns>
private string dataExtentSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string engineTypeID = HttpContext.Current.Request["engineTypeID"];
MES_SPC.QualityData.SelectMeasureExtent_simple(engineTypeID, opName, out dt);
string text = JsonHelper.CreateJsonParameters(dt, false, 0);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,214 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///导出excel
case "dataoutexcel":
responseText = outexcel();
break;
//工位号查询查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//过站信息查询
case "dataEngineArriveLeaveSelect":
responseText = dataEngineArriveLeaveSelect();
break;
//查询发动机号
case "engineidSelect":
responseText = engineidSelect();
break;
//查询订单号
case "orderNumSelect":
responseText = orderNumSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///发动机号查询
/// </summary>
/// <returns></returns>
private string engineidSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool orderNum_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_orderNum"]);
string orderNum = HttpContext.Current.Request["orderNum"];
MES_SPC.QualityData.GetCrossData_EngineID(dtStartTime, dtEndTime, orderNum_isCheck, orderNum, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///订单号查询
/// </summary>
/// <returns></returns>
private string orderNumSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
MES_SPC.QualityData.GetEngineArriveLeave_OrderNum(dtStartTime, dtEndTime, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量项目查询
/// </summary>
/// <returns></returns>
private string projectSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string position = HttpContext.Current.Request["position"];
MES_SPC.QualityData.GetItemName(opName, position, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string positionSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetShaftName(opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///工位查询
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.OpnameSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///机型查询
/// </summary>
/// <returns></returns>
private string enginetypeSelect()
{
System.Data.DataTable dt = null;
MES_SPC.QualityData.GetEngineType_Data_Small(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 导出excel
/// </summary>
/// <returns></returns>
private string outexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_opnameN = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opnameN"]);
string opNameN = HttpContext.Current.Request["opNameN"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool orderNum_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_orderNum"]);
string orderNum = HttpContext.Current.Request["orderNum"];
MES_SPC.QualityData_EngineArriveLeaveSelect.SelectEngineArriveLeaveReport(
checkbox_engineid, engineid,
checkbox_opname, opName, checkbox_opnameN, opNameN, orderNum_isCheck, orderNum,
startdate, enddate,
out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "测量数据发动机在线状态";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable(dt);
}
}
return "";
}
/// <summary>
/// 过站信息查询
/// </summary>
/// <returns></returns>
private string dataEngineArriveLeaveSelect()
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_opnameN = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opnameN"]);
string opNameN = HttpContext.Current.Request["opNameN"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool orderNum_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_orderNum"]);
string orderNum = HttpContext.Current.Request["orderNum"];
MES_SPC.QualityData_EngineArriveLeaveSelect.Select_engineArriveLeave(startdate, enddate,
checkbox_engineid, engineid,
checkbox_opname, opName, checkbox_opnameN, opNameN,orderNum_isCheck,orderNum,
page, rows1, out PageCount, out ItemCount,
out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,490 @@
<%@ WebHandler Language="C#" Class="QualityData_Histogram" %>
using System;
using System.Web;
using System.Data;
using MES_SPC;
public class QualityData_Histogram : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "OutExcel":
responseText = OutExcel();
break;
case "BindMinutes":
responseText = BindMinutes();
break;
case "BindHour":
responseText = BindHour();
break;
case "BindMachineType":
responseText = BindMachineType();
break;
case "BindOPName":
responseText = BindOPName();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定测量内容
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
case "GetBaseTrendData":
//responseText = GetBaseTrendData();
break;
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
case "data":
responseText = data();
break;
case "data1":
responseText = data1();
break;
case "SaveImg":
responseText = SaveImg();
break;
}
context.Response.Write(responseText);
}
public string SaveImg()
{
//string path = "c:\\QualityData_Histogram_01.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_Histogram.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path, System.Drawing.Imaging.ImageFormat.Png);
return "{\"result\":\"1\"}";
}
public string GetDataTableByConditent()
{
System.Data.DataTable dt = null;
System.Data.DataTable dt1 = null;
int pageSize = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int pageList = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
//string Hour = HttpContext.Current.Request["Hour"];
//string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
//startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = HttpContext.Current.Request["endTime"];;
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
dt1 = dt.Copy(); //复制dt
dt1.Rows.Clear();//清空内容只保留dt结构。
for (int i = (pageSize - 1) * pageList; i < pageSize * pageList; i++)//循环需要显示的行
{
if (i < dt.Rows.Count)
{
dt1.ImportRow(dt.Rows[i]);//这是加入的是第i行
}
}
string text = "";
if (dt1 != null && dt1.Rows.Count > 0)
{
text = JsonHelper.CreateJsonParameters(dt1, true, dt.Rows.Count);
}
return text;
}
public string OutExcel()
{
System.Data.DataTable dt = null;
bool EngineTypeIDCheck = true;
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string Hour = HttpContext.Current.Request["Hour"];
string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = null;
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
//string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_Histogram.png");
string path ="QualityData_Histogram.png";
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "测量值";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.OutPutDataAndPic(path, dt);
}
}
return "";
}
public string data()
{
System.Data.DataTable dt = null;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
//string Hour = HttpContext.Current.Request["Hour"];
//string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
//startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime =HttpContext.Current.Request["endTime"];
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
double max = 0;
double min = 0;
double c = Convert.ToDouble(dt.Rows[0]["测量值"]);
double e = Convert.ToDouble(dt.Rows[0]["测量值"]);
for (int i = 1; i < dt.Rows.Count; i++)
{
double a = Convert.ToDouble(dt.Rows[i]["测量值"]);
if (c > a)
{
max = c;
}
else
{
c = a;
max = a;
}
}
for (int r = 1; r < dt.Rows.Count; r++)
{
double d = Convert.ToDouble(dt.Rows[r]["测量值"]);
if (e < d)
{
min = e;
}
else
{
e = d;
min = d;
}
}
string max1 = max.ToString("f2");
int t = (int)(min * 100);
float min2 = (float)(t * 1.0) / 100;
string min1 = min2.ToString();
double mid = Math.Round((max - min) / n, 3);
string mid2 = string.Format("{0:N3}", mid);
string mid3 = string.Format("{0:N2}", mid);
double mid4 = Convert.ToDouble(mid2) * 1000 - Convert.ToDouble(mid3) * 1000;
float o2;
float n1 = (float)n;
int o = (int)(mid * 1000);
o++;
float o3 = (float)(o * 1.0) / 1000;
string last = min2.ToString() + "~" + (min2 + o3).ToString();
//int mid1 = Convert.ToInt32((Convert.ToDouble(max1) - Convert.ToDouble(min1)) / 0.2);
if (mid != 0)
{
o2 = o3;
last = min2.ToString() + "~" + (min2 + o3).ToString();
for (float i = (min2 + o2);i+0.1 < (min2 + o2 * n1);i = i + o2)
{
string i1 = i.ToString("f2");
float l = i + o2;
string i2 = l.ToString("f2");
//i1 = i1.Substring(0, i1.IndexOf(".", 0) + 2);
//i1 = i2.Substring(0, i2.IndexOf(".", 0) + 2);
last = last + "," + i1 + "~" + i2;
}
}
return last;
}
public string data1()
{
System.Data.DataTable dt = null;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
//string Hour = HttpContext.Current.Request["Hour"];
//string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
//startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = HttpContext.Current.Request["endTime"];;
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
double max = 0;
double min = 0;
double c = Convert.ToDouble(dt.Rows[0]["测量值"]);
double e = Convert.ToDouble(dt.Rows[0]["测量值"]);
for (int i = 1; i < dt.Rows.Count; i++)
{
double a = Convert.ToDouble(dt.Rows[i]["测量值"]);
if (c > a)
{
max = c;
}
else
{
c = a;
max = a;
}
}
for (int r = 1; r < dt.Rows.Count; r++)
{
double d = Convert.ToDouble(dt.Rows[r]["测量值"]);
if (e < d)
{
min = e;
}
else
{
e = d;
min = d;
}
}
string max1 = max.ToString("f2");
int t = (int)(min * 100);
float min2 = (float)(t * 1.0) / 100;
string min1 = min2.ToString();
double mid = Math.Round((max - min) / n, 3);
string mid2 = string.Format("{0:N3}", mid);
string mid3 = string.Format("{0:N2}", mid);
double mid4 = Convert.ToDouble(mid2) * 1000 - Convert.ToDouble(mid3) * 1000;
float n1 = (float)n;
int[] arr1 = new int[n];
int o = (int)(mid * 1000);
o++;
float o3 = (float)(o * 1.0) / 1000;
for(int i = 0; i < n; i++){
for (int r = 0; r < dt.Rows.Count; r++)
{
double dd = Convert.ToDouble(dt.Rows[r]["测量值"]);
if (dd >= (min2 + o3 * (i)) && dd < (min2 + o3 * (i + 1)))
{
arr1[i]++;
}
}
}
string str = arr1[0].ToString();
for (int d = 1; d < n; d++) {
string str1 = arr1[d].ToString();
str = str + "," + str1;
}
return str;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定工位名称
public string BindOPName()
{
string text = "";
DataTable dt;
QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定机型
public string BindMachineType()
{
string text = "";
DataTable dt;
CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定分钟
public string BindMinutes()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("分钟", typeof(string));
for (int i = 0; i < 60; i++)
{
DataRow dr = dt.NewRow();
dr["分钟"] = i.ToString("00");
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定小时
public string BindHour()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("小时", typeof(string));
for (int i = 0; i < 24; i++)
{
DataRow dr = dt.NewRow();
dr["小时"] = i;
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,318 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///导出excel
case "dataoutexcel":
responseText = outexcel();
break;
///查询物料信息
case "dataMateralSelect":
responseText = dataMateralSelect();
break;
//二维码查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//发动机号查询查询2
case "EngineSelect":
responseText = EngineSelect();
break;
//过站信息查询
case "Select_repair":
responseText = Select_repair();
break;
//查询发动机号
case "engineidSelect":
responseText = engineidSelect();
break;
//查询订单号
case "orderNumberSelect":
responseText = orderNumSelect();
break;
//查询一维码
case "BarcodeBatchMaterialsSelect":
responseText = MaterialBatchSelect();
break;
//二维码查询
case "QRSelect":
responseText = QRSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///物料条码批次查询 2014-11-25
/// </summary>
/// <returns></returns>
private string MaterialBatchSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
string opname = HttpContext.Current.Request["opname"];
//string engine = HttpContext.Current.Request["engine"];
MES_SPC.QualityData_LineMaterial.GetMaterial_BarcodeBatchMaterials(dtStartTime, dtEndTime, opname, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///二维码查询
/// </summary>
/// <returns></returns>
private string QRSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool Opname_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string Opname = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.QRSelect(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, Opname_isCheck, Opname, 2, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 物料数据查询
/// </summary>
/// <returns></returns>
private string dataMateralSelect()
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_materialname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_materialname"]);
string materialname = HttpContext.Current.Request["materialname"];
bool checkbox_MaterialsBatchBarcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_BarcodeBatchMaterials"]);
string comboBox_MaterialsBatchBarcode = HttpContext.Current.Request["comboBox_BarcodeBatchMaterials"];
bool checkbox_QRcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_QRcode"]);
string QR_code = HttpContext.Current.Request["QR_code"];
MES_SPC.QualityData_LineMaterial.Select_material(startdate, enddate, checkbox_enginetype, enginetype,
checkbox_engineid, engineid, checkbox_materialname, materialname,
checkbox_opname, opName, checkbox_MaterialsBatchBarcode, comboBox_MaterialsBatchBarcode, checkbox_QRcode, QR_code,
page, rows1, out PageCount, out ItemCount,
out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
/// <summary>
///20150912
///根据二维码查询发动机号
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool Opname_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string Opname = HttpContext.Current.Request["opName"];
MES_SPC.QualityData_LineMaterial.OpnameSelect(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, Opname_isCheck, Opname, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///20150912
///根据一维码查询发动机号
/// </summary>
/// <returns></returns>
private string EngineSelect()
{
System.Data.DataTable dt = null;
MES_SPC.QualityData_LineMaterial.EngineSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///发动机号查询
/// </summary>
/// <returns></returns>
private string engineidSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData_LineMaterial.GetQualityData_EngineID_Small(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, checkbox_opname, opName,2, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///订单号查询
/// </summary>
/// <returns></returns>
private string orderNumSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
MES_SPC.QualityData.GetEngineArriveLeave_OrderNum(dtStartTime, dtEndTime, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量项目查询
/// </summary>
/// <returns></returns>
private string projectSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string position = HttpContext.Current.Request["position"];
MES_SPC.QualityData.GetItemName(opName, position, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string positionSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetShaftName(opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///机型查询
/// </summary>
/// <returns></returns>
private string enginetypeSelect()
{
System.Data.DataTable dt = null;
MES_SPC.QualityData.GetEngineType_Data_Small(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 导出excel
/// </summary>
/// <returns></returns>
private string outexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_materialname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_materialname"]);
string materialname = HttpContext.Current.Request["materialname"];
bool checkbox_MaterialsBatchBarcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_BarcodeBatchMaterials"]);
string comboBox_MaterialsBatchBarcode = HttpContext.Current.Request["comboBox_BarcodeBatchMaterials"];
bool checkbox_QRcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_QRcode"]);
string QR_code = HttpContext.Current.Request["QR_code"];
MES_SPC.QualityData_LineMaterial.SelectMaterialReport(
checkbox_engineid, engineid, checkbox_enginetype, enginetype, checkbox_materialname, materialname,
checkbox_opname, opName, checkbox_MaterialsBatchBarcode, comboBox_MaterialsBatchBarcode, checkbox_QRcode, QR_code,
startdate, enddate,
out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "物料数据";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable(dt);
}
}
return "";
}
/// <summary>
/// 过站信息查询
/// </summary>
/// <returns></returns>
private string Select_repair()
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
int radio_isgoodbad = Convert.ToInt32(HttpContext.Current.Request["radio_isgoodbad"]);
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engine = HttpContext.Current.Request["engine"];
MES_SPC.QualityData_LineMaterial.Select_repair(startdate, enddate, radio_isgoodbad, checkbox_engineid, engine, page, rows1, false, out PageCount, out ItemCount, out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, dt.Rows.Count);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,171 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///分线导出
case "dataPartoutexcel":
responseText = dataPartoutexcel();
break;
//查询发动机号
case "engineidSelect":
responseText = engineidSelect();
break;
//分线数据查询
case "datapartExtentSelect":
responseText = datapartExtentSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
/// 分线质量数据查询
/// </summary>
/// <returns></returns>
private string datapartExtentSelect ( )
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request ["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request ["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request ["startdate"];
string enddate = HttpContext.Current.Request ["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request ["enginetype"];
int radio_isgoodbad = Convert.ToInt32(HttpContext.Current.Request ["radio_isgoodbad"]);
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_opname"]);
string opName = HttpContext.Current.Request ["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_engineid"]);
string engineid = HttpContext.Current.Request ["engineid"];
bool checkbox_position = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_position"]);
string position = HttpContext.Current.Request ["position"];
bool checkbox_project = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_project"]);
string project = HttpContext.Current.Request ["project"];
bool checkbox_orderNumber = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_OrderNumber"]);
string orderNumber = HttpContext.Current.Request ["orderNumber"];
bool checkbox_SerialsNum = Convert.ToBoolean(HttpContext.Current.Request ["checkbox_SerialsNum"]);
string SerialsNum = HttpContext.Current.Request ["SerialsNum"];
MES_SPC.QualityData_LineQuality.GetQualityPartData(startdate, enddate,
checkbox_enginetype, enginetype, checkbox_engineid, engineid,
checkbox_opname, opName,
checkbox_position, position,
checkbox_project, project, checkbox_orderNumber, orderNumber, checkbox_SerialsNum, SerialsNum, radio_isgoodbad,
page, rows1, false, out PageCount, out ItemCount, out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
/// <summary>
/// 导出分线excel 2014-11-20加入工位名称列11-21加入订单号查询
/// </summary>
/// <returns></returns>
private string dataPartoutexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
int radio_isgoodbad = Convert.ToInt32(HttpContext.Current.Request["radio_isgoodbad"]);
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_position = Convert.ToBoolean(HttpContext.Current.Request["checkbox_position"]);
string position = HttpContext.Current.Request["position"];
bool checkbox_project = Convert.ToBoolean(HttpContext.Current.Request["checkbox_project"]);
string project = HttpContext.Current.Request["project"];
bool checkbox_orderNumber_Excel = Convert.ToBoolean(HttpContext.Current.Request["checkbox_OrderNumber"]);
string orderNumber_Execl = HttpContext.Current.Request["orderNumber"];
bool checkbox_SerialsNum = Convert.ToBoolean(HttpContext.Current.Request["checkbox_SerialsNum"]);
string SerialsNum = HttpContext.Current.Request["SerialsNum"];
MES_SPC.QualityData_LineQuality.SelectGoodDataPartReport(
checkbox_enginetype, enginetype,
checkbox_engineid, engineid,
checkbox_opname, opName,
checkbox_position, position,
checkbox_project, project, checkbox_orderNumber_Excel, orderNumber_Execl,
checkbox_SerialsNum, SerialsNum,
startdate, enddate,
radio_isgoodbad, false, out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "分线质量数据报表";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable_QualityData_Query(dt);
}
}
return "";
}
/// <summary>
///发动机号查询
/// </summary>
/// <returns></returns>
private string engineidSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData_LineMaterial.GetQualityData_EngineID_Small(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, checkbox_opname, opName, 2, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,241 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///导出excel
case "dataoutexcel":
responseText = outexcel();
break;
//工位号查询查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//物料数据查询
case "dataMateralSelect":
responseText = dataMateralSelect();
break;
//查询发动机号
case "engineidSelect":
responseText = engineidSelect();
break;
//查询物料条码批次
case "BarcodeBatchMaterialsSelect":
responseText = MaterialBatchSelect();
break;
case"materialnameSelect":
responseText = MaterialnameSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///发动机号查询
/// </summary>
/// <returns></returns>
private string engineidSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData_LineMaterial.GetQualityData_EngineID_Small(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, checkbox_opname, opName, 1, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///零件名称查询
/// </summary>
/// <returns></returns>
private string MaterialnameSelect()
{
System.Data.DataTable dt = null;
//bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData_MaterialSelect.GetQualityData_MaterialnameSelect(EngineType, opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///物料条码批次查询 2014-11-25
/// </summary>
/// <returns></returns>
private string MaterialBatchSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
string opname = HttpContext.Current.Request["opname"];
//string engine = HttpContext.Current.Request["engine"];
MES_SPC.QualityData_MaterialSelect.GetMaterial_BarcodeBatchMaterials(dtStartTime, dtEndTime,opname,out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量项目查询
/// </summary>
/// <returns></returns>
private string projectSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string position = HttpContext.Current.Request["position"];
MES_SPC.QualityData.GetItemName(opName, position, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string positionSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetShaftName(opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///工位查询
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.OpnameSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///机型查询
/// </summary>
/// <returns></returns>
private string enginetypeSelect()
{
System.Data.DataTable dt = null;
MES_SPC.QualityData.GetEngineType_Data_Small(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 导出excel
/// </summary>
/// <returns></returns>
private string outexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_materialname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_materialname"]);
string materialname = HttpContext.Current.Request["materialname"];
bool checkbox_MaterialsBatchBarcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_BarcodeBatchMaterials"]);
string comboBox_MaterialsBatchBarcode = HttpContext.Current.Request["comboBox_BarcodeBatchMaterials"];
bool checkbox_QRcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_QRcode"]);
string QR_code = HttpContext.Current.Request["QR_code"];
MES_SPC.QualityData_MaterialSelect.SelectMaterialReport(
checkbox_engineid, engineid, checkbox_enginetype, enginetype, checkbox_materialname, materialname,
checkbox_opname, opName,checkbox_MaterialsBatchBarcode,comboBox_MaterialsBatchBarcode,checkbox_QRcode,QR_code,
startdate, enddate,
out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "物料数据";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable(dt);
}
}
return "";
}
/// <summary>
/// 物料数据查询
/// </summary>
/// <returns></returns>
private string dataMateralSelect()
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_materialname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_materialname"]);
string materialname = HttpContext.Current.Request["materialname"];
bool checkbox_MaterialsBatchBarcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_BarcodeBatchMaterials"]);
string comboBox_MaterialsBatchBarcode = HttpContext.Current.Request["comboBox_BarcodeBatchMaterials"];
bool checkbox_QRcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_QRcode"]);
string QR_code = HttpContext.Current.Request["QR_code"];
MES_SPC.QualityData_MaterialSelect.Select_material(startdate, enddate,checkbox_enginetype,enginetype,
checkbox_engineid, engineid,checkbox_materialname,materialname,
checkbox_opname, opName,checkbox_MaterialsBatchBarcode,comboBox_MaterialsBatchBarcode,checkbox_QRcode,QR_code,
page, rows1, out PageCount, out ItemCount,
out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,549 @@
<%@ WebHandler Language="C#" Class="QualityData_NormalDistribution" %>
using System;
using System.Web;
using System.Data;
using MES_SPC;
public class QualityData_NormalDistribution : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
case "BindMinutes":
responseText = BindMinutes();
break;
case "BindHour":
responseText = BindHour();
break;
case "BindMachineType":
responseText = BindMachineType();
break;
case "BindOPName":
responseText = BindOPName();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定测量内容
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
case "GetBaseTrendData":
responseText = GetBaseTrendData();
break;
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
case "OutPutData":
responseText = OutPutData();
break;
}
context.Response.Write(responseText);
}
public string normal(double[] values, double miu, double sigma)
{
string str = "";
if (values.Length > 0)
{
for (int i = 0; i < values.Length; i++)
{
str += (1.0 / Math.Sqrt(2 * Math.PI) / sigma * Math.Exp(-1 * (values[i] - miu) * (values[i] - miu) / (2 * sigma * sigma))).ToString("0.00000000000000");
if (i != values.Length - 1)
{
str += ",";
}
}
}
return str;
// return 1.0 / Math.Sqrt(2 * Math.PI) / sigma * Math.Exp(-1 * (x - miu) * (x - miu) / (2 * sigma * sigma));
}
double[] X;
public string GetBaseTrendData()
{
DataTable dt = null;
//System.Text.StringBuilder result = new System.Text.StringBuilder();
string result = "";
bool EnginIDCheck = false;
string EnginID = "";
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
//string hour = HttpContext.Current.Request["Hour"];
//string minutes = HttpContext.Current.Request["Minutes"];
//startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID,
EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
if (dt != null && dt.Rows.Count > 2)
{
double Usl;
double Lsl;
double x;
double s;
double QU;
double QL;
double cp;
double cpk;
double usl;
double qu;
double sl;
double ql;
double lsl;
double[] sx;
double[] sy;
try
{
X = new double[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
double ValueUp = Max(X);
double ValueDown = Min(X);
// SpcCaculator.GetUslLsl(dt, out Usl, out Lsl);
// 暂时改为手动输入 --20191030 LLJ
Usl = Convert.ToDouble(HttpContext.Current.Request["Usl"]); // 上限值
Lsl = Convert.ToDouble(HttpContext.Current.Request["Lsl"]); // 下限值
if (Usl == 0 && Lsl == 0)
{
//自动计算上下限
SpcCaculator.SpcValue(X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
}
else
{
//使用输入的上下限
SpcCaculator.SpcValue(n,X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
}
}
catch
{
Usl = 0; // 上限值
Lsl = 0; // 下限值
//自动计算上下限
SpcCaculator.SpcValue(X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
}
//SpcCaculator.SpcValue(X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
//坐标轴
double ValueUpX = Convert.ToDouble(Max(sx).ToString("F4"));
double ValueDownX = Convert.ToDouble(Min(sx).ToString("F4"));
double ValueUpY = Convert.ToDouble(Max(sy).ToString("F4"));
ValueDownX = Math.Min(ValueDownX, Lsl);
ValueDownX = Math.Min(ValueDownX, QL);
ValueUpX = Math.Max(ValueUpX, Usl);
ValueUpX = Math.Max(ValueUpX, QU);
double X1 = (ValueUpX - ValueDownX) / 10;
double minValue = Math.Round(ValueDownX - X1, 4);
double maxValue = Math.Round(ValueUpX + X1, 4);
double[] value = new double[dt.Rows.Count];
for (int i = 0; i < sy.Length; i++)
{
result += sy[i].ToString("0.00000000000000");
if (i != sy.Length - 1)
{
result += ",";
}
}
result += "|";
result += Usl + "," + QU + "," + sx[5].ToString("F4") + "," + QL + "," + Lsl + "," + cp + "," + cpk + "|";
for (int i = 0; i < 6; i++)
{
result += i * (double)Math.Round(ValueUpY + ValueUpY / 10, 4) / 5;
if (i != 5)
{
result += ",";
}
}
double XmaxValue = 0;
if (QL > XmaxValue)
{
XmaxValue = QL;
}
if (Usl > XmaxValue)
{
XmaxValue = Usl;
}
if (QU > XmaxValue)
{
XmaxValue = QU;
}
if (Lsl > XmaxValue)
{
XmaxValue = Lsl;
}
if (Convert.ToDouble(sx[5].ToString("F4")) > XmaxValue)
{
XmaxValue = Convert.ToDouble(sx[5].ToString("F4"));
}
result += "|";
for (int i = 0; i < sx.Length; i++)
{
result += sx[i];
if (i != sx.Length - 1)
{
result += ",";
}
}
RealX(sx, Usl, out usl);
RealX(sx, QU, out qu);
RealX(sx, Convert.ToDouble(sx[5].ToString("F4")), out sl);
RealX(sx, QL, out ql);
RealX(sx, Lsl, out lsl);
//添加显示对应标线在X轴的实际位置
result += "|";
result += usl + "," + qu + "," + sl + "," + ql + "," + lsl;
//for (int i = 0; i <= 12; i++)
//{
// result += i * (double)XmaxValue / 11;
// if (i != 12)
// {
// result += ",";
// }
//}
////添加显示对应标线在X轴的实际位置
//result += "|";
//result += (double)Usl * 11 / XmaxValue + "," + (double)QU * 11 / XmaxValue + "," + (double)(Convert.ToDouble(sx[5].ToString("F4"))) * 11 / XmaxValue + "," + (double)QL * 11 / XmaxValue + "," + (double)Lsl * 11 / XmaxValue;
}
return result;
}
public static double RealX(double[] sx, double val, out double realVal)
{
realVal = 0.00;
if (val < sx[0])
{
realVal = 0.00 - (sx[0] - val) / (2 * sx[0]);
}
else if (val > sx[sx.Length - 1])
{
realVal = sx.Length - 1;
}
else
{
for (int i = 0; i < sx.Length - 1; i++)
{
if (val > sx[i] && val < sx[i + 1])
{
realVal = i + (val - sx[i]) / (sx[i + 1] - sx[i]);
}
if (val == sx[i])
{
realVal = i;
}
}
}
return realVal;
}
//求正态分布的随机数
public void Fenbu(double[] f)
{
double[] dd = new double[f.Length];
//double fenbu=new double[f.Length ];
for (int i = 0; i < f.Length; i++)
{
double a = 0, b = 0;
a = Math.Sqrt((-2) * Math.Log(f[i], Math.E));
b = Math.Cos(2 * Math.PI * f[i]);
f[i] = a * b * 0.3 + 1;
}
}
/// <summary>
/// 观测值最大值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Max(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] > temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 观测值最小值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Min(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] < temp) ? Xn[i] : temp;
}
return temp;
}
public string GetDataTableByConditent()
{
DataTable dt = null;
DataTable dt1 = null;
int pageSize = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int pageList = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string result = "";
bool EnginIDCheck = false;
string EnginID = "";
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = null;
string hour = HttpContext.Current.Request["Hour"];
string minutes = HttpContext.Current.Request["Minutes"];
startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
dt1 = dt.Copy(); //复制dt
dt1.Rows.Clear();//清空内容只保留dt结构。
for (int i = (pageSize - 1) * pageList; i < pageSize * pageList; i++)//循环需要显示的行
{
if (i < dt.Rows.Count)
{
dt1.ImportRow(dt.Rows[i]);//这是加入的是第i行
}
}
if (dt1 != null && dt1.Rows.Count > 0)
{
result = JsonHelper.CreateJsonParameters(dt1, true, dt.Rows.Count);
}
return result;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定工位名称
public string BindOPName()
{
string text = "";
DataTable dt;
QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定机型
public string BindMachineType()
{
string text = "";
DataTable dt;
CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定分钟
public string BindMinutes()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("分钟", typeof(string));
for (int i = 0; i < 60; i++)
{
DataRow dr = dt.NewRow();
dr["分钟"] = i.ToString("00");
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定小时
public string BindHour()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("小时", typeof(string));
for (int i = 0; i < 24; i++)
{
DataRow dr = dt.NewRow();
dr["小时"] = i;
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
public string OutPutData()
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = null;
string hour = HttpContext.Current.Request["Hour"];
string minutes = HttpContext.Current.Request["Minutes"];
startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
//string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPictureBasic_01.png");
string path = "QualityData_TrendPictureBasic_01.png";
if (dt != null)
{
if (dt.Rows.Count > 0)
{
CommonFunction.OutPutDataAndPic(path, dt);
}
}
return "";
}
public string SaveImg()
{
//string path = "c:\\QualityData_TrendPictureBasic_01.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPictureBasic_01.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path, System.Drawing.Imaging.ImageFormat.Png);
return "{\"result\":\"1\"}"; ;
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,486 @@
<%@ WebHandler Language="C#" Class="QualityData_Pareto" %>
using System;
using System.Web;
using System.Data;
using System.Text;
using MES_SPC;
public class QualityData_Pareto : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
case "BindMinutes":
responseText = BindMinutes();
break;
case "BindHour":
responseText = BindHour();
break;
case "BindMachineType":
responseText = BindMachineType();
break;
case "BindOPName":
responseText = BindOPName();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定测量内容
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
case "GetBaseTrendData":
//responseText = GetBaseTrendData();
break;
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
case "GetChart":
responseText = GetChart();
break;
//导出excel
case "dataoutexcel":
responseText = outexcel();
break;
}
context.Response.Write(responseText);
}
public string GetDataTableByConditent()
{
System.Data.DataTable dt = null;
System.Data.DataTable dt1 = null;
int pageSize = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int pageList = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
bool EngineTypeIDCheck = true;
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string Hour = HttpContext.Current.Request["Hour"];
string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = null;
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
dt1 = dt.Copy(); //复制dt
dt1.Rows.Clear();//清空内容只保留dt结构。
for (int i = (pageSize - 1) * pageList; i < pageSize * pageList; i++)//循环需要显示的行
{
if (i < dt.Rows.Count)
{
dt1.ImportRow(dt.Rows[i]);//这是加入的是第i行
}
}
string text = "";
if (dt1 != null && dt1.Rows.Count > 0)
{
text = JsonHelper.CreateJsonParameters(dt1, true, dt.Rows.Count);
}
return text;
}
public string GetChart()
{
System.Data.DataTable dt = null;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
//string Hour = HttpContext.Current.Request["Hour"];
//string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
//startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = HttpContext.Current.Request["endTime"];
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
StringBuilder textadd = new StringBuilder();
try
{
if (dt != null && dt.Rows.Count > 0)
{
int len = dt.Rows.Count;
double[] str = new double[len];
for (int i = 0; i < len; i++)
{
str[i] = Convert.ToDouble(dt.Rows[i]["测量值"]);
}
double minV = Min(str);
double maxV = Max(str);
double Dv = (maxV - minV) / n;
Dv = RoundInterval(Dv);
minV = Math.Floor(minV / Dv) * Dv;
maxV = Math.Ceiling(maxV / Dv) * Dv;
string textY1 = "";
string textY2 = "";
string textX = "";
string textX1 = "";
string textX2 = "";
double acv = 0.0;
object average;
double bottom = minV;
for (bottom = minV; bottom < maxV; bottom += Dv)
{
int number = 0;
double top = bottom + Dv;
foreach (double p in str)
{
if (top >= maxV)
{
if (p >= bottom && p <= top)
++number;
}
else
{
if (p >= bottom && p < top)
++number;
}
}
acv += Convert.ToDouble(number);
average = ((acv / (n * k)) * 100).ToString("0.00");
textX1=Convert.ToString(bottom);
textX2=Convert.ToString(top);
textX += textX1+'-'+textX2;
textY1 += number;
textY2 += average;
if (top < maxV)
{
textY1 += ",";
textY2 += ",";
textX += ",";
}
}
textadd.Append(textY1);
textadd.Append("|");
textadd.Append(textY2);
textadd.Append("|");
textadd.Append(textX);
}
}
catch (Exception)
{
}
return Convert.ToString(textadd);
}
/// <summary>
/// 观测值最大值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
private double Max(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] > temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 观测值最小值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
private double Min(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] < temp) ? Xn[i] : temp;
}
return temp;
}
public string outexcel()
{
System.Data.DataTable dt = null;
bool EngineTypeIDCheck = true;
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string Hour = HttpContext.Current.Request["Hour"];
string Minutes = HttpContext.Current.Request["Minutes"];
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
startTime = startTime + " " + Hour + ":" + Minutes + ":" + "00";
string endTime = null;
bool EnginIDCheck = false;
string EngineID = null;
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EngineID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
//string path = "QualityData_Pareto.png";
//string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_Pareto.png");
string path ="QualityData_Pareto.png";
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "SPC分析排列图";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.OutPutDataAndPic(path, dt);
}
}
return "";
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定工位名称
public string BindOPName()
{
string text = "";
DataTable dt;
QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定机型
public string BindMachineType()
{
string text = "";
DataTable dt;
CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定分钟
public string BindMinutes()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("分钟", typeof(string));
for (int i = 0; i < 60; i++)
{
DataRow dr = dt.NewRow();
dr["分钟"] = i.ToString("00");
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定小时
public string BindHour()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("小时", typeof(string));
for (int i = 0; i < 24; i++)
{
DataRow dr = dt.NewRow();
dr["小时"] = i;
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
public string SaveImg()
{
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_Pareto.png"); //local path
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");//rec img data
System.Drawing.Image returnImage = Base64StringToImage(byteStr); //init img
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path);
return "{\"result\":\"1\"}"; ;
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
public double RoundInterval(double interval)
{
// If the interval is zero return error
if (interval == 0.0)
{
// throw (new ArgumentOutOfRangeException("interval", "Interval can not be zero."));
return 0;
}
// If the real interval is > 1.0
double step = -1;
double tempValue = interval;
while (tempValue > 1.0)
{
step++;
tempValue = tempValue / 10.0;
if (step > 1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
// If the real interval is < 1.0
tempValue = interval;
if (tempValue < 1.0)
{
step = 0;
}
while (tempValue < 1.0)
{
step--;
tempValue = tempValue * 10.0;
if (step < -1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
double tempDiff = interval / Math.Pow(10.0, step);
if (tempDiff < 3.0)
{
tempDiff = 2.0;
}
else if (tempDiff < 7.0)
{
tempDiff = 5.0;
}
else
{
tempDiff = 10.0;
}
// Make a correction of the real interval
return tempDiff * Math.Pow(10.0, step);
}
}

View File

@@ -0,0 +1,118 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///导出excel
case "dataoutexcel":
responseText = outexcel();
break;
//作业时间查询(根据时间) 20141006 wt
case "dataProductiveTimeSelect":
responseText = dataProductiveTimeSelect();
break;
//查询订单号
case "orderNumSelect":
responseText = orderNumSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///订单号查询
/// </summary>
/// <returns></returns>
private string orderNumSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
MES_SPC.QualityData.GetEngineArriveLeave_OrderNum(dtStartTime, dtEndTime, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 导出excel
/// </summary>
/// <returns></returns>
private string outexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool orderNum_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_orderNum"]);
string orderNum = HttpContext.Current.Request["orderNum"];
MES_SPC.QualityData_ProductiveTimeSelect.Select_ProductiveTimeReport(startdate, enddate, orderNum_isCheck, orderNum, out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "测量数据发动机在线状态_作业时间";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable(dt);
}
}
return "";
}
/// <summary>
/// 作业时间查询
/// </summary>
/// <returns></returns>
private string dataProductiveTimeSelect()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool orderNum_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_orderNum"]);
string orderNum = HttpContext.Current.Request["orderNum"];
int ItemCount = 0;
MES_SPC.QualityData_ProductiveTimeSelect.Select_ProductiveTime(startdate,enddate,orderNum_isCheck,orderNum, out dt);
string text = JsonHelper.CreateJsonParameters(dt, false, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
///// <summary>
///// 作业时间查询根据订单号
///// </summary>
///// <returns></returns>
//private string dataProductiveTimeSelect_OrderNum()
//{
// System.Data.DataTable dt = null;
// string orderNum = HttpContext.Current.Request["orderNum"];
// int ItemCount = 0;
// MES_SPC.QualityData_ProductiveTimeSelect.Select_ProductiveTime_OrderNum(orderNum, out dt);
// string text = JsonHelper.CreateJsonParameters(dt, false, ItemCount);//这句话是将json数据对象化并且返回数据总条数
// return text;
//}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,279 @@
<%@ WebHandler Language="C#" Class="ProPlanMana_OrderImport" %>
using System;
using MES_SPC;
using System.Web;
using System.Data;
public class ProPlanMana_OrderImport : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
///导出excel
case "dataoutexcel":
responseText = outexcel();
break;
///机型查询
case "enginetypeSelect":
responseText = enginetypeSelect();
break;
//工位号查询查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//质量数据查询
case "dataExtentSelect":
responseText = dataExtentSelect();
break;
//测量位置查询
case "positionSelect":
responseText = positionSelect();
break;
//测量项目查询
case "projectSelect":
responseText = projectSelect();
break;
//查询发动机号
case "engineidSelect":
responseText = engineidSelect();
break;
//查询订单号
case "orderNumberSelect":
responseText = orderNumberSelect();
break;
//二维码查询
case "QRSelect":
responseText = QRSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///发动机号查询
/// </summary>
/// <returns></returns>
private string engineidSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetQualityData_EngineID_Small(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, checkbox_opname, opName,1, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///二维码查询
/// </summary>
/// <returns></returns>
private string QRSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
bool EngineTypeID_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string EngineType = HttpContext.Current.Request["enginetype"];
bool Opname_isCheck = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string Opname = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.QRSelect(dtStartTime, dtEndTime, EngineTypeID_isCheck, EngineType, Opname_isCheck, Opname,1, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量项目查询
/// </summary>
/// <returns></returns>
private string projectSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
string position = HttpContext.Current.Request["position"];
MES_SPC.QualityData.GetItemName(opName, position, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///测量位置查询
/// </summary>
/// <returns></returns>
private string positionSelect()
{
System.Data.DataTable dt = null;
string opName = HttpContext.Current.Request["opName"];
MES_SPC.QualityData.GetShaftName(opName, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///工位查询
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.OpnameSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///机型查询
/// </summary>
/// <returns></returns>
private string enginetypeSelect()
{
System.Data.DataTable dt = null;
MES_SPC.QualityData.GetEngineType_Data_Small(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 导出excel 2014-11-20加入工位名称列11-21加入订单号查询
/// </summary>
/// <returns></returns>
private string outexcel()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
int radio_isgoodbad = Convert.ToInt32(HttpContext.Current.Request["radio_isgoodbad"]);
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_position = Convert.ToBoolean(HttpContext.Current.Request["checkbox_position"]);
string position = HttpContext.Current.Request["position"];
bool checkbox_project = Convert.ToBoolean(HttpContext.Current.Request["checkbox_project"]);
string project = HttpContext.Current.Request["project"];
bool checkbox_orderNumber_Excel = Convert.ToBoolean(HttpContext.Current.Request["checkbox_OrderNumber"]);
string orderNumber_Execl = HttpContext.Current.Request["orderNumber"];
bool checkbox_SerialsNum = Convert.ToBoolean(HttpContext.Current.Request["checkbox_SerialsNum"]);
string SerialsNum = HttpContext.Current.Request["SerialsNum"];
MES_SPC.QualityData.SelectGoodDataReport(
checkbox_enginetype,enginetype,
checkbox_engineid, engineid,
checkbox_opname, opName,
checkbox_position, position,
checkbox_project, project, checkbox_orderNumber_Excel, orderNumber_Execl,
checkbox_SerialsNum, SerialsNum,
startdate, enddate,
radio_isgoodbad,false,out dt);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dt.TableName = "质量数据报表";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.ExcelTable_QualityData_Query(dt);
}
}
return "";
}
/// <summary>
/// 质量数据查询
/// </summary> 2014-11-20加入工位名称列11-21加入订单号查询
/// <returns></returns>
private string dataExtentSelect()
{
System.Data.DataTable dt = null;
int PageCount = 0;
int ItemCount = 0;
int page = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int rows1 = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_enginetype = Convert.ToBoolean(HttpContext.Current.Request["checkbox_enginetype"]);
string enginetype = HttpContext.Current.Request["enginetype"];
int radio_isgoodbad = Convert.ToInt32(HttpContext.Current.Request["radio_isgoodbad"]);
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_engineid = Convert.ToBoolean(HttpContext.Current.Request["checkbox_engineid"]);
string engineid = HttpContext.Current.Request["engineid"];
bool checkbox_position = Convert.ToBoolean(HttpContext.Current.Request["checkbox_position"]);
string position = HttpContext.Current.Request["position"];
bool checkbox_project = Convert.ToBoolean(HttpContext.Current.Request["checkbox_project"]);
string project = HttpContext.Current.Request["project"];
bool checkbox_orderNumber = Convert.ToBoolean(HttpContext.Current.Request["checkbox_OrderNumber"]);
string orderNumber = HttpContext.Current.Request["orderNumber"];
bool checkbox_SerialsNum = Convert.ToBoolean(HttpContext.Current.Request["checkbox_SerialsNum"]);
string SerialsNum = HttpContext.Current.Request["SerialsNum"];
MES_SPC.QualityData.GetQualityDataEveryOpNameDataListTable_Small(startdate, enddate,
checkbox_enginetype, enginetype, checkbox_engineid, engineid,
checkbox_opname, opName,
checkbox_position, position,
checkbox_project, project, checkbox_orderNumber, orderNumber,checkbox_SerialsNum,SerialsNum, radio_isgoodbad,
page, rows1, false, out PageCount, out ItemCount,out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, ItemCount);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
///查询订单号 2014-11-21
/// </summary>
/// <returns></returns>
private string orderNumberSelect()
{
System.Data.DataTable dt = null;
string startTime = HttpContext.Current.Request["startdate"];
string endTime = HttpContext.Current.Request["enddate"];
MES_SPC.QualityData.GetQualityData_orderNumber(startTime, endTime, 2, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
}

View File

@@ -0,0 +1,88 @@
<%@ WebHandler Language="C#" Class="QualityData_SubLineDataQuery" %>
using System;
using System.Web;
public class QualityData_SubLineDataQuery : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
//工位号查询查询
case "OpnameSelect":
responseText = OpnameSelect();
break;
//物料数据查询
case "dataMateralSelect":
responseText = dataMateralSelect();
break;
//查询物料条码批次
case "BarcodeBatchMaterialsSelect":
responseText = MaterialBatchSelect();
break;
}
context.Response.Write(responseText);
}
/// <summary>
///物料条码批次查询 2014-11-25
/// </summary>
/// <returns></returns>
private string MaterialBatchSelect()
{
System.Data.DataTable dt = null;
string dtStartTime = HttpContext.Current.Request["startdate"];
string dtEndTime = HttpContext.Current.Request["enddate"];
MES_SPC.QualityData_MaterialSelect.GetMaterial_SublineBarcodeBatchMaterials(dtStartTime, dtEndTime, out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
///工位查询
/// </summary>
/// <returns></returns>
private string OpnameSelect()
{
System.Data.DataTable dt = null;
MES_SPC.CraftMana_step.OpnameSelect(out dt);
string text = JsonHelper.DataTableToJson(dt);
return text;
}
/// <summary>
/// 分线物料数据查询
/// </summary>
/// <returns></returns>
private string dataMateralSelect()
{
System.Data.DataTable dt = null;
string startdate = HttpContext.Current.Request["startdate"];
string enddate = HttpContext.Current.Request["enddate"];
bool checkbox_opname = Convert.ToBoolean(HttpContext.Current.Request["checkbox_opname"]);
string opName = HttpContext.Current.Request["opName"];
bool checkbox_MaterialsBatchBarcode = Convert.ToBoolean(HttpContext.Current.Request["checkbox_BarcodeBatchMaterials"]);
string comboBox_MaterialsBatchBarcode = HttpContext.Current.Request["comboBox_BarcodeBatchMaterials"];
MES_SPC.QualityData_MaterialSelect.SubLineSelect_material(startdate, enddate,checkbox_opname,
opName, checkbox_MaterialsBatchBarcode, comboBox_MaterialsBatchBarcode,out dt);
string text = JsonHelper.CreateJsonParameters(dt, true, 0);//这句话是将json数据对象化并且返回数据总条数
return text;
}
public bool IsReusable {
get {
return false;
}
}
}

View File

@@ -0,0 +1,343 @@
<%@ WebHandler Language="C#" Class="QualityData_TrendPicture" %>
using System;
using System.Web;
using System.Data;
using MES_SPC;
public class QualityData_TrendPicture : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
case "BindMinutes":
responseText = BindMinutes();
break;
case "BindHour":
responseText = BindHour();
break;
case "BindMachineType":
responseText = BindMachineType();
break;
case "BindOPName":
responseText = BindOPName();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定测量内容
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
case "GetBaseTrendData":
responseText = GetBaseTrendData();
break;
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
case "OutPutData":
responseText = OutPutData();
break;
}
context.Response.Write(responseText);
}
public string OutPutData()
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = null;
string hour = HttpContext.Current.Request["Hour"];
string minutes = HttpContext.Current.Request["Minutes"];
startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
//string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPicture.png");
string path = "QualityData_TrendPicture.png";
if (dt != null)
{
if (dt.Rows.Count > 0)
{
// dt.TableName = "SPC分析排列图";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["序号"] = (i + 1).ToString("000000");
}
CommonFunction.OutPutDataAndPic(path, dt);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
}
}
return "";
}
public string GetDataTableByConditent()
{
DataTable dt = null;
DataTable dt1 = null;
int pageSize = Convert.ToInt32(HttpContext.Current.Request["page"]);//请求的当前页码
int pageList = Convert.ToInt32(HttpContext.Current.Request["rows"]);//请求一页显示的数据条数。
bool EnginIDCheck = false;
string EnginID = "";
//bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
//bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
bool shaftNameCheck = true;
string shaftName = HttpContext.Current.Request["shaftName"];
//bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
bool itemNameCheck = true;
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
string hour = HttpContext.Current.Request["Hour"];
string minutes = HttpContext.Current.Request["Minutes"];
//startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
//bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
bool EngineTypeIDCheck = true;
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID,
EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
dt1 = dt.Copy(); //复制dt
dt1.Rows.Clear();//清空内容只保留dt结构。
for (int i = (pageSize - 1) * pageList; i < pageSize * pageList; i++)//循环需要显示的行
{
if (i < dt.Rows.Count)
{
dt1.ImportRow(dt.Rows[i]);//这是加入的是第i行
}
}
string text = "";
if (dt1 != null && dt1.Rows.Count > 0)
{
text = JsonHelper.CreateJsonParameters(dt1, true, dt.Rows.Count);
}
return text;
}
/// <summary>
/// ///////////////////////////////////////////////
/// </summary>
double[] X;
public string GetBaseTrendData()
{
DataTable dt = null;
string result = "";
bool EnginIDCheck = false;
string EnginID = "";
//bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
//string endTime = null;
string hour = HttpContext.Current.Request["Hour"];
string minutes = HttpContext.Current.Request["Minutes"];
//startTime = startTime + " " + hour + ":" + minutes + ":" + "00";
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
//bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
bool EngineTypeIDCheck = true;
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
QualityData.SelectGoodDataReport_DataGroup_TrendPictureBasic(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID,
EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
result += dt.Rows[i]["测量值"];
if (i != dt.Rows.Count - 1)
{
result += ",";
}
}
}
return result;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定工位名称
public string BindOPName()
{
string text = "";
DataTable dt;
QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//绑定机型
public string BindMachineType()
{
string text = "";
DataTable dt;
CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定分钟
public string BindMinutes()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("分钟", typeof(string));
for (int i = 0; i < 60; i++)
{
DataRow dr = dt.NewRow();
dr["分钟"] = i.ToString("00");
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
//控件绑定小时
public string BindHour()
{
string text = "";
DataTable dt = new DataTable();
dt.Columns.Add("小时", typeof(string));
for (int i = 0; i < 24; i++)
{
DataRow dr = dt.NewRow();
dr["小时"] = i;
dt.Rows.Add(dr);
}
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
public string SaveImg()
{
//string path = "c:\\QualityData_TrendPictureBasic_01.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPicture.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path, System.Drawing.Imaging.ImageFormat.Png);
return "{\"result\":\"1\"}"; ;
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,409 @@
<%@ WebHandler Language="C#" Class="QualityData_TrendPictureBasic" %>
using System;
using System.Web;
using System.Data;
using System.Drawing;
using MES_SPC;
public class QualityData_TrendPictureBasic : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
//绑定机型
case "BindMachineType":
responseText = BindMachineType();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定工位名称
case "BindOpName":
responseText = BindOpName();
break;
//绑定测量内容
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
case "GetBaseTrendData":
responseText = GetBaseTrendData();
break;
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
case "GetMarkLineByConditent":
responseText = GetMarkLineByConditent();
break;
case "outputData":
responseText = OutData();
break;
}
context.Response.Write(responseText);
}
public string OutData()
{
System.Data.DataTable dt_trend_baobiao = null;
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool EnginIDCheck = false;
string EnginID = "";
QualityData.SelectGoodDataReport_TrendPictureBasic_baobiao(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeIDCheck,
EngineTypeID,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, out dt_trend_baobiao);
//string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPictureBasic_01.png");
string path = "QualityData_TrendPictureBasic_01.png";
if (dt_trend_baobiao != null)
{
if (dt_trend_baobiao.Rows.Count > 0)
{
CommonFunction.OutPutDataAndPic(path, dt_trend_baobiao);
}
}
return "";
}
public string GetBaseTrendData()
{
string result = "";
//bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
//bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
bool shaftNameCheck = false;
string shaftName = HttpContext.Current.Request["shaftName"];
//bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
bool itemNameCheck = true;
string itemName = HttpContext.Current.Request["itemName"] ;
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
DataTable dt = GetReport(OPNameCheck, OPName, shaftNameCheck, shaftName, itemNameCheck, itemName, startTime, endTime,EngineTypeIDCheck,EngineTypeID);
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
result += dt.Rows[i]["测量值"];
if (i != dt.Rows.Count - 1)
{
result += ",";
}
}
}
return result;
}
public string GetDataTableByConditent()
{
DataTable dt = null;
//bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
//bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
bool shaftNameCheck = false;
string shaftName = HttpContext.Current.Request["shaftName"];
//bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
bool itemNameCheck = true;
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
//bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
bool EngineTypeIDCheck = false;
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool EnginIDCheck = false;
//bool EnginIDCheck = true;
string EnginID = "";
int PageSize = Convert.ToInt32(HttpContext.Current.Request["rows"]);
int PageCurrent = Convert.ToInt32(HttpContext.Current.Request["page"]);
int PageCount = 0;
int ItemCount = 0;
QualityData.GetQualityDataEveryOpNameDataListTable_Trend(startTime, endTime,
EngineTypeIDCheck, EngineTypeID, EnginIDCheck, EnginID,
OPNameCheck, OPName,
shaftNameCheck, shaftName,
itemNameCheck, itemName, 0,
PageCurrent, PageSize, out PageCount, out ItemCount,
out dt);
if (dt != null && dt.Rows.Count > 0)
{
return JsonHelper.CreateJsonParameters(dt, true, ItemCount);
}
else
{
return "{\"result\":\"0\"}";
}
}
public string GetMarkLineByConditent()
{
DataTable dt = null;
//bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
bool OPNameCheck = true;
string OPName = HttpContext.Current.Request["OPName"];
//bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
bool shaftNameCheck = false;
string shaftName = HttpContext.Current.Request["shaftName"];
//bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
bool itemNameCheck = true;
string itemName = HttpContext.Current.Request["itemName"];
string startTime = HttpContext.Current.Request["startTime"];
string endTime = HttpContext.Current.Request["endTime"];
//bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
//bool EngineTypeIDCheck = false;
//string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
bool EnginIDCheck = false;
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];
string EnginID = "";
int PageSize = Convert.ToInt32(HttpContext.Current.Request["rows"]);
int PageCurrent = Convert.ToInt32(HttpContext.Current.Request["page"]);
int PageCount = 0;
int ItemCount = 0;
QualityData.GetQualityDataEveryOpNameDataListTable_Trend(startTime, endTime,
EngineTypeIDCheck, EngineTypeID, EnginIDCheck, EnginID,
OPNameCheck, OPName,
shaftNameCheck, shaftName,
itemNameCheck, itemName, 0,
PageCurrent, PageSize, out PageCount, out ItemCount,
out dt);
// bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
DataTable table = GetReport(OPNameCheck, OPName, shaftNameCheck, shaftName, itemNameCheck, itemName, startTime, endTime,EngineTypeIDCheck,EngineTypeID);
double Usl = 0;
double Lsl = 0;
try
{
Usl = Convert.ToDouble(HttpContext.Current.Request["Usl"]); // 上限值
Lsl = Convert.ToDouble(HttpContext.Current.Request["Lsl"]); // 下限值
}
catch
{
Usl = 0; // 上限值
Lsl = 0; // 下限值
}
//if (dt != null && dt.Rows.Count > 0)
//{
// try
// {
// Usl = Convert.ToDouble(dt.Rows[0]["上限值"]);
// Lsl = Convert.ToDouble(dt.Rows[0]["下限值"]);
// }
// catch
// {
// Usl = 0;
// Lsl = 0;
// }
//}
double x;
double s;
double QU;
double QL;
double cp;
double cpk;
double[] sx;
double[] sy;
double[] X;
if (table.Rows.Count < 3)
{
return "";
}
X = new double[table.Rows.Count];
for (int i = 0; i < table.Rows.Count; i++)
{
X[i] = Convert.ToDouble(table.Rows[i][0]);
}
double ValueUp = Max(X);
double ValueDown = Min(X);
//计算SPC参数
SpcCaculator.SpcValue(X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
//坐标轴
double ValueUpX;
double ValueDownX;
ValueDownX = Math.Min(ValueDown, Lsl);
ValueDownX = Math.Min(ValueDownX, QL);
ValueUpX = Math.Max(ValueUp, Usl);
ValueUpX = Math.Max(ValueUpX, QU);
double X1 = (ValueUpX - ValueDownX) / 10;
double minValue = Math.Round(ValueDownX - X1, 4);
double maxValue = Math.Round(ValueUpX + X1, 4);
string Yvalue =minValue.ToString()+",";
for (int i = 1; i < 5; i++)
{
Yvalue += (i * (double)(maxValue - minValue) / 5+minValue).ToString()+",";
}
Yvalue += maxValue.ToString();
string Text = Usl + "," + QU + "," + sx[5].ToString("F4") + "," + QL + "," + Lsl + "," + cpk + "," + cp + "|" + Yvalue;
return Text;
}
/// <summary>
/// 观测值最大值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Max(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] > temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 观测值最小值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Min(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] < temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 符合条件的全部数据
/// </summary>
/// <returns></returns>
private DataTable GetReport(bool OPNameCheck, string OPName, bool shaftNameCheck, string shaftName, bool itemNameCheck,string itemName, string startTime, string endTime,bool EngineTypeIDCheck,string EngineTypeID)
{
DataTable dt;
bool EnginIDCheck;
string EnginID;
EnginIDCheck = EngineTypeIDCheck;
EnginID = EngineTypeID;
QualityData.SelectGoodDataReport_TrendPictureBasic(EnginIDCheck, EnginID,
OPNameCheck, OPName,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, out dt);
return dt;
}
public string BindMachineType()
{
string text = "";
DataTable dt;
MES_SPC.CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定工位名称
/// </summary>
/// <returns></returns>
public string BindOpName()
{
string text = "";
System.Data.DataTable dt;
MES_SPC.QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
public string SaveImg()
{
// string path = "c:\\QualityData_TrendPictureBasic_01.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_TrendPictureBasic_01.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,","");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path);
// CommonFunction.ExcelTable(dt_trend_baobiao);
//
return "{\"result\":\"1\"}"; ;
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms,true);
return bmp;
}
public bool IsReusable {
get {
return false;
}
}
}

980
submit/QualityData_XR.ashx Normal file
View File

@@ -0,0 +1,980 @@
<%@ WebHandler Language="C#" Class="QualityData_XR" %>
using System;
using System.Web;
using System.Data;
using System.Text;
using ASPNet_Drawing;
using MES_SPC;
public class QualityData_XR : IHttpHandler
{
double[] X;
double[] R;
double[] X1;
double[] SUM;
double[] Xbar;
string UCL_X = "";
string LCL_X = "";
string CL_X = "";
string UCL_R = "";
string LCL_R = "";
string CL_R = "";
double usl = 0;
string USL = "";
double sl = 0;
string SL = "";
double lsl = 0;
string LSL = "";
string Cpk = "";
string CPL = "";
string CPU = "";
double YvalueMaxRk = 0;
double YvalueMinRk = 0;
double YvalueMaxXk = 0;
double YvalueMinXk = 0;
string YvalueXk = "";
string YvalueRk = "";
string XvalueZT = "";
string YvalueZT = "";
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
//绑定机型
case "BindMachineType":
responseText = BindMachineType();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定工位名称
case "BindOpName":
responseText = BindOpName();
break;
//绑定测量位置
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
// 页面表格显示
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
//页面数据图数据显示均值图&极差图&正态分布图
case "GetBaseTrendData":
responseText = GetBaseTrendData();
break;
//数据图分析线及X/Y轴显示
case "GetMarkLineByConditent":
responseText = GetMarkLineByConditent();
break;
//页面数据图显示极差图
//case "GetBaseTrendDataR":
// responseText = GetBaseTrendDataR();
// break;
////页面显示正态分布图
//case "GetBaseTrendDataZT":
// responseText = GetBaseTrendDataZT();
// break;
//页面数据显示排列图
case "GetChart":
responseText = GetChart();
break;
//下载图片
case "OutPutPic":
responseText = OutPutPic();
break;
}
context.Response.Write(responseText);
}
///// <summary>
///// 正态分布图
///// </summary>
///// <returns></returns>
//public string GetBaseTrendDataZT()
//{
// DataTable dt = null;
// //System.Text.StringBuilder result = new System.Text.StringBuilder();
// string result = "";
// bool EnginIDCheck = false;
// string EnginID = "";
// bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
// string OPName = HttpContext.Current.Request["OPName"];
// bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
// string shaftName = HttpContext.Current.Request["shaftName"];
// bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
// string itemName = HttpContext.Current.Request["itemName"];
// string startTime = HttpContext.Current.Request["startTime"];
// string endTime = null;
// string EngineTypeID = HttpContext.Current.Request["EngineTypeID"]; ;
// bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
// int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);
// int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);
// QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
// OPNameCheck, OPName,
// EngineTypeID,
// EngineTypeIDCheck,
// shaftNameCheck, shaftName,
// itemNameCheck, itemName,
// startTime, endTime, n, k, out dt);
// if (dt != null && dt.Rows.Count > 2)
// {
// X = new double[dt.Rows.Count];
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
// }
// double Usl;
// double Lsl;
// SpcCaculator.GetUslLsl(dt, out Usl, out Lsl);
// double x;
// double s;
// double QU;
// double QL;
// double cp;
// double cpk;
// double[] sx;
// double[] sy;
// double ValueUp = Max(X);
// double ValueDown = Min(X);
// //计算SPC参数
// SpcCaculator.SpcValue(X, ref Usl, ref Lsl, out x, out s, out QU, out QL, out cp, out cpk, out sx, out sy);
// //坐标轴
// double ValueUpX = Convert.ToDouble(Max(sx).ToString("F4"));
// double ValueDownX = Convert.ToDouble(Min(sx).ToString("F4"));
// double ValueUpY = Convert.ToDouble(Max(sy).ToString("F4"));
// ValueDownX = Math.Min(ValueDownX, Lsl);
// ValueDownX = Math.Min(ValueDownX, QL);
// ValueUpX = Math.Max(ValueUpX, Usl);
// ValueUpX = Math.Max(ValueUpX, QU);
// double X1 = (ValueUpX - ValueDownX) / 10;
// double minValue = Math.Round(ValueDownX - X1, 4);
// double maxValue = Math.Round(ValueUpX + X1, 4);
// double[] value = new double[dt.Rows.Count];
// for (int i = 0; i < sy.Length; i++)
// {
// result += sy[i].ToString("0.00000000000000");
// if (i != sy.Length - 1)
// {
// result += ",";
// }
// }
// result += "|";
// result += Usl + "," + QU + "," + sx[5].ToString("F4") + "," + QL + "," + Lsl + "," + cp + "," + cpk + "|";
// for (int i = 0; i < 6; i++)
// {
// result += i * (double)Math.Round(ValueUpY + ValueUpY / 10, 4) / 5;
// if (i != 5)
// {
// result += ",";
// }
// }
// double XmaxValue = 0;
// if (QL > XmaxValue)
// {
// XmaxValue = QL;
// }
// if (Usl > XmaxValue)
// {
// XmaxValue = Usl;
// }
// if (QU > XmaxValue)
// {
// XmaxValue = QU;
// }
// if (Lsl > XmaxValue)
// {
// XmaxValue = Lsl;
// }
// if (Convert.ToDouble(sx[5].ToString("F4")) > XmaxValue)
// {
// XmaxValue = Convert.ToDouble(sx[5].ToString("F4"));
// }
// result += "|";
// for (int i = 0; i <= 12; i++)
// {
// result += i * (double)XmaxValue / 11;
// if (i != 12)
// {
// result += ",";
// }
// }
// //添加显示对应标线在X轴的实际位置
// result += "|";
// result += (double)Usl * 11 / XmaxValue + "," + (double)QU * 11 / XmaxValue + "," + (double)(Convert.ToDouble(sx[5].ToString("F4"))) * 11 / XmaxValue + "," + (double)QL * 11 / XmaxValue + "," + (double)Lsl * 11 / XmaxValue;
// }
// return result;
//}
/// <summary>
/// 排列直方图
/// </summary>
/// <returns></returns>
public string GetChart()
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
int len = dt.Rows.Count;
double[] str = new double[len];
try
{
for (int i = 0; i < len; i++)
{
str[i] = Convert.ToDouble(dt.Rows[i]["测量值"]);
}
double minV = Min(str);
double maxV = Max(str);
double Dv = (maxV - minV) / n;
Dv = RoundInterval(Dv);
minV = Math.Floor(minV / Dv) * Dv;
maxV = Math.Ceiling(maxV / Dv) * Dv;
string textY1 = "";
string textY2 = "";
double acv = 0.0;
object average;
double bottom = minV;
StringBuilder textadd = new StringBuilder();
for (bottom = minV; bottom < maxV; bottom += Dv)
{
int number = 0;
double top = bottom + Dv;
foreach (double p in str)
{
if (top >= maxV)
{
if (p >= bottom && p <= top)
++number;
}
else
{
if (p >= bottom && p < top)
++number;
}
}
acv += Convert.ToDouble(number);
average = ((acv / (n * k)) * 100).ToString("0.00");
textY1 += number;
textY2 += average;
if (top < maxV)
{
textY1 += ",";
textY2 += ",";
}
}
textadd.Append(textY1);
textadd.Append("|");
textadd.Append(textY2);
return Convert.ToString(textadd);
}
catch (Exception)
{
return "";
}
}
/// <summary>
/// 观测值最大值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Max(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] > temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 观测值最小值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Min(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] < temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// Helper method which rounds specified axsi interval.
/// </summary>
/// <param name="interval">Calculated axis interval.</param>
/// <returns>Rounded axis interval.</returns>
public double RoundInterval(double interval)
{
// If the interval is zero return error
if (interval == 0.0)
{
throw (new ArgumentOutOfRangeException("interval", "Interval can not be zero."));
}
// If the real interval is > 1.0
double step = -1;
double tempValue = interval;
while (tempValue > 1.0)
{
step++;
tempValue = tempValue / 10.0;
if (step > 1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
// If the real interval is < 1.0
tempValue = interval;
if (tempValue < 1.0)
{
step = 0;
}
while (tempValue < 1.0)
{
step--;
tempValue = tempValue * 10.0;
if (step < -1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
double tempDiff = interval / Math.Pow(10.0, step);
if (tempDiff < 3.0)
{
tempDiff = 2.0;
}
else if (tempDiff < 7.0)
{
tempDiff = 5.0;
}
else
{
tempDiff = 10.0;
}
// Make a correction of the real interval
return tempDiff * Math.Pow(10.0, step);
}
///<summary>
///数据图上分析线&X/Y轴
///</summary>
///<returns></returns>
public string GetMarkLineByConditent()
{
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
MES_SPC.QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
if (dt.Rows.Count == n * k)
{
X = new double[n * k];
for (int i = 0; i < n * k; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
//绘图数据
double ValueUp = Max(X);
double ValueDown = Min(X);
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
//坐标轴
double ValueUpX = Convert.ToDouble(Max(Spc_Data_Cpk.NormalDistributionX).ToString("F2"));
double ValueDownX = Convert.ToDouble(Min(Spc_Data_Cpk.NormalDistributionX).ToString("F2"));
double ValueUpY = Convert.ToDouble(Max(Spc_Data_Cpk.NormalDistributionY).ToString("F2"));
double X1 = (ValueUpX - ValueDownX) / 10;
double AxisXMinimum = Math.Round(ValueDownX - X1, 2);
double AxisXMaximum = Math.Round(ValueUpX + X1, 2);
double AxisYMinimum = 0;
double AxisYMaximum = Math.Round(ValueUpY + ValueUpY / 10, 2);
//int len =Convert.ToInt32(Spc_Data_Cpk.NormalDistributionX);
double[] XValue = new double[Spc_Data_Cpk.NormalDistributionX.Length];
double[] YValue = new double[Spc_Data_Cpk.NormalDistributionX.Length];
XvalueZT = AxisXMinimum + ",";
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
//正态分布图X轴坐标
XValue[i] = Math.Round(Spc_Data_Cpk.NormalDistributionX[i], 2);
XvalueZT += XValue[i] + ",";
}
XvalueZT += AxisXMaximum;
//YvalueZT = AxisYMinimum + ",";
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
//正态分布图Y轴坐标
YValue[i] = Math.Round(Spc_Data_Cpk.NormalDistributionY[i], 2);
YvalueZT += YValue[i] + ",";
}
YvalueZT += AxisYMaximum;
//计算XR控制图的数据
double T = (AxisXMaximum - AxisXMinimum) * 2;
CSpc_Data_XR Spc_Data_XR = Spc_Data.XR(X, n);
sl = Spc_Data_XR.CL_X;
SL = (sl * 10 / T).ToString("0.00");
usl = Spc_Data_XR.UCL_X;
USL = (usl * 10 / T).ToString("0.00");
lsl = Spc_Data_XR.LCL_X;
LSL = (lsl * 10 / T).ToString("0.00");
Cpk = Spc_Data_Cpk.Cpk.ToString("F2");
CPL = Spc_Data_Cpk.CPL.ToString("F2");
CPU = Spc_Data_Cpk.CPU.ToString("F2");
UCL_X = Spc_Data_XR.UCL_X.ToString("F2");
CL_X = Spc_Data_XR.CL_X.ToString("F2");
LCL_X = Spc_Data_XR.LCL_X.ToString("F2");
UCL_R = Spc_Data_XR.UCL_R.ToString("F2");
CL_R = Spc_Data_XR.CL_R.ToString("F2");
LCL_R = Spc_Data_XR.LCL_R.ToString("F2");
//均值图Y轴范围
double gapAxis_X = Spc_Data_XR.UCL_X - Spc_Data_XR.LCL_X;
//均值的最大值
double maxXk = Max(Spc_Data_XR.CL_Xk);
//均值的最小值
double minXk = Min(Spc_Data_XR.CL_Xk);
if (maxXk > Spc_Data_XR.UCL_X)
{
YvalueMaxXk = Convert.ToDouble((maxXk + gapAxis_X / 8).ToString("F2"));
}
else
{
YvalueMaxXk = Convert.ToDouble((Spc_Data_XR.UCL_X + gapAxis_X / 8).ToString("F2"));
}
if (minXk < Spc_Data_XR.LCL_X)
{
YvalueMinXk = Convert.ToDouble((minXk - gapAxis_X / 8).ToString("F2"));
}
else
{
YvalueMinXk = Convert.ToDouble((Spc_Data_XR.LCL_X - gapAxis_X / 8).ToString("F2"));
}
YvalueXk += YvalueMinXk + ",";
for (int i = 1; i < 5; i++)
{
YvalueXk += (i * (double)(YvalueMaxXk - YvalueMinXk) / 5 + YvalueMinXk).ToString() + ",";
}
YvalueXk += YvalueMaxXk;
//极差图Y轴范围
double gapAxis_R = Spc_Data_XR.UCL_R - Spc_Data_XR.LCL_R;
//极差最大值
double maxRk = Max(Spc_Data_XR.CL_Rk);
//极差最小值
double minRk = Min(Spc_Data_XR.CL_Rk);
if (maxRk > Spc_Data_XR.UCL_R)
{
YvalueMaxRk = Convert.ToDouble((maxRk + gapAxis_R / 8).ToString("F2"));
}
else
{
YvalueMaxRk = Convert.ToDouble((Spc_Data_XR.UCL_R + gapAxis_R / 8).ToString("F2"));
}
if (minRk < Spc_Data_XR.LCL_R)
{
YvalueMinRk = Convert.ToDouble((minRk - gapAxis_R / 8).ToString("F2"));
}
else
{
YvalueMinRk = Convert.ToDouble((Spc_Data_XR.LCL_R - gapAxis_R / 8).ToString("F2"));
}
YvalueRk += YvalueMinRk + ",";
for (int i = 1; i < 5; i++)
{
YvalueRk += (i * (double)(YvalueMaxRk - YvalueMinRk) / 5 + YvalueMinRk).ToString() + ",";
}
YvalueRk += YvalueMaxRk;
}
}
return UCL_X + "," + CL_X + "," + LCL_X + "," + UCL_R + "," + CL_R + "," + LCL_R + "," + usl + "," + sl + "," + lsl + "," + Cpk + "," + CPL + "," + CPU + "|" + YvalueXk + "|" + YvalueRk + "|" + YvalueZT + "|" + XvalueZT + "|" + USL + "," + SL + "," + LSL;
}
///<summary>
///GetReport
///</summary>
///<returns></returns>
private DataTable GetReport(bool OPNameCheck, string OPName, bool shaftNameCheck, string shaftName, bool itemNameCheck, string itemName, string startTime, string endTime)
{
DataTable dt;
bool EnginIDCheck;
string EnginID;
EnginIDCheck = false;
EnginID = "";
QualityData.SelectGoodDataReport_TrendPictureBasic(EnginIDCheck, EnginID,
OPNameCheck, OPName,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, out dt);
return dt;
}
///<summary>
///页面数据图数据显示均值图&极差图
///</summary>
///<returns></returns>
public string GetBaseTrendData()
{
string result = "";
string result1 = "";
string result3 = "";
string text = "";
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
X1 = new double[n * k];
R = new double[n * k];
if (dt.Rows.Count == n * k)
{
X = new double[n * k];
for (int i = 0; i < n * k; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
double ValueUp = Max(X);
double ValueDown = Min(X);
//绘图数据--正态分布图
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
double[] Y = new double[Spc_Data_Cpk.NormalDistributionX.Length];
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
Y[i] = Math.Round(Spc_Data_Cpk.NormalDistributionY[i], 2);
result3 += Y[i] + ",";
}
//计算XR控制图的数据
CSpc_Data_XR Spc_Data_XR = Spc_Data.XR(X, n);
for (int i = 0; i < Spc_Data_XR.CL_Xk.Length; i++)
{
//X
X1[i] = Spc_Data_XR.CL_Xk[i];
result += X1[i] + ",";
//R
R[i] = Spc_Data_XR.CL_Rk[i];
result1 += R[i] + ",";
}
text = result + "|" + result1 + "|" + result3;
}
return text;
}
///<summary>
///页面表格显示
///</summary>
///<returns></returns>
public string GetDataTableByConditent()
{
string text = "";//数据
string text5 = "";//和
string text1 = "";//平均值
string text2 = "";//极差
string text3 = "";//USL CPK数据
string text4 = "";//组号
string usl = "";
string lsl = "";
string cpl = "";
string cpk = "";
string cpu = "";
string pp = "";//计算无偏过程性能指数Pp
string ppl = "";
string ppu = "";
string ppk = "";
string cr = "";
string pr = "";
string cp = "";
string xx = "";
string rx = "";
int m = 0;
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
int len = dt.Rows.Count;
SUM = new double[k];
if (dt != null && dt.Rows.Count > 0)
{
len = dt.Rows.Count;
double[] str = new double[len];
for (int i = 0; i < len; i++)
{
str[i] = Convert.ToDouble(dt.Rows[i]["测量值"]);
}
text4 = "<table table style=\"width:1520px;table-layout:fixed;\"><tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:1px 1px 1px 1px; padding:10px 0px; \">组号</td>";
for (int i = 1; i <= k; i++)
{
text4 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:1px 1px 1px 0px; padding:10px 0px;\">" + i + "</td>";
}
text = "<tr>";
for (int i = 0, t = 1; i < n; i++, t++)
{
text += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px;\">" + t + "</td>";
for (m = 0; m < k; m++)
{
text += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px;\">";
text += str[m * n + i] + "</td>";
}
text += "</tr>";
}
}
X1 = new double[len];
R = new double[len];
X = new double[len];
for (int i = 0; i < len; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
Xbar = new double[X.Length / n];
SUM = new double[X.Length / n];
float a = 0;
float b = 0;
for (int j = 0; j < X.Length / n; j++)
{
SUM[j] = 0.0;
Xbar[j] = 0.0;
for (int i = 0; i < n; i++)
{
if (i == 0)
{
a = (float)X[j * n + i];
b = (float)X[j * n + i];
}
if (i != 0)
{
if (a > (float)X[j * n + i])
{
a = a;
}
else
{
a = (float)X[j * n + i];
}
if (b < (float)X[j * n + i])
{
b = b;
}
else
{
b = (float)X[j * n + i];
}
}
SUM[j] = X[j * n + i] + SUM[j];
Xbar[j] = SUM[j] / n;
}
}
text5 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px;\">求和</td>";
for (int i = 0; i < X.Length / n; i++)
{
text5 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px;\">" + SUM[i] + "</td>";
}
text5 += "</tr>";
//计算XR控制图的数据
double ValueUp = Max(X);
double ValueDown = Min(X);
//绘图数据
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
CSpc_Data_XR Spc_Data_XR = Spc_Data.XR(X, n);
usl = Spc_Data_XR.UCL_X.ToString("0.000");
lsl = Spc_Data_XR.LCL_X.ToString("0.000");
cpk = Spc_Data_Cpk.Cpk.ToString("0.000");
cpl = Spc_Data_Cpk.CPL.ToString("0.000");
cpu = Spc_Data_Cpk.CPU.ToString("0.000");
cp = ASPNet_Drawing.Table.SPC_Table_Data.CalcCp(n, X, Spc_Data_XR.LCL_X, Spc_Data_XR.UCL_X).ToString("0.000");
pp = ASPNet_Drawing.Table.SPC_Table_Data.CalcPp(n, X, Spc_Data_XR.LCL_X, Spc_Data_XR.UCL_X).ToString("0.000");
ppu = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpu(X, n, Spc_Data_XR.UCL_X).ToString("0.000");
ppl = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpl(X, n, Spc_Data_XR.LCL_X).ToString("0.000");
ppk = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpk(ASPNet_Drawing.Table.SPC_Table_Data.CalcPpu(X, n, Spc_Data_XR.UCL_X), ASPNet_Drawing.Table.SPC_Table_Data.CalcPpl(X, n, Spc_Data_XR.LCL_X)).ToString("0.000");
xx = ASPNet_Drawing.Table.SPC_Table_Data.CalcXbarbar(X, n).ToString("0.000");
rx = ASPNet_Drawing.Table.SPC_Table_Data.CalcRbar(X, n).ToString("0.000");
pr = (1 / ASPNet_Drawing.Table.SPC_Table_Data.CalcPp(n, X, Spc_Data_XR.LCL_X, Spc_Data_XR.UCL_X)).ToString("0.000");
cr = (1 / ASPNet_Drawing.Table.SPC_Table_Data.CalcCp(n, X, Spc_Data_XR.LCL_X, Spc_Data_XR.UCL_X)).ToString("0.000");
text1 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px;\">X</td>";
text2 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px;\">R</td>";
for (int i = 0; i < Spc_Data_XR.CL_Xk.Length; i++)
{
//X
text1 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px;\">";
X1[i] = Spc_Data_XR.CL_Xk[i];
text1 += X1[i].ToString("0.00") + "</td>";
//R
text2 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px;\">";
R[i] = Spc_Data_XR.CL_Rk[i];
text2 += R[i].ToString("0.00") + "</td>";
}
text1 += "</tr>";
text2 += "</tr>";
text3 = "<tr>"
// + "<td colspan=\"6\" style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:10px 0px; \">USL=" + usl + "</td>"
// + "<td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;;text-align:center; padding:10px 0px; \">LSL=" + lsl + "</td><td colspan=\"3\">异常情况分析:</td></tr>"
// + "<tr><td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:10px 0px; \">X平均值=" + xx + "</td>"
// + "<td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >R的平均值=" + rx + "</td><td colspan=\"3\">(1)出现超出控制限的点</td></tr>"
//+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPL=" + cpl + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Cp=" + cp + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPK=" + cpk + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPU=" + cpu + "</td><td colspan=\"3\">(2)连续七个点全在控制限之上或之下</td></tr>"
//+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Pp=" + pp + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppu=" + ppu + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppl=" + ppl + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppk=" + ppk + "</td><td colspan=\"3\">(3)任何其他明显非随机的图形</td></tr>"
//+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Cr=" + cr + "</td>"
//+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Pr=" + pr + "</td>"
+ "<td colspan=\"5\" style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:0px 0px; border:1px solid red;\">X平均值=" + xx + "</td>"
+ "<td colspan=\"5\" style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:0px 0px; border:1px solid red;\">Cp=" + cp + "</td>"
+"</tr>";
return text4 + text + text5 + text1 + text2 + text3 + "</table>";
}
/// <summary>
/// 绑定机型
/// </summary>
/// <returns></returns>
public string BindMachineType()
{
string text = "";
DataTable dt;
MES_SPC.CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定工位名称
/// </summary>
/// <returns></returns>
public string BindOpName()
{
string text = "";
System.Data.DataTable dt;
MES_SPC.QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 保存为图片
/// </summary>
/// <returns></returns>
public string SaveImg()
{
//string path = "c:\\QualityData_XR.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_XR.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path);
return "{\"result\":\"1\"}";
}
public string OutPutPic()
{
CommonFunction.ExcelTable_QualityData_tupian("QualityData_XR.png", "QualityData_XR");
return "";
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
}

852
submit/QualityData_XS.ashx Normal file
View File

@@ -0,0 +1,852 @@
<%@ WebHandler Language="C#" Class="QualityData_XS" %>
using System;
using System.Web;
using System.Data;
using System.Text;
using ASPNet_Drawing;
using System.Drawing;
using System.Web.UI.DataVisualization.Charting;
using MES_SPC;
public class QualityData_XS : IHttpHandler
{
double[] X;
double[] S;
double[] X1;
double[] SUM;
double[] Xbar;
string UCL_X = "";
string LCL_X = "";
string CL_X = "";
string UCL_S = "";
string LCL_S = "";
string CL_S = "";
double usl = 0;
string USL = "";
double sl = 0;
string SL = "";
double lsl = 0;
string LSL = "";
string Cpk = "";
string CPL = "";
string CPU = "";
double YvalueMaxRk = 0;
double YvalueMinRk = 0;
double YvalueMaxXk = 0;
double YvalueMinXk = 0;
string YvalueXk = "";
string YvalueRk = "";
string XvalueZT = "";
string YvalueZT = "";
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string type = HttpContext.Current.Request["type"];
string responseText = "";
switch (type)
{
case "SaveImg":
responseText = SaveImg();
break;
//绑定机型
case "BindMachineType":
responseText = BindMachineType();
break;
//绑定测量内容
case "BindMeasurePartContent":
responseText = BindMeasurePartContent();
break;
//绑定工位名称
case "BindOpName":
responseText = BindOpName();
break;
//绑定测量位置
case "BindMeasurePart":
responseText = BindMeasurePart();
break;
// 页面表格显示
case "GetDataTableByConditent":
responseText = GetDataTableByConditent();
break;
//均值图数据&标准差图&正态分布图
case "GetBaseTrendData":
responseText = GetBaseTrendData();
break;
//数据图分析线及X/Y轴
case "GetMarkLineByConditent":
responseText = GetMarkLineByConditent();
break;
//排列直方图
case "GetChart":
responseText = GetChart();
break;
//下载图片
case "OutPutPic":
responseText = OutPutPic();
break;
}
context.Response.Write(responseText);
}
/// <summary>
/// 排列直方图
/// </summary>
/// <returns></returns>
public string GetChart()
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
int len = dt.Rows.Count;
double[] str = new double[len];
for (int i = 0; i < len; i++)
{
str[i] = Convert.ToDouble(dt.Rows[i]["测量值"]);
}
double minV = Min(str);
double maxV = Max(str);
double Dv = (maxV - minV) / n;
Dv = RoundInterval(Dv);
minV = Math.Floor(minV / Dv) * Dv;
maxV = Math.Ceiling(maxV / Dv) * Dv;
string textY1 = "";
string textY2 = "";
double acv = 0.0;
object average;
double bottom = minV;
StringBuilder textadd = new StringBuilder();
for (bottom = minV; bottom < maxV; bottom += Dv)
{
int number = 0;
double top = bottom + Dv;
foreach (double p in str)
{
if (top >= maxV)
{
if (p >= bottom && p <= top)
++number;
}
else
{
if (p >= bottom && p < top)
++number;
}
}
acv += Convert.ToDouble(number);
average = ((acv / (n * k)) * 100).ToString("0.00");
textY1 += number;
textY2 += average;
if (top < maxV)
{
textY1 += ",";
textY2 += ",";
}
}
textadd.Append(textY1);
textadd.Append("|");
textadd.Append(textY2);
return Convert.ToString(textadd);
}
/// <summary>
/// 观测值最大值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Max(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] > temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// 观测值最小值
/// </summary>
/// <param name="Xn">子组观测值</param>
/// <returns></returns>
static private double Min(double[] Xn)
{
double temp;
temp = Xn[0];
for (int i = 0; i < Xn.Length; i++)
{
temp = (Xn[i] < temp) ? Xn[i] : temp;
}
return temp;
}
/// <summary>
/// Helper method which rounds specified axsi interval.
/// </summary>
/// <param name="interval">Calculated axis interval.</param>
/// <returns>Rounded axis interval.</returns>
public double RoundInterval(double interval)
{
// If the interval is zero return error
if (interval == 0.0)
{
throw (new ArgumentOutOfRangeException("interval", "Interval can not be zero."));
}
// If the real interval is > 1.0
double step = -1;
double tempValue = interval;
while (tempValue > 1.0)
{
step++;
tempValue = tempValue / 10.0;
if (step > 1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
// If the real interval is < 1.0
tempValue = interval;
if (tempValue < 1.0)
{
step = 0;
}
while (tempValue < 1.0)
{
step--;
tempValue = tempValue * 10.0;
if (step < -1000)
{
throw (new InvalidOperationException("Auto interval error due to invalid point values or axis minimum/maximum."));
}
}
double tempDiff = interval / Math.Pow(10.0, step);
if (tempDiff < 3.0)
{
tempDiff = 2.0;
}
else if (tempDiff < 7.0)
{
tempDiff = 5.0;
}
else
{
tempDiff = 10.0;
}
// Make a correction of the real interval
return tempDiff * Math.Pow(10.0, step);
}
/// <summary>
/// 数据图分析线及X/Y轴
/// </summary>
/// <returns></returns>
public string GetMarkLineByConditent()
{
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
try
{
if (dt.Rows.Count == n * k)
{
X = new double[n * k];
for (int i = 0; i < n * k; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
//绘图数据
double ValueUp = Max(X);
double ValueDown = Min(X);
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
//坐标轴
double ValueUpX = Convert.ToDouble(Max(Spc_Data_Cpk.NormalDistributionX).ToString("F2"));
double ValueDownX = Convert.ToDouble(Min(Spc_Data_Cpk.NormalDistributionX).ToString("F2"));
double ValueUpY = Convert.ToDouble(Max(Spc_Data_Cpk.NormalDistributionY).ToString("F2"));
double X1 = (ValueUpX - ValueDownX) / 10;
double AxisXMinimum = Math.Round(ValueDownX - X1, 2);
double AxisXMaximum = Math.Round(ValueUpX + X1, 2);
double AxisYMinimum = 0;
double AxisYMaximum = Math.Round(ValueUpY + ValueUpY / 10, 2);
//int len =Convert.ToInt32(Spc_Data_Cpk.NormalDistributionX);
double[] XValue = new double[Spc_Data_Cpk.NormalDistributionX.Length];
double[] YValue = new double[Spc_Data_Cpk.NormalDistributionX.Length];
XvalueZT = AxisXMinimum + ",";
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
//正态分布图X轴坐标
XValue[i] = Math.Round(Spc_Data_Cpk.NormalDistributionX[i],2);
XvalueZT += XValue[i]+",";
}
XvalueZT += AxisXMaximum;
//YvalueZT = AxisYMinimum + ",";
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
//正态分布图Y轴坐标
YValue[i]=Math.Round(Spc_Data_Cpk.NormalDistributionY[i],2);
YvalueZT += YValue[i] + ",";
}
YvalueZT += AxisYMaximum;
//计算XR控制图的数据
double T = (AxisXMaximum - AxisXMinimum)*2;
CSpc_Data_XR Spc_Data_XR = Spc_Data.XR(X, n);
sl= Spc_Data_XR.CL_X;
SL=(sl * 10 / T).ToString("0.00");
usl=Spc_Data_XR.UCL_X;
USL = (usl * 10 / T).ToString("0.00");
lsl=Spc_Data_XR.LCL_X;
LSL=(lsl * 10 / T).ToString("0.00");
Cpk=Spc_Data_Cpk.Cpk.ToString("F2");
CPL= Spc_Data_Cpk.CPL.ToString("F2");
CPU= Spc_Data_Cpk.CPU.ToString("F2");
//计算XS控制图的数据
CSpc_Data_XS Spc_Data_XS = Spc_Data.XS(X, n);
UCL_X = Spc_Data_XS.UCL_X.ToString("F2");
CL_X = Spc_Data_XS.CL_X.ToString("F2");
LCL_X = Spc_Data_XS.LCL_X.ToString("F2");
UCL_S = Spc_Data_XS.UCL_S.ToString("F2");
CL_S = Spc_Data_XS.CL_S.ToString("F2");
LCL_S = Spc_Data_XS.LCL_S.ToString("F2");
//均值图Y轴范围
double gapAxis_X = Spc_Data_XS.UCL_X - Spc_Data_XS.LCL_X;
//均值的最大值
double maxXk = Max(Spc_Data_XS.CL_Xk);
//均值的最小值
double minXk = Min(Spc_Data_XS.CL_Xk);
if (maxXk > Spc_Data_XS.UCL_X)
{
YvalueMaxXk = Convert.ToDouble((maxXk + gapAxis_X / 8).ToString("F2"));
}
else
{
YvalueMaxXk = Convert.ToDouble((Spc_Data_XS.UCL_X + gapAxis_X / 8).ToString("F2"));
}
if (minXk < Spc_Data_XS.LCL_X)
{
YvalueMinXk = Convert.ToDouble((minXk - gapAxis_X / 8).ToString("F2"));
}
else
{
YvalueMinXk = Convert.ToDouble((Spc_Data_XS.LCL_X - gapAxis_X / 8).ToString("F2"));
}
YvalueXk += YvalueMinXk + ",";
for (int i = 1; i < 5; i++)
{
YvalueXk += (i * (double)(YvalueMaxXk - YvalueMinXk) / 5 + YvalueMinXk).ToString() + ",";
}
YvalueXk += YvalueMaxXk;
//标准差图Y轴范围
double gapAxis_R = Spc_Data_XS.UCL_S - Spc_Data_XS.LCL_S;
//标准差最大值
double maxRk = Max(Spc_Data_XS.CL_Sk);
//标准差最小值
double minRk = Min(Spc_Data_XS.CL_Sk);
if (maxRk > Spc_Data_XS.UCL_S)
{
YvalueMaxRk = Convert.ToDouble((maxRk + gapAxis_R / 8).ToString("F2"));
}
else
{
YvalueMaxRk = Convert.ToDouble((Spc_Data_XS.UCL_S + gapAxis_R / 8).ToString("F2"));
}
if (minRk < Spc_Data_XS.LCL_S)
{
YvalueMinRk = Convert.ToDouble((minRk - gapAxis_R / 8).ToString("F2"));
}
else
{
YvalueMinRk = Convert.ToDouble((Spc_Data_XS.LCL_S - gapAxis_R / 8).ToString("F2"));
}
YvalueRk += YvalueMinRk + ",";
for (int i = 1; i < 5; i++)
{
YvalueRk += (i * (double)(YvalueMaxRk - YvalueMinRk) / 5 + YvalueMinRk).ToString() + ",";
}
YvalueRk += YvalueMaxRk;
}
}
catch (Exception)
{
throw;
}
return UCL_X + "," + CL_X + "," + LCL_X + "," + UCL_S + "," + CL_S + "," + LCL_S + ","+ usl + ","+ sl +","+ lsl +","+ Cpk +","+ CPL +","+ CPU +"|" + YvalueXk + "|" + YvalueRk+"|"+ YvalueZT + "|"+ XvalueZT +"|"+ USL +","+ SL +","+ LSL;
}
/// <summary>
/// 页面表格数据填充
/// </summary>
/// <returns></returns>
public string GetDataTableByConditent()
{
string text = "";//数据
string text1 = "";//平均值
string text2 = "";//标准差
string text3 = "";
string text4 = "";
string text5 = "";
string usl = "";
string lsl = "";
string cpl = "";
string cpk = "";
string cpu = "";
string pp = "";//计算无偏过程性能指数Pp
string ppl = "";
string ppu = "";
string ppk = "";
string cr = "";
string pr = "";
string cp = "";
string xx = "";
string sx = "";
int m = 0;
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
int len = dt.Rows.Count;
if (dt != null && dt.Rows.Count > 0)
{
double[] str = new double[len];
for (int i = 0; i < len; i++)
{
str[i] = Convert.ToDouble(dt.Rows[i]["测量值"]);
}
text4 = "<table style=\"width:1520px;table-layout:fixed;\"><tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:1px 1px 1px 1px; padding:10px 0px; \">组号</td>";
for (int i=1;i<=k;i++)
{
text4 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:1px 1px 1px 0px; padding:10px 0px;\">" + i + "</td>";
}
text = "<tr>";
for (int i=0,t=1;i<n;i++,t++)
{
text +="<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px;\">" +t + "</td>";
for (m = 0; m < k; m++)
{
text += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px; \">";
text += str[m * n + i] + "</td>";
}
text += "</tr>";
}
}
X1 = new double[len];
S = new double[len];
X = new double[len];
for (int i = 0; i < len; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
Xbar = new double[X.Length / n];
SUM = new double[X.Length / n];
float a = 0;
float b = 0;
for (int j = 0; j < X.Length / n; j++)
{
SUM[j] = 0.0;
Xbar[j] = 0.0;
for (int i = 0; i < n; i++)
{
if (i == 0)
{
a = (float)X[j * n + i];
b = (float)X[j * n + i];
}
if (i != 0)
{
if (a > (float)X[j * n + i])
{
a = a;
}
else
{
a = (float)X[j * n + i];
}
if (b < (float)X[j * n + i])
{
b = b;
}
else
{
b = (float)X[j * n + i];
}
}
SUM[j] = X[j * n + i] + SUM[j];
Xbar[j] = SUM[j] / n;
}
}
text5 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px; \">求和</td>";
for (int i=0;i<X.Length / n;i++)
{
text5 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px; \">" + SUM[i] + "</td>";
}
text5 += "</tr>";
double ValueUp = Max(X);
double ValueDown = Min(X);
//绘图数据
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
//计算XS控制图的数据
CSpc_Data_XS Spc_Data_XS = Spc_Data.XS(X, n);
usl = Spc_Data_XS.UCL_X.ToString("0.000");
lsl = Spc_Data_XS.LCL_X.ToString("0.000");
cpk=Spc_Data_Cpk.Cpk.ToString("0.000");
cpl=Spc_Data_Cpk.CPL.ToString("0.000");
cpu=Spc_Data_Cpk.CPU.ToString("0.000");
cp = ASPNet_Drawing.Table.SPC_Table_Data.CalcCp(n, X, Spc_Data_XS.LCL_X, Spc_Data_XS.UCL_X).ToString("0.000");
pp =ASPNet_Drawing.Table.SPC_Table_Data.CalcPp( n, X, Spc_Data_XS.LCL_X, Spc_Data_XS.UCL_X).ToString("0.000");
ppu = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpu(X,n,Spc_Data_XS.UCL_X).ToString("0.000");
ppl = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpl(X, n, Spc_Data_XS.LCL_X).ToString("0.000");
ppk = ASPNet_Drawing.Table.SPC_Table_Data.CalcPpk(ASPNet_Drawing.Table.SPC_Table_Data.CalcPpu(X,n,Spc_Data_XS.UCL_X),ASPNet_Drawing.Table.SPC_Table_Data.CalcPpl(X, n, Spc_Data_XS.LCL_X)).ToString("0.000");
xx = ASPNet_Drawing.Table.SPC_Table_Data.CalcXbarbar( X, n).ToString("0.000");
sx = ASPNet_Drawing.Table.SPC_Table_Data.CalcSbar( X, n).ToString("0.000");
pr = (1 / ASPNet_Drawing.Table.SPC_Table_Data.CalcPp( n, X, Spc_Data_XS.LCL_X, Spc_Data_XS.UCL_X)).ToString("0.000");
cr = (1 / ASPNet_Drawing.Table.SPC_Table_Data.CalcCp(n, X, Spc_Data_XS.LCL_X, Spc_Data_XS.UCL_X)).ToString("0.000");
text1 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px; \">X</td>";
text2 = "<tr><td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 1px; padding:10px 0px; \">S</td>";
for (int i = 0; i < Spc_Data_XS.CL_Xk.Length; i++)
{
//X
text1 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px; \">";
X1[i] = Spc_Data_XS.CL_Xk[i];
text1 += X1[i].ToString("0.00") + "</td>";
//S
text2 += "<td style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;border: solid #ff0000;text-align:center;border-width:0px 1px 1px 0px; padding:10px 0px; \">";
S[i] = Spc_Data_XS.CL_Sk[i];
text2 += S[i].ToString("0.00") + "</td>";
}
text1 += "</tr>";
text2 += "</tr>";
text3 = "<tr><td colspan=\"6\" style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:10px 0px; \">USL=" + usl + "</td>"
+ "<td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;;text-align:center; padding:10px 0px; \">LSL=" + lsl + "</td><td colspan=\"3\">异常情况分析:</td></tr>"
+ "<tr><td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis; ;text-align:center;padding:10px 0px; \">X平均值=" + xx + "</td>"
+ "<td colspan=\"6\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >S的平均值=" + sx + "</td><td colspan=\"3\">(1)出现超出控制限的点</td></tr>"
+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPL=" + cpl + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Cp=" + cp + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPK=" + cpk + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >CPU=" + cpu + "</td><td colspan=\"3\">(2)连续七个点全在控制限之上或之下</td></tr>"
+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Pp=" + pp + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppu=" + ppu + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppl=" + ppl + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Ppk=" + ppk + "</td><td colspan=\"3\">(3)任何其他明显非随机的图形</td></tr>"
+ "<tr><td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Cr=" + cr + "</td>"
+ "<td colspan=\"3\"style=\"white-space:nowrap;overflow:hidden;word-break:keep-all;text-overflow:ellipsis;text-align:center; padding:10px 0px; \" >Pr=" + pr + "</td></tr>";
return text4+text+text5+text1+text2+text3+"</table>";
}
/// <summary>
/// 页面数据图数据均值图&标准差图
/// </summary>
/// <returns></returns>
public string GetBaseTrendData()
{
string result = "";
string text = "";
string result1 = "";
string result3 = "";
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
X1 = new double[n * k];
S = new double[n * k];
if (dt.Rows.Count == n * k)
{
X = new double[n * k];
for (int i = 0; i < n * k; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
double ValueUp = Max(X);
double ValueDown = Min(X);
//绘图数据--正态分布图
CSpc_Data_Cpk Spc_Data_Cpk = Spc_Data.Cpk(X, n, ValueUp, ValueDown);
double[] Y = new double[Spc_Data_Cpk.NormalDistributionX.Length];
for (int i = 0; i < Spc_Data_Cpk.NormalDistributionX.Length; i++)
{
Y[i]= Math.Round(Spc_Data_Cpk.NormalDistributionY[i], 2);
result3 += Y[i] + ",";
}
//计算XR控制图的数据
CSpc_Data_XS Spc_Data_XS = Spc_Data.XS(X, n);
for (int i = 0; i < Spc_Data_XS.CL_Xk.Length; i++)
{
//X
X1[i] = Spc_Data_XS.CL_Xk[i];
result += X1[i] + ",";
//S
S[i] = Spc_Data_XS.CL_Sk[i];
result1 += S[i] + ",";
}
text = result + "|" + result1+"|" + result3;
}
return text;
}
/// <summary>
/// 页面数据图数据标准差图
/// </summary>
/// <returns></returns>
public string GetBaseTrendDataS()
{
string result = "";
DataTable dt = null;
bool EnginIDCheck = false;
string EnginID = "";
string startTime = HttpContext.Current.Request["startTime"];//开始时间
string endTime = HttpContext.Current.Request["endTime"];//结束时间
bool EngineTypeIDCheck = Convert.ToBoolean(HttpContext.Current.Request["EngineTypeIDCheck"]);
string EngineTypeID = HttpContext.Current.Request["EngineTypeID"];//机型
bool OPNameCheck = Convert.ToBoolean(HttpContext.Current.Request["OPNameCheck"]);
string OPName = HttpContext.Current.Request["OPName"];//工位号
bool shaftNameCheck = Convert.ToBoolean(HttpContext.Current.Request["shaftNameCheck"]);
string shaftName = HttpContext.Current.Request["shaftName"];//测量位置
bool itemNameCheck = Convert.ToBoolean(HttpContext.Current.Request["itemNameCheck"]);
string itemName = HttpContext.Current.Request["itemName"];//测量项目
int n = Convert.ToInt32(HttpContext.Current.Request["Yangben"]);//样本容量
int k = Convert.ToInt32(HttpContext.Current.Request["Num"]);//样本个数
QualityData.SelectGoodDataReport_DataGroup(EnginIDCheck, EnginID,
OPNameCheck, OPName,
EngineTypeID, EngineTypeIDCheck,
shaftNameCheck, shaftName,
itemNameCheck, itemName,
startTime, endTime, n, k, out dt);
//X1 = new double[n * k];
S = new double[n * k];
if (dt.Rows.Count == n * k)
{
X = new double[n * k];
for (int i = 0; i < n * k; i++)
{
X[i] = Convert.ToDouble(dt.Rows[i]["测量值"].ToString());
}
//计算XS控制图的数据
ASPNet_Drawing.CSpc_Data_XS Spc_Data_XS = ASPNet_Drawing.Spc_Data.XS(X, n);
for (int i = 0; i < Spc_Data_XS.CL_Xk.Length; i++)
{
//S
S[i] = Spc_Data_XS.CL_Sk[i];
result += S[i] + ",";
}
}
return result;
}
/// <summary>
/// 绑定机型
/// </summary>
/// <returns></returns>
public string BindMachineType()
{
string text = "";
DataTable dt;
MES_SPC.CraftMana_step.enginetypeSelect(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定工位名称
/// </summary>
/// <returns></returns>
public string BindOpName()
{
string text = "";
System.Data.DataTable dt;
MES_SPC.QualityData.GetOpName(out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量名称
/// </summary>
/// <returns></returns>
public string BindMeasurePart()
{
string text = "";
DataTable dt;
string opName;
opName = HttpContext.Current.Request["opName"];
QualityData.GetShaftName(opName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 绑定测量内容
/// </summary>
/// <returns></returns>
public string BindMeasurePartContent()
{
string text = "";
string opName;
string shaftName;
opName = HttpContext.Current.Request["opName"];
shaftName = HttpContext.Current.Request["shaftName"];
DataTable dt;
QualityData.GetItemName(opName, shaftName, out dt);
if (dt != null && dt.Rows.Count > 0)
{
text = JsonHelper.DataTableToJson(dt);
}
return text;
}
/// <summary>
/// 保存为图片
/// </summary>
/// <returns></returns>
public string SaveImg()
{
//string path = "c:\\QualityData_XR.png";
string path = HttpContext.Current.Server.MapPath("~/Chart_excel/QualityData_XS.png");
string byteStr = HttpContext.Current.Request["ImageDate"].Replace("data:image/png;base64,", "");
System.Drawing.Image returnImage = Base64StringToImage(byteStr);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
returnImage.Save(path);
return "{\"result\":\"1\"}";
}
public string OutPutPic()
{
CommonFunction.ExcelTable_QualityData_tupian("QualityData_XS.png","QualityData_XS");
return "";
}
private System.Drawing.Image Base64StringToImage(string txt)
{
byte[] arr = Convert.FromBase64String(txt);
System.IO.MemoryStream ms = new System.IO.MemoryStream(arr);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);
return bmp;
}
public bool IsReusable
{
get
{
return false;
}
}
}

0
submit/_system~.ini Normal file
View File

View File

52
submit/downloadFile.ashx Normal file
View File

@@ -0,0 +1,52 @@
<%@ WebHandler Language="C#" Class="DownloadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
public class DownloadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string id = HttpContext.Current.Request["id"];
filePath = filePath + "/" + id;
string name = HttpContext.Current.Request["name"];
try
{
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
return;
}
catch (Exception ex)
{
return;
}
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,52 @@
<%@ WebHandler Language="C#" Class="DownloadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
public class DownloadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string id = HttpContext.Current.Request["id"];
filePath = filePath + "/" + id;
string name = HttpContext.Current.Request["name"];
try
{
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.ContentType = getContentType(extension);
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
return;
}
catch (Exception ex)
{
return;
}
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,164 @@
<%@ WebHandler Language="C#" Class="excel" %>
using System;
using System.Web;
using SystemFramework;
using WriteExcel;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using DataLinkMesWork;
public class excel : IHttpHandler {
HttpContext contextMesWebFun;
public void ProcessRequest (HttpContext context) {
string ss;
DataLinkMesWork.DataLink.InitSystem(out ss);
//if (!InitSystemReg(out resultReg))
//{
// return resultReg;
//}
contextMesWebFun = context; ;
context.Response.ContentType = "text/plain";
string type = contextMesWebFun.Request["type"];
string responseText = "";
byte[] bytes=null;
switch (type)
{
//扫描信息
case "Excel_NewArrivalList":
bytes= Excel_NewArrivalList();
HttpContext.Current.Response.ContentType = "application/ms-excel";
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "filename="+ HttpUtility.UrlEncode("OutsourcingMaterialsSearch.xls", System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
}
}
/// <summary>
/// 外购模板
/// </summary>
/// <returns></returns>
public byte[] Excel_NewArrivalList()
{
string value = null;
byte[] bytes=null;
try
{
System.Data.DataTable dt = null;
string folename = HttpContext.Current.Request["folename"];
string rec1 = HttpContext.Current.Request["rec1"];
string rec2 = HttpContext.Current.Request["rec2"];
string rec3 = HttpContext.Current.Request["rec3"];
string rec4 = HttpContext.Current.Request["rec4"];
List<string> str = new List<string>();
str.Add(rec1);
str.Add(rec2);
str.Add(rec3);
str.Add(rec4);
Hashtable ht=null;
pushHtDt1(str,out ht);
string sql = HttpContext.Current.Request["sql"];
Excel_NewArrivalList_SQL( out dt);
WriteExcel. Form1 frm = new Form1();
bytes = frm.demo1(folename, ht, dt);
}
catch (Exception err)
{
}
return bytes;
}
// 将固定参数传入哈希表
private void pushHtDt1(List<string> str ,out Hashtable htDt1)
{
htDt1 = new Hashtable();
for (int i = 0; i < str.Count; i++)
{
htDt1.Add(i, str[i].ToString());
}
}
static public void Excel_NewArrivalList_SQL(out DataTable dt)
{
ParamData[] paramData = new ParamData[1];
paramData[0].name = "到货单流水号";
paramData[0].value = "39";
string procedureName = "备料管理_到货单明细查询";
SqlParameter[] thisParms = new SqlParameter[1];
thisParms[0] = new System.Data.SqlClient.SqlParameter("@到货单流水号", "39");
SqlCmd.ExecuteStoredProcedure(procedureName, ref paramData, out dt);
}
//public static bool ExecuteStoredProcedure(string procedureName, ref SqlParameter[] sqlParameters, out DataTable dt)
//{
// string errorMessage;
// DataSet ds;
// ExecuteStoredProcedure(procedureName, "server=192.168.1.140;database=ERPTOOL_GJ;uid=sa;pwd=126.com;Connection Reset=FALSE;Max Pool Size = 1000", ref sqlParameters,out ds, out errorMessage);
// try
// {
// dt = ds.Tables[0];
// return true;
// }
// catch
// {
// dt = null;
// return false;
// }
//}
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, ref SqlParameter[] sqlParameters, out DataSet ds, out string errorMessage)
//{
// bool result = false;
// errorMessage = "";
// ds = new DataSet();
// using (SqlConnection conn = new SqlConnection(connectionString))
// {
// try
// {
// conn.Open();
// using (SqlDataAdapter dsCommand = new SqlDataAdapter())
// {
// dsCommand.SelectCommand = new SqlCommand(procedureName, conn);
// dsCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
// for (int i = 0; i < sqlParameters.Length; i++)
// {
// dsCommand.SelectCommand.Parameters.Add(sqlParameters[i]);
// }
// dsCommand.Fill(ds);
// }
// result = true;
// }
// catch (Exception e)
// {
// errorMessage = e.ToString();
// //TestConnection();
// ApplicationLog.WriteLog(e, "\r\nExecuteStoredProcedure\r\n存储过程\r\n" + procedureName + "\r\n连接字符串\r\n" + connectionString);
// }
// finally
// {
// if (conn.State == ConnectionState.Open)
// conn.Close();
// }
// }
// return result;
//}
public bool IsReusable {
get {
return false;
}
}
}

164
submit/excel.ashx.exclude Normal file
View File

@@ -0,0 +1,164 @@
<%@ WebHandler Language="C#" Class="excel" %>
using System;
using System.Web;
using SystemFramework;
using WriteExcel;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using DataLinkMesWork;
public class excel : IHttpHandler {
HttpContext contextMesWebFun;
public void ProcessRequest (HttpContext context) {
string ss;
DataLinkMesWork.DataLink.InitSystem(out ss);
//if (!InitSystemReg(out resultReg))
//{
// return resultReg;
//}
contextMesWebFun = context; ;
context.Response.ContentType = "text/plain";
string type = contextMesWebFun.Request["type"];
string responseText = "";
byte[] bytes=null;
switch (type)
{
//扫描信息
case "Excel_NewArrivalList":
bytes= Excel_NewArrivalList();
HttpContext.Current.Response.ContentType = "application/ms-excel";
//通知浏览器下载文件而不是打开
HttpContext.Current.Response.AddHeader("Content-Disposition", "filename="+ HttpUtility.UrlEncode("OutsourcingMaterialsSearch.xls", System.Text.Encoding.UTF8));
HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
break;
}
}
/// <summary>
/// 外购模板
/// </summary>
/// <returns></returns>
public byte[] Excel_NewArrivalList()
{
string value = null;
byte[] bytes=null;
try
{
System.Data.DataTable dt = null;
string folename = HttpContext.Current.Request["folename"];
string rec1 = HttpContext.Current.Request["rec1"];
string rec2 = HttpContext.Current.Request["rec2"];
string rec3 = HttpContext.Current.Request["rec3"];
string rec4 = HttpContext.Current.Request["rec4"];
List<string> str = new List<string>();
str.Add(rec1);
str.Add(rec2);
str.Add(rec3);
str.Add(rec4);
Hashtable ht=null;
pushHtDt1(str,out ht);
string sql = HttpContext.Current.Request["sql"];
Excel_NewArrivalList_SQL( out dt);
WriteExcel. Form1 frm = new Form1();
bytes = frm.demo1(folename, ht, dt);
}
catch (Exception err)
{
}
return bytes;
}
// 将固定参数传入哈希表
private void pushHtDt1(List<string> str ,out Hashtable htDt1)
{
htDt1 = new Hashtable();
for (int i = 0; i < str.Count; i++)
{
htDt1.Add(i, str[i].ToString());
}
}
static public void Excel_NewArrivalList_SQL(out DataTable dt)
{
ParamData[] paramData = new ParamData[1];
paramData[0].name = "到货单流水号";
paramData[0].value = "39";
string procedureName = "备料管理_到货单明细查询";
SqlParameter[] thisParms = new SqlParameter[1];
thisParms[0] = new System.Data.SqlClient.SqlParameter("@到货单流水号", "39");
SqlCmd.ExecuteStoredProcedure(procedureName, ref paramData, out dt);
}
//public static bool ExecuteStoredProcedure(string procedureName, ref SqlParameter[] sqlParameters, out DataTable dt)
//{
// string errorMessage;
// DataSet ds;
// ExecuteStoredProcedure(procedureName, "server=192.168.1.140;database=ERPTOOL_GJ;uid=sa;pwd=126.com;Connection Reset=FALSE;Max Pool Size = 1000", ref sqlParameters,out ds, out errorMessage);
// try
// {
// dt = ds.Tables[0];
// return true;
// }
// catch
// {
// dt = null;
// return false;
// }
//}
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, ref SqlParameter[] sqlParameters, out DataSet ds, out string errorMessage)
//{
// bool result = false;
// errorMessage = "";
// ds = new DataSet();
// using (SqlConnection conn = new SqlConnection(connectionString))
// {
// try
// {
// conn.Open();
// using (SqlDataAdapter dsCommand = new SqlDataAdapter())
// {
// dsCommand.SelectCommand = new SqlCommand(procedureName, conn);
// dsCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
// for (int i = 0; i < sqlParameters.Length; i++)
// {
// dsCommand.SelectCommand.Parameters.Add(sqlParameters[i]);
// }
// dsCommand.Fill(ds);
// }
// result = true;
// }
// catch (Exception e)
// {
// errorMessage = e.ToString();
// //TestConnection();
// ApplicationLog.WriteLog(e, "\r\nExecuteStoredProcedure\r\n存储过程\r\n" + procedureName + "\r\n连接字符串\r\n" + connectionString);
// }
// finally
// {
// if (conn.State == ConnectionState.Open)
// conn.Close();
// }
// }
// return result;
//}
public bool IsReusable {
get {
return false;
}
}
}

View File

@@ -0,0 +1,322 @@
<%@ WebHandler Language="C#" Class="MESCommonBase" %>
using System;
using System.Web;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;
using System.Data;
using BizDataAccess;
using System.Data.SqlClient;
using DbCallData;
using BasicData;
public class MESCommonBase : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
var data = context.Request;
var stream = new StreamReader(data.InputStream).ReadToEnd();
var dataobj = new JavaScriptSerializer().Deserialize<jsonobj>(stream);
string responseText = "NULL";
try
{
responseText = DbCallData.DbCom.DbCall(dataobj);
context.Response.Write(responseText);
}
catch
{
context.Response.Write(responseText);
}
}
//有参数 没有返回值
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, ref SqlParameter[] sqlParameters, out string errorMessage)
//有参数 有返回值
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, ref SqlParameter[] sqlParameters, out DataSet ds, out string errorMessage)
//无参数 有返回值
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, out DataTable dt, out string errorMessage)
//public static bool ExecuteStoredProcedure(string procedureName, string connectionString, out DataSet ds, out string errorMessage)
/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
//private string ExePROCEDURE(jsonobj json)
//{
// string result = "";
// DataSet ds = null;
// try
// {
// if (json.HasReturn)//执行有返回值的存储过程
// {
// if (json.Param == "" || json.Param == null)//执行没有参数的存储过程
// {
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, out ds, out result);
// }
// else//执行有参数的存储过程
// {
// string[] parmas;
// SqlParameter[] thisParms;
// try
// {
// parmas = json.Param.Split('|');
// thisParms = new SqlParameter[parmas.Length];
// for (int i = 0; i < parmas.Length; i++)
// {
// string[] pp = parmas[i].Split('&');
// object inputValue=null;
// if(pp.Length==3)
// {
// switch (pp[2])
// {
// case "Int":
// inputValue = Convert.ToInt32( pp[1]);
// break;
// case "String":
// inputValue = pp[2];
// break;
// case "Boolean":
// inputValue = Convert.ToBoolean( pp[1]);
// break;
// case "DateTime":
// inputValue = Convert.ToDateTime( pp[1]);
// break;
// default:
// inputValue = pp[1];
// break;
// }
// thisParms[i] = new SqlParameter(pp[0], inputValue);
// }
// else if(pp.Length==2)
// {
// thisParms[i] = new SqlParameter(pp[0], pp[1]);
// }
// }
// }
// catch (Exception)
// {
// return result = "参数有误,请检查参数的格式是否正确";
// }
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, ref thisParms, out ds, out result);
// }
// }
// else//执行没有返回值的存储过程
// {
// if (json.Param == "" || json.Param == null)//执行没有参数的存储过程
// {
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, out ds, out result);
// }
// else//执行有参数的存储过程
// {
// string[] parmas;
// SqlParameter[] thisParms;
// try
// {
// parmas = json.Param.Split('|');
// thisParms = new SqlParameter[parmas.Length];
// for (int i = 0; i < parmas.Length; i++)
// {
// string[] pp = parmas[i].Split('&');
// thisParms[i] = new SqlParameter(pp[0], pp[1]);
// }
// }catch (Exception)
// {
// return result = "参数有误,请检查参数的格式是否正确";
// }
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, ref thisParms, out result);
// }
// }
// if (ds != null && ds.Tables.Count > 0)
// {
// result = JsonHelper.DataTableToJson(ds.Tables[0]);
// }
// }
// catch (Exception ex)
// {
// result = ex.Message;
// }
// return result;
//}
/// <summary>
/// 执行存储过程 无返回值
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
//private string ExePROCEDURE2(jsonobj json)
//{
// string result = "";
// DataSet ds = null;
// try
// {
// if (json.HasReturn)//执行有返回值的存储过程
// {
// if (json.Param == "" || json.Param == null)//执行没有参数的存储过程
// {
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, out ds, out result);
// }
// else//执行有参数的存储过程
// {
// string[] parmas;
// SqlParameter[] thisParms;
// try
// {
// parmas = json.Param.Split('|');
// thisParms = new SqlParameter[parmas.Length];
// for (int i = 0; i < parmas.Length; i++)
// {
// string[] pp = parmas[i].Split('&');
// object inputValue=null;
// if(pp.Length==3)
// {
// switch (pp[2])
// {
// case "Int":
// inputValue = Convert.ToInt32( pp[1]);
// break;
// case "String":
// inputValue = pp[2];
// break;
// case "Boolean":
// inputValue = Convert.ToBoolean( pp[1]);
// break;
// case "DateTime":
// inputValue = Convert.ToDateTime( pp[1]);
// break;
// default:
// inputValue = pp[1];
// break;
// }
// thisParms[i] = new SqlParameter(pp[0], inputValue);
// }
// else if(pp.Length==2)
// {
// thisParms[i] = new SqlParameter(pp[0], pp[1]);
// }
// }
// }
// catch (Exception)
// {
// return result = "参数有误,请检查参数的格式是否正确";
// }
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, ref thisParms, out ds, out result);
// }
// }
// else//执行没有返回值的存储过程
// {
// if (json.Param == "" || json.Param == null)//执行没有参数的存储过程
// {
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, out ds, out result);
// }
// else//执行有参数的存储过程
// {
// string[] parmas;
// SqlParameter[] thisParms;
// try
// {
// parmas = json.Param.Split('|');
// thisParms = new SqlParameter[parmas.Length];
// for (int i = 0; i < parmas.Length; i++)
// {
// string[] pp = parmas[i].Split('&');
// thisParms[i] = new SqlParameter(pp[0], pp[1]);
// }
// }catch (Exception)
// {
// return result = "参数有误,请检查参数的格式是否正确";
// }
// SQLCommon.ExecuteStoredProcedure(json.Name, connectionString, ref thisParms, out result);
// }
// }
// if (ds != null && ds.Tables.Count > 0)
// {
// result = JsonHelper.DataTableToJson(ds.Tables[0]);
// }
// }
// catch (Exception ex)
// {
// result = ex.Message;
// }
// return result;
//}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
//private string ExeSQL(jsonobj obj)
//{
// string result = "";
// try
// {
// if (obj.HasReturn)//执行有返回值的sql
// {
// if (obj.Param == "")//执行没有参数的存储过程
// {
// //SQLCommon.ExecuteDataset();
// }
// else//执行有参数的存储过程
// {
// }
// }
// else//执行没有返回值的sql
// {
// if (obj.Param == "")//执行没有参数的存储过程
// {
// //SQLCommon.ExecuteStoredProcedure(obj.Name, connectionString, out ds, out result);
// }
// else//执行有参数的存储过程
// {
// }
// }
// }
// catch (Exception ex)
// {
// result = ex.Message;
// }
// return result;
//}
//[Serializable]
//class jsonobj
//{
// public string Type;
// public string Name;
// public string Param;
// public bool HasReturn;
//}
}

0
submit/new/_system~.ini Normal file
View File

122
submit/upload2.ashx Normal file
View File

@@ -0,0 +1,122 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/img";
filePath = HttpContext.Current.Server.MapPath(filePath);
string InvoiceNum = HttpContext.Current.Request["InvoiceNum"];
string result = "";
if(InvoiceNum == "null" || InvoiceNum == "" || InvoiceNum == "undefined")
{
result = "[{ \"result\":\"0\"}]";
context.Response.Write(result);
}
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into 发货管理_附件 values(" + InvoiceNum + ",'" + uid + '.' + suffix + "','" + '1' + "')";
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 1);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

127
submit/upload3.ashx Normal file
View File

@@ -0,0 +1,127 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/img";
filePath = HttpContext.Current.Server.MapPath(filePath);
string ProjectId = HttpContext.Current.Request["ProjectId"];
string result = "";
if(ProjectId == "null" || ProjectId == "" || ProjectId == "undefined")
{
result = "[{ \"result\":\"0\"}]";
context.Response.Write(result);
}
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into 合同信息管理_履约保证金_履约保函 values(" + ProjectId + ",'" + uid + '.' + suffix + "','" + '1' + "')";
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 2);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

117
submit/uploadFile.ashx Normal file
View File

@@ -0,0 +1,117 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string ProjectNum = HttpContext.Current.Request["ProjectNum"];
string result = "";
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into 合同管理_文件路径 values(" + ProjectNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 3);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,119 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using DataLinkMesWork;
using System.Data.SqlClient;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string MachineNum = HttpContext.Current.Request["MachineNum"];
string result = "";
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql = "insert into PDM_机床总图_文件列表 values(" + MachineNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 4);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,165 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;
using DataLinkMesWork;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string invoiceNum = HttpContext.Current.Request["invoiceNum"];
string money = HttpContext.Current.Request["money"];
string supplierValue = HttpContext.Current.Request["supplierValue"];
string paid = HttpContext.Current.Request["paid"];
string unpaid = HttpContext.Current.Request["unpaid"];
string tax = HttpContext.Current.Request["tax"];
string isCost = HttpContext.Current.Request["isCost"];
string remark = HttpContext.Current.Request["remark"];
int applyOrderNum = 0; // 发票结算申请单流水号
string result = "";
bool isOK1;
bool isOK2;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string procedureName = "采购管理_发票结算申请单_增加数据";
string errorMessage;
SqlParameter[] thisParms = new SqlParameter[9];
thisParms[0] = new SqlParameter("@发票结算申请单流水号", applyOrderNum);
thisParms[1] = new SqlParameter("@发票号", invoiceNum);
thisParms[2] = new SqlParameter("@发票金额", money);
thisParms[3] = new SqlParameter("@供应商流水号", supplierValue);
thisParms[4] = new SqlParameter("@已付款项", paid);
thisParms[5] = new SqlParameter("@尚欠金额", unpaid);
thisParms[6] = new SqlParameter("@税额", tax);
thisParms[7] = new SqlParameter("@是否费用类", isCost);
thisParms[8] = new SqlParameter("@备注", remark);
thisParms[0].Direction = ParameterDirection.Output;
isOK1 = DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
applyOrderNum = Convert.ToInt32(thisParms[0].Value);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK1)
{
string sql2 = "insert into 采购管理_采购发票_附件 values(" + applyOrderNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK2 = DataLinkMesWork.DataLink.ExecuteNonQuery(sql2);
if (isOK2)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName1 = "_文件存储_高精_增加";
string errorMessage1;
SqlParameter []thisParms1 = new SqlParameter[5];
thisParms1[0] = new SqlParameter("@业务代码", 5);
thisParms1[1] = new SqlParameter("@文件标识", uid);
thisParms1[2] = new SqlParameter("@文件名称", Name);
thisParms1[3] = new SqlParameter("@文件后缀", suffix);
thisParms1[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName1, ref thisParms1, out errorMessage1);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
isOK1 = DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
applyOrderNum = Convert.ToInt32(thisParms[0].Value);
if (isOK1)
{
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName1, ref thisParms1, out errorMessage1);
string sql2 = "insert into 采购管理_采购发票_附件 values(" + applyOrderNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK2 = DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql2);
}
else
{
//result = "[{ \"result\":\"0\"}]";
}
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -0,0 +1,183 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;
using DataLinkMesWork;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string invoiceNum = HttpContext.Current.Request["invoiceNum"];
string money = HttpContext.Current.Request["money"];
string supplierValue = HttpContext.Current.Request["supplierValue"];
string paid = HttpContext.Current.Request["paid"];
string unpaid = HttpContext.Current.Request["unpaid"];
string tax = HttpContext.Current.Request["tax"];
string isCost = HttpContext.Current.Request["isCost"];
string remark = HttpContext.Current.Request["remark"];
int applyOrderNum = 0; // 发票结算申请单流水号
string result = "";
bool isOK1;
bool isOK2;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string procedureName = "车间采购管理_发票结算申请单_增加数据";
string errorMessage;
SqlParameter[] thisParms = new SqlParameter[9];
thisParms[0] = new SqlParameter("@发票结算申请单流水号", applyOrderNum);
thisParms[1] = new SqlParameter("@发票号", invoiceNum);
thisParms[2] = new SqlParameter("@发票金额", money);
thisParms[3] = new SqlParameter("@供应商流水号", supplierValue);
thisParms[4] = new SqlParameter("@已付款项", paid);
thisParms[5] = new SqlParameter("@尚欠金额", unpaid);
thisParms[6] = new SqlParameter("@税额", tax);
thisParms[7] = new SqlParameter("@是否费用类", isCost);
thisParms[8] = new SqlParameter("@备注", remark);
thisParms[0].Direction = ParameterDirection.Output;
isOK1 = SQLCommon.ExecuteStoredProcedure(procedureName, connectionString, ref thisParms, out errorMessage);
applyOrderNum = Convert.ToInt32(thisParms[0].Value);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK1)
{
string sql2 = "insert into 车间采购管理_采购发票_附件 values(" + applyOrderNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK2 = SQLCommon.ExecuteNonQuery(sql2, connectionString, out result);
if (isOK2)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName1 = "_文件存储_高精_增加";
string errorMessage1;
SqlParameter []thisParms1 = new SqlParameter[5];
thisParms1[0] = new SqlParameter("@业务代码", 6);
thisParms1[1] = new SqlParameter("@文件标识", uid);
thisParms1[2] = new SqlParameter("@文件名称", Name);
thisParms1[3] = new SqlParameter("@文件后缀", suffix);
thisParms1[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName1, ref thisParms1, out errorMessage1);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
isOK1 = DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
applyOrderNum = Convert.ToInt32(thisParms[0].Value);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName1, ref thisParms1, out errorMessage1);
if (isOK1)
{
string sql2 = "insert into 车间采购管理_采购发票_附件 values(" + applyOrderNum + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK2 = DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql2);
if (isOK2)
{
//filePath = filePath + "/" + uid + "." + suffix;
//hpFile.SaveAs(filePath);
//result = "[{ \"result\":\"1\"}]";
}
else
{
//result = "[{ \"result\":\"0\"}]";
}
}
else
{
//result = "[{ \"result\":\"0\"}]";
}
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

112
submit/uploadOP.ashx Normal file
View File

@@ -0,0 +1,112 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;
using DataLinkMesWork;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string Num = HttpContext.Current.Request["num"];
string result = "";
bool isOK1;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
HttpPostedFile hpFile = files[0];
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql2 = "insert into 设备管理_设备监控_图片 values('" + Num + "','" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK1 = SQLCommon.ExecuteNonQuery(sql2, connectionString, out result);
if (isOK1)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 7);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql2);
}
}
catch
{
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

148
submit/uploadPDA.ashx Normal file
View File

@@ -0,0 +1,148 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;
using DataLinkMesWork;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string number = HttpContext.Current.Request["number"];
string number1 = HttpContext.Current.Request["number1"];
string reasonsForNonconformity = HttpContext.Current.Request["reasonsForNonconformity"];
string disqualificationTreatment = HttpContext.Current.Request["disqualificationTreatment"];
string remark = HttpContext.Current.Request["remark"];
string num = HttpContext.Current.Request["num"];
string type = HttpContext.Current.Request["type"];
int qualifiedNum = 2; // 发票结算申请单流水号
string result = "";
bool isOK;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
if (files.Count > 0)
{
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile hpFile = files[0];
if (hpFile.ContentLength > 0)
{
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string procedureName = "车间生产管理_质检管理_不合格处理";
string errorMessage;
SqlParameter[] thisParms = new SqlParameter[12];
thisParms[0] = new SqlParameter("@零部件流水号", num);
thisParms[1] = new SqlParameter("@质检类型代码", type);
thisParms[2] = new SqlParameter("@数量", number);
thisParms[3] = new SqlParameter("@不合格数量", number1);
thisParms[4] = new SqlParameter("@是否合格", qualifiedNum);
thisParms[5] = new SqlParameter("@不合格原因", reasonsForNonconformity);
thisParms[6] = new SqlParameter("@不合格处理", disqualificationTreatment);
thisParms[7] = new SqlParameter("@备注", remark);
thisParms[8] = new SqlParameter("@文件标识", uid);
thisParms[9] = new SqlParameter("@文件名称", Name);
thisParms[10] = new SqlParameter("@文件后缀", suffix);
thisParms[11] = new SqlParameter("@是否启用", 1);
isOK = DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
try
{
if (isOK)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName1 = "_文件存储_高精_增加";
string errorMessage1;
SqlParameter []thisParms1 = new SqlParameter[5];
thisParms1[0] = new SqlParameter("@业务代码", 8);
thisParms1[1] = new SqlParameter("@文件标识", uid);
thisParms1[2] = new SqlParameter("@文件名称", Name);
thisParms1[3] = new SqlParameter("@文件后缀", suffix);
thisParms1[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName1, ref thisParms1, out errorMessage1);
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName1, ref thisParms1, out errorMessage1);
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
}
}
catch
{
}
}
catch
{
}
}
else
{
context.Response.Write(result);
}
}
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

119
submit/uploadPerson.ashx Normal file
View File

@@ -0,0 +1,119 @@
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;
using DataLinkMesWork;
public class UploadHandler : IHttpHandler
{
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string filePath = "../webpage/file";
filePath = HttpContext.Current.Server.MapPath(filePath);
string Num = HttpContext.Current.Request["num"];
string result = "";
bool isOK1;
try
{
Guid guid = Guid.NewGuid();
string uid = guid.ToString().Replace("-", "").ToUpper();
HttpFileCollection files = context.Request.Files;
HttpPostedFile hpFile = files[0];
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
string suffix = fileName.Split(new Char[] { '.' })[1];
string Name = fileName.Split(new Char[] { '.' })[0];
string sql2 = "insert into 人员管理_图片 values(" + Num + ",'" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
isOK1 = DataLinkMesWork.DataLink.ExecuteNonQuery(sql2);
try
{
//--业务代码 1
//-- 1 发货管理_附件
//-- 2 合同信息管理_履约保证金_履约保函
//-- 3 合同管理_文件路径
//-- 4 PDM_机床总图_文件列表
//-- 5 采购管理_采购发票_附件
//-- 6 车间采购管理_发票结算申请单
//-- 7 设备管理_设备监控_图片
//-- 8 车间生产管理_质检管理
//-- 9 人员管理_图片
//--10 tableName
if (isOK1)
{
filePath = filePath + "/" + uid + "." + suffix;
hpFile.SaveAs(filePath);
result = "[{ \"result\":\"1\"}]";
}
else
{
result = "[{ \"result\":\"0\"}]";
}
try
{
//增加文件保存到数据库的功能
byte[]bytes = new byte[files[0].InputStream.Length];
files[0].InputStream.Read(bytes, 0, bytes.Length);
string procedureName = "_文件存储_高精_增加";
string errorMessage;
SqlParameter []thisParms = new SqlParameter[5];
thisParms[0] = new SqlParameter("@业务代码", 9);
thisParms[1] = new SqlParameter("@文件标识", uid);
thisParms[2] = new SqlParameter("@文件名称", Name);
thisParms[3] = new SqlParameter("@文件后缀", suffix);
thisParms[4] = new SqlParameter("@文件内容", bytes);
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
if(DataLinkMesWork.DataLink.isBakup=="1")
{
DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql2);
}
}
catch
{
}
}
catch
{
}
}
catch (Exception ex)
{
result = "[{ \"result\":\"0\"}]";
}
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

13
submit/web.config Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="true"/>
</system.webServer>
<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
</configuration>