|  |  | 
 |  |  | using System; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | using System.Data; | 
 |  |  | using System.IO; | 
 |  |  | using System.Web; | 
 |  |  | using System.Web.Http; | 
 |  |  | using WebAPI.Models; | 
 |  |  | namespace WebAPI.Controllers | 
 |  |  | 
 |  |  |         public DAL.ClsSb_EquipDotCheckBill BillNew = new DAL.ClsSb_EquipDotCheckBill();   //对应单据类 | 
 |  |  |         public DAL.ClsSb_EquipDotCheckBill BillOld = new DAL.ClsSb_EquipDotCheckBill();   //对应单据类 | 
 |  |  |         public DAL.ClsSb_EquipMaintainBill BillOld2 = new DAL.ClsSb_EquipMaintainBill();   //设备保养记录单 | 
 |  |  |         string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; | 
 |  |  |  | 
 |  |  |         #region 设备保养计划表 | 
 |  |  |  | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #region 设备保养记录分页查询 | 
 |  |  |         [Route("Sb_EquipMaintainBill/GetEquipMaintainBillListPage")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetEquipMaintainBillListPage(string sWhere, string user, int page, int size) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipMaintainBillList", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查看权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 sWhere = sWhere.Replace("'", "''"); | 
 |  |  |                 if (sWhere == null || sWhere.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("exec h_p_Sc_EquipMaintainListPage " + page + "," + size + ",''", "h_p_Sc_EquipMaintainListPage"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("exec h_p_Sc_EquipMaintainListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_EquipMaintainListPage"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //添加列名 | 
 |  |  |                 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列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 设备保养记录统计分析  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 返回设备保养记录统计分析 列表 | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |  | 
 |  |  |                 if (HDeptID == "0" || HDeptID.Equals("")|| HWorkCenterID == "0" || HWorkCenterID.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("exec h_p_Sb_EquipmentLoadReportListt '0','0'", "h_p_Sb_EquipmentLoadReportListt"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("exec h_p_Sb_EquipmentLoadReportListt '" + HDeptID + "','" + HWorkCenterID + "'", "h_p_Sb_EquipmentLoadReportListt"); | 
 |  |  |                 } | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_Sb_EquipmentLoadReportListt '" + HDeptID + "','" + HWorkCenterID + "'", "h_p_Sb_EquipmentLoadReportListt"); | 
 |  |  |  | 
 |  |  |                 //添加列名 | 
 |  |  |                 foreach (DataColumn col in ds.Tables[0].Columns) | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                 //获取保养项目编辑数据 | 
 |  |  |                 string sql = "select 保养项目ID HMaintainItemID, 保养项目代码 HMaintainItemNumber,保养项目名称 HMaintainItem,保养部位 HMaintainPart,具体要求 HClaim,HManagerID,负责人代码 HManagerNumber,负责人 HManagerName,表体备注 HRemark  from h_v_Sb_EquipMaintainBillSub_Item where 1 = 1 " + Swhere + ""; | 
 |  |  |                 string sql = "select 保养项目ID HMaintainItemID, 保养项目代码 HMaintainItemNumber,保养项目名称 HMaintainItem,保养部位 HMaintainPart,具体要求 HClaim,HManagerID,负责人代码 HManagerNumber,负责人 HManagerName,表体备注 HRemark,保养结果 HMaintainResult  from h_v_Sb_EquipMaintainBillSub_Item where 1 = 1 " + Swhere + ""; | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainBillSub_Item"); | 
 |  |  |                 //获取配件项目编辑数据 | 
 |  |  |                 string sql1 = "select HMaterID, 配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,单位代码 HUnitNumber,单位名称 HUnitName,实际用量 HQty,标准用量 HQtyMust,表体备注 HRemark,负责人ID HManagerID,负责人代码 HManagerNumber,负责人 HManagerName  from h_v_Sb_EquipMaintainBillList where 1 = 1 " + Swhere + ""; | 
 |  |  | 
 |  |  |                 foreach (Model.ClsSb_EquipMaintainBillMain oItem in lsmain) | 
 |  |  |                 { | 
 |  |  |                     //oItem.HMaker = ""; | 
 |  |  |                     UserName = oItem.HMaker;  //制单人 | 
 |  |  |                     DBUtility.ClsPub.CurUserName = oItem.HMaker;  //制单人 | 
 |  |  |                     oItem.HBillType = "3901"; | 
 |  |  |                     oItem.HBillSubType = "3901"; | 
 |  |  |  | 
 |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 设备保养逾期预警报表 | 
 |  |  |  | 
 |  |  |         [Route("Sb_EquipMaintainWarning/Report")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Report(string HYear, string HEquipTypeID, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user)) | 
 |  |  |                 //{ | 
 |  |  |                 //    objJsonResult.code = "0"; | 
 |  |  |                 //    objJsonResult.count = 0; | 
 |  |  |                 //    objJsonResult.Message = "没有查看权限"; | 
 |  |  |                 //    objJsonResult.data = null; | 
 |  |  |                 //    return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |                 if (HYear == null || HYear.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "请选择有效年份"; | 
 |  |  |                     objJsonResult.data = ""; | 
 |  |  |                     objJsonResult.list = columnNameList; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     string sql = "exec h_p_Sb_EquipMaintainWarningReport " + HYear + "," + HEquipTypeID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipMaintainWarningReport"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //添加列名 | 
 |  |  |                 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列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 设备保养记录拍照上传 | 
 |  |  |         [Route("Sb_EquipMaintainBill/UploadFile")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object UploadFile() | 
 |  |  |         { | 
 |  |  |  | 
 |  |  |             string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号 | 
 |  |  |             string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注 | 
 |  |  |             string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人 | 
 |  |  |             HttpPostedFile files = HttpContext.Current.Request.Files["file"]; | 
 |  |  |             string path = HttpContext.Current.Server.MapPath("~/../Files/EquipFolder/" + HBillNo); | 
 |  |  |             //string path = @"D:\\Files\\"+ HBillNo; | 
 |  |  |             dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName); | 
 |  |  |             if (dyResult != null && dyResult.result == 1) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "上传成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = dyResult.returnval; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName) | 
 |  |  |         { | 
 |  |  |             dynamic Result_Ob = new { result = 1, returnval = "上传成功!" }; | 
 |  |  |             string filePath = Path.GetFullPath(files.FileName);//文件上传路径 | 
 |  |  |             string fileExtension = Path.GetExtension(files.FileName);// 文件扩展名 | 
 |  |  |             string filename = files.FileName;//文件名 | 
 |  |  |             string fileSavePath = path;// 上传保存路径 | 
 |  |  |             int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte | 
 |  |  |             int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (files == null || files.ContentLength <= 0) | 
 |  |  |                 { | 
 |  |  |                     Result_Ob = new { result = 0, returnval = "文件不能为空!" }; | 
 |  |  |                     return Result_Ob; | 
 |  |  |                 } | 
 |  |  |                 if (filesize >= Maxsize) | 
 |  |  |                 { | 
 |  |  |                     Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" }; | 
 |  |  |                     return Result_Ob; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 string fileurl = Path.Combine(fileSavePath, filename); | 
 |  |  |                 if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示   | 
 |  |  |                 { | 
 |  |  |                     Result_Ob = new { result = 0, returnval = "存在同名文件!" }; | 
 |  |  |                     return Result_Ob; | 
 |  |  |                 } | 
 |  |  |                 //删除数据表数据 | 
 |  |  |                 ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList"); | 
 |  |  |                 if (Directory.Exists(path)) | 
 |  |  |                 { | 
 |  |  |                     File.Delete(fileurl);      //删除指定文件 | 
 |  |  |                     files.SaveAs(fileurl); | 
 |  |  |                     string StrPath = "/files/EquipFolder/" + HBillNo + "/" + filename; | 
 |  |  |                     if (File.Exists(fileurl)) | 
 |  |  |                     { | 
 |  |  |                         //这里可以执行一些其它的操作,比如更新数据库 | 
 |  |  |                         //写入数据表 | 
 |  |  |                         oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
 |  |  |                                     ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
 |  |  |                                     ",HFileClsID,HSourceBillNo" + | 
 |  |  |                                    ") values('" | 
 |  |  |                                     + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
 |  |  |                                     ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
 |  |  |                                     "','" + 0 + "','" + HBillNo + | 
 |  |  |                                    "') "); | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     Directory.CreateDirectory(fileSavePath); //添加文件夹 | 
 |  |  |                     files.SaveAs(fileurl); | 
 |  |  |                     string StrPath = "/files/EquipFolder/" + HBillNo + "/" + filename; | 
 |  |  |                     if (File.Exists(fileurl)) | 
 |  |  |                     { | 
 |  |  |                         //这里可以执行一些其它的操作,比如更新数据库 | 
 |  |  |                         //写入数据表 | 
 |  |  |                         oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
 |  |  |                                     ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
 |  |  |                                     ",HFileClsID,HSourceBillNo" + | 
 |  |  |                                    ") values('" | 
 |  |  |                                     + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
 |  |  |                                     ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
 |  |  |                                     "','" + 0 + "','" + HBillNo + | 
 |  |  |                                    "') "); | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 Result_Ob = new { result = 0, returnval = e.Message }; | 
 |  |  |             } | 
 |  |  |             return Result_Ob; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 根据单据号查找上传文件列表 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="sWhere"></param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sb_EquipMaintainBill/Filelist")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Filelist(string HBillNo) | 
 |  |  |         { | 
 |  |  |             var url = fileip + "/files/EquipFolder/" + HBillNo + "/"; | 
 |  |  |             //@"C:\\files\\" | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList"); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 根据ID,单据号,文件名 删除文件 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="sWhere"></param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sb_EquipMaintainBill/DeleteFilelist")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |  | 
 |  |  |                 oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID); | 
 |  |  |                 string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/EquipFolder/" + HSourceBillNo), HFileName); | 
 |  |  |                 File.Delete(fileurl);      //删除指定文件 | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "删除成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion     | 
 |  |  |     } | 
 |  |  | } |