using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using WebAPI.Models; using WebAPI.DbUntil; namespace WebAPI.Controllers { public class ReportFromController : ApiController { private json objJsonResult = new json(); public DataSet ds = new DataSet(); public WebServer webserver = new WebServer(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); #region [动态列表] [Route("Sc_MESReportFrom/ReportFromBillList")] [HttpGet] public object ReportFrom(int page,int limit,string sWhere) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; if (sWhere == null || sWhere.Equals("")) { sWhere = " where 1=1"; } else { sWhere = " where 1=1" + sWhere; } count = new SQLHelper.ClsCN().RunProcReturn("select HItemID,HNumber 编码,HName 姓名,HRemark 说明,HUseFlag 使用状态,HBirthDay 生日 from Gy_Employee " + sWhere, "Gy_Employee").Tables[0].Rows.Count; string sql = string.Format(@"select top " + pageSize + " HItemID,HNumber 编码,HName 姓名,HRemark 说明,HUseFlag 使用状态,HBirthDay 生日 from(select row_number() over (order by HBirthDay desc) as RowNumber,HItemID,HNumber,HName ,HRemark,HUseFlag,HBirthDay from Gy_Employee " + sWhere + ") as A where RowNumber >" + pageSize + " *(" + pageNum + "-1)"); ds=new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_IF_ICMOBillList_Table"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } if (ds.Tables[0].Rows.Count > 0) { objJsonResult.code = "1"; objJsonResult.count = count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data =JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "暂无资源绑定!"; objJsonResult.data = null; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [动态列表2] [Route("Sc_MESReportFrom/ReportFromBillList2")] [HttpGet] public object ReportFromBillList2(string sWhere) { try { string sql = "select HItemID,HNumber 代码,HName 名称 from Gy_Process where 1 = 1 " + sWhere; ds = new SQLHelper.ClsCN().RunProcReturn(sql, "Gy_Employee"); if (ds.Tables[0].Rows.Count > 0) { objJsonResult.code = "1"; objJsonResult.count = DataFormatUntil.BackRowCount(sql, "Gy_Employee"); objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = DataFormatUntil.BackColTitle(ds); return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "false!"; objJsonResult.data = null; objJsonResult.list = DataFormatUntil.BackColTitle(ds); return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = null; } return objJsonResult; } #endregion #region [器具即时库存明细报表列表] [Route("Sc_MESReportFrom/ReportMouldStockBillList")] [HttpGet] public object ReportMouldStockBillList(int page, int limit, string HDate,string HNumber,string HBarCode,string HSupName) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Mes_ReportMouldStock '" + HDate + "','" + HNumber + "','" + HBarCode + "','" + HSupName + "',"+pageSize+","+pageNum+"", "h_p_Mes_ReportMouldStock"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[4].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //if (ds.Tables[4].Rows.Count > 0) //{ objJsonResult.code = "1"; objJsonResult.count = ds.Tables[3].Rows.Count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[4], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "暂无资源绑定!"; // objJsonResult.data = null; // objJsonResult.list = columnNameList; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具即时库存汇总报表列表] [Route("Sc_MESReportFrom/ReportMouldStockBillSumList")] [HttpGet] public object ReportMouldStockBillSumList(int page, int limit, string HDate, string HNumber, string HSupName) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Mes_ReportMouldStockSum '" + HDate + "','" + HNumber + "','" + HSupName + "'," + pageSize + "," + pageNum + "", "h_p_Mes_ReportMouldStockSum"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[4].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } if (ds.Tables[4].Rows.Count > 0) { objJsonResult.code = "1"; objJsonResult.count = ds.Tables[3].Rows.Count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[4], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "暂无资源绑定!"; objJsonResult.data = null; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具库存台账明细报表列表] [Route("Sc_MESReportFrom/ReportInventoryAccountBillList")] [HttpGet] public object ReportInventoryAccountBillList(int page, int limit, string HStartDate, string HEndDate,string HSupName) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Mes_ReportInventoryAccount '" + HStartDate + "','" + HEndDate + "','" + HSupName + "'," + pageSize + "," + pageNum + "", "h_p_Mes_ReportInventoryAccount"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //if (ds.Tables[1].Rows.Count > 0) //{ objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[1], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "暂无资源绑定!"; // objJsonResult.data = null; // objJsonResult.list = columnNameList; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具收发料明细报表列表] [Route("Sc_MESReportFrom/ReportMaterialReceiptBillList")] [HttpGet] public object ReportMaterialReceiptBillList(int page, int limit, string HStartDate,string HEndDate, string HNumber, string HBarCode, string HSupName) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Mes_ReportMaterialReceipt '" + HStartDate + "','" + HEndDate + "','" + HNumber + "','" + HBarCode + "','" + HSupName + "'," + pageSize + "," + pageNum + "", "h_p_Mes_ReportMaterialReceipt"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } if (ds.Tables[1].Rows.Count > 0) { objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[1], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无数据!"; objJsonResult.data = null; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具收发料汇总报表列表] [Route("Sc_MESReportFrom/ReportMaterialReceiptBillSumList")] [HttpGet] public object ReportMaterialReceiptBillSumList(int page, int limit, string HStartDate, string HEndDate, string HNumber, string HSupName) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Mes_ReportMaterialReceiptSum '" + HStartDate + "','" + HEndDate + "','" + HNumber + "','" + HSupName + "'," + pageSize + "," + pageNum + "", "h_p_Mes_ReportMaterialReceiptSum"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //if (ds.Tables[1].Rows.Count > 0) //{ objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "获取资源绑定数据成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[1], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无数据!"; // objJsonResult.data = null; // objJsonResult.list = columnNameList; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具可用数据表报表列表明细] [Route("Sc_MESReportFrom/Get_MouldAvailableListToSub")] [HttpGet] public object Get_MouldAvailableListToSub(int page, int limit, string HNumber, string HBarCode) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Sc_MouldAvailableListToSub '" + HNumber + "','" + HBarCode + "'," + pageSize + "," + pageNum + "", "h_p_Sc_MouldAvailableListToSub"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //if (ds.Tables[4].Rows.Count > 0) //{ objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "查询成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "暂无资源绑定!"; // objJsonResult.data = null; // objJsonResult.list = columnNameList; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [器具即时库存汇总报表列表] [Route("Sc_MESReportFrom/Get_MouldAvailableListToSum")] [HttpGet] public object Get_MouldAvailableListToSum(int page, int limit, string HNumber) { List columnNameList = new List(); try { int count = 0; int pageNum = page; int pageSize = limit; ds = oCN.RunProcReturn("exec h_p_Sc_MouldAvailableListToSum '" + HNumber + "'," + pageSize + "," + pageNum + "", "h_p_Sc_MouldAvailableListToSum"); string aa = ds.Tables[0].Columns[0].ToString(); foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } if (ds.Tables[0].Rows.Count > 0) { objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "查询成功!"; objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 objJsonResult.list = columnNameList; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "暂无资源绑定!"; objJsonResult.data = null; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion } }