| 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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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<object> columnNameList = new List<object>(); | 
|             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<DataTable>(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 | 
|   | 
|     } | 
| } | 
|      |