397 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			397 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Threading.Tasks; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public class CheckEquipmentService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         private static int count | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary> | |||
|  |         private static IQueryable<Model.Check_CheckEquipment> qq = from x in db.Check_CheckEquipment orderby x.CompileDate descending select x; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取分页列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startRowIndex"></param> | |||
|  |         /// <param name="maximumRows"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable getListData(string projectId, string userId, string roleId, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.Check_CheckEquipment> q = qq; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.ProjectId == projectId); | |||
|  |             } | |||
|  |             //if (!string.IsNullOrEmpty(userId)) | |||
|  |             //{ | |||
|  |             //    var roleList = BLL.CommonService.GetUserRoleEntrustedRole(userId); | |||
|  |             //    if (roleId != "admin" && !roleList.Contains(BLL.Const.CNPrincipalRole) && !roleList.Contains(BLL.Const.CQPrincipalRole) | |||
|  |             //        && !roleList.Contains(BLL.Const.INPrincipalRole)) | |||
|  |             //    { | |||
|  |             //        string entrusteUserId = BLL.EntrustDetailService.GetEntrusteUserId(userId); | |||
|  |             //        if (!string.IsNullOrEmpty(entrusteUserId)) | |||
|  |             //        { | |||
|  |             //            q = q.Where(e => e.CompileMan == userId || e.CompileMan == entrusteUserId); | |||
|  |             //        } | |||
|  |             //        else | |||
|  |             //        { | |||
|  |             //            q = q.Where(e => e.CompileMan == userId); | |||
|  |             //        } | |||
|  |             //    } | |||
|  |             //} | |||
|  |             count = q.Count(); | |||
|  |             if (count == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  | 
 | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.CheckEquipmentId, | |||
|  |                        x.ProjectId, | |||
|  |                        UserUnit = (from y in db.Base_Unit where y.UnitId == x.UserUnitId select y.UnitName).First(), | |||
|  |                        x.EquipmentName, | |||
|  |                        x.Format, | |||
|  |                        x.SetAccuracyGrade, | |||
|  |                        x.RealAccuracyGrade, | |||
|  |                        x.CheckCycle, | |||
|  |                        x.CheckDay, | |||
|  |                        IsIdentification = x.IsIdentification == true ? "有" : "没有", | |||
|  |                        IsCheckCertificate = x.IsCheckCertificate == true ? "有" : "没有", | |||
|  |                        x.AttachUrl, | |||
|  |                        CompileMan = (from y in db.Sys_User where y.UserId == x.CompileMan select y.UserName).First(), | |||
|  |                        x.CompileDate, | |||
|  |                        x.State, | |||
|  |                    }; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取列表数 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static int getListCount(string projectId, string userId, string roleId) | |||
|  |         { | |||
|  |             return count; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据检试验设备及测量器具信息Id获取一个检试验设备及测量器具信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="CheckEquipmentCode">检试验设备及测量器具信息Id</param> | |||
|  |         /// <returns>一个检试验设备及测量器具信息实体</returns> | |||
|  |         public static Model.Check_CheckEquipment GetCheckEquipmentByCheckEquipmentId(string CheckEquipmentId) | |||
|  |         { | |||
|  |             Model.Check_CheckEquipment res = Funs.DB.Check_CheckEquipment.FirstOrDefault(x => x.CheckEquipmentId == CheckEquipmentId); | |||
|  |             //res.AttachUrl = AttachFileService.getFileUrl(res.CheckEquipmentId); | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  |         public static Model.Check_CheckEquipment GetCheckEquipmentByCheckEquipmentIdForApi(string CheckEquipmentId) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_CheckEquipment res = db.Check_CheckEquipment.FirstOrDefault(a => a.CheckEquipmentId == CheckEquipmentId); | |||
|  |                 //res.AttachUrl = AttachFileService.getFileUrl(res.CheckEquipmentId); | |||
|  |                 Model.Check_CheckEquipment x = new Model.Check_CheckEquipment(); | |||
|  |                 x.CheckEquipmentId = res.CheckEquipmentId; | |||
|  |                 x.UserUnitId = res.UserUnitId + "$" + UnitService.getUnitNamesUnitIds(res.UserUnitId); | |||
|  |                 x.ProjectId = res.ProjectId; | |||
|  |                 x.EquipmentName = res.EquipmentName; | |||
|  |                 x.Format = res.Format; | |||
|  |                 x.SetAccuracyGrade = res.SetAccuracyGrade; | |||
|  |                 x.RealAccuracyGrade = res.RealAccuracyGrade; | |||
|  |                 x.CheckCycle = res.CheckCycle; | |||
|  |                 x.CheckDay = res.CheckDay; | |||
|  |                 x.IsIdentification = res.IsIdentification; | |||
|  |                 x.IsCheckCertificate = res.IsCheckCertificate; | |||
|  |                 x.CompileDate = res.CompileDate; | |||
|  |                 x.State = res.State; | |||
|  |                 x.Isdamage = res.Isdamage; | |||
|  |                 if (res.CheckCycle.HasValue && res.CheckDay.HasValue) | |||
|  |                 { | |||
|  |                     x.CompileMan = res.CompileMan + "$" + ConvertIsBeOverdue(res.CheckCycle.Value, res.CheckDay.Value); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     x.CompileMan = res.CompileMan + "$"; | |||
|  | 
 | |||
|  |                 } | |||
|  |                 x.AttachUrl = AttachFileService.getFileUrl(res.CheckEquipmentId); | |||
|  | 
 | |||
|  |                 return x; | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 增加检试验设备及测量器具信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="CheckEquipment">检试验设备及测量器具信息实体</param> | |||
|  |         public static void AddCheckEquipment(Model.Check_CheckEquipment CheckEquipment) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_CheckEquipment newCheckEquipment = new Model.Check_CheckEquipment(); | |||
|  |                 newCheckEquipment.CheckEquipmentId = CheckEquipment.CheckEquipmentId; | |||
|  |                 newCheckEquipment.ProjectId = CheckEquipment.ProjectId; | |||
|  |                 newCheckEquipment.UserUnitId = CheckEquipment.UserUnitId; | |||
|  |                 newCheckEquipment.EquipmentName = CheckEquipment.EquipmentName; | |||
|  |                 newCheckEquipment.Format = CheckEquipment.Format; | |||
|  |                 newCheckEquipment.SetAccuracyGrade = CheckEquipment.SetAccuracyGrade; | |||
|  |                 newCheckEquipment.RealAccuracyGrade = CheckEquipment.RealAccuracyGrade; | |||
|  |                 newCheckEquipment.CheckCycle = CheckEquipment.CheckCycle; | |||
|  |                 newCheckEquipment.CheckDay = CheckEquipment.CheckDay; | |||
|  |                 newCheckEquipment.IsIdentification = CheckEquipment.IsIdentification; | |||
|  |                 newCheckEquipment.IsCheckCertificate = CheckEquipment.IsCheckCertificate; | |||
|  |                 newCheckEquipment.AttachUrl = CheckEquipment.AttachUrl; | |||
|  |                 newCheckEquipment.CompileMan = CheckEquipment.CompileMan; | |||
|  |                 newCheckEquipment.CompileDate = CheckEquipment.CompileDate; | |||
|  |                 newCheckEquipment.State = CheckEquipment.State; | |||
|  |                 newCheckEquipment.Isdamage = CheckEquipment.Isdamage; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.SaveHandleMan)) | |||
|  |                     newCheckEquipment.SaveHandleMan = CheckEquipment.SaveHandleMan; | |||
|  | 
 | |||
|  | 
 | |||
|  |                 db.Check_CheckEquipment.InsertOnSubmit(newCheckEquipment); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改检试验设备及测量器具信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="CheckEquipment">检试验设备及测量器具信息实体</param> | |||
|  |         public static void UpdateCheckEquipment(Model.Check_CheckEquipment CheckEquipment) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_CheckEquipment newCheckEquipment = db.Check_CheckEquipment.First(e => e.CheckEquipmentId == CheckEquipment.CheckEquipmentId); | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.UserUnitId)) | |||
|  |                     newCheckEquipment.UserUnitId = CheckEquipment.UserUnitId; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.EquipmentName)) | |||
|  |                     newCheckEquipment.EquipmentName = CheckEquipment.EquipmentName; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.Format)) | |||
|  |                     newCheckEquipment.Format = CheckEquipment.Format; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.SetAccuracyGrade)) | |||
|  |                     newCheckEquipment.SetAccuracyGrade = CheckEquipment.SetAccuracyGrade; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.RealAccuracyGrade)) | |||
|  |                     newCheckEquipment.RealAccuracyGrade = CheckEquipment.RealAccuracyGrade; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.CheckCycle.ToString())) | |||
|  |                     newCheckEquipment.CheckCycle = CheckEquipment.CheckCycle; | |||
|  |                 if (CheckEquipment.CheckDay.HasValue) | |||
|  |                     newCheckEquipment.CheckDay = CheckEquipment.CheckDay; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.IsIdentification.ToString())) | |||
|  |                     newCheckEquipment.IsIdentification = CheckEquipment.IsIdentification; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.IsCheckCertificate.ToString())) | |||
|  |                     newCheckEquipment.IsCheckCertificate = CheckEquipment.IsCheckCertificate; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.AttachUrl)) | |||
|  |                     newCheckEquipment.AttachUrl = CheckEquipment.AttachUrl; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.State)) | |||
|  |                     newCheckEquipment.State = CheckEquipment.State; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.Isdamage)) | |||
|  |                     newCheckEquipment.Isdamage = CheckEquipment.Isdamage; | |||
|  |                 if (!string.IsNullOrEmpty(CheckEquipment.SaveHandleMan)) | |||
|  |                     newCheckEquipment.SaveHandleMan = CheckEquipment.SaveHandleMan; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据检试验设备及测量器具信息Id删除一个检试验设备及测量器具信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="CheckEquipmentCode">检试验设备及测量器具信息Id</param> | |||
|  |         public static void DeleteCheckEquipment(string CheckEquipmentId) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_CheckEquipment CheckEquipment = db.Check_CheckEquipment.First(e => e.CheckEquipmentId == CheckEquipmentId); | |||
|  | 
 | |||
|  |                 db.Check_CheckEquipment.DeleteOnSubmit(CheckEquipment); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |                  | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据项目主键获得检试验设备及测量器具信息的数量 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目主键</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int GetCheckEquipmentCountByProjectId(string projectId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.Check_CheckEquipment where x.ProjectId == projectId select x).ToList(); | |||
|  |             return q.Count(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据状态选择下一步办理类型 | |||
|  |         /// </summary> | |||
|  |         /// <param name="state"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetDHandleTypeByState(string state) | |||
|  |         { | |||
|  |             if (state == Const.CheckEquipment_Compile || state == Const.CheckEquipment_ReCompile) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("审核", Const.CheckEquipment_Approve); | |||
|  |                 lis[1] = new ListItem("审批完成", Const.CheckEquipment_Complete); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else if (state == Const.CheckEquipment_Approve) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("审批完成", Const.CheckEquipment_Complete); | |||
|  |                 lis[1] = new ListItem("重新编制", Const.CheckEquipment_ReCompile); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else | |||
|  |                 return null; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据单位主键获得检试验设备及测量器具的数量 | |||
|  |         /// </summary> | |||
|  |         /// <param name="unitId">单位主键</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int GetCheckEquipmentCountByUnitId(string unitId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.Check_CheckEquipment where x.UserUnitId == unitId select x).ToList(); | |||
|  |             return q.Count(); | |||
|  |         } | |||
|  |         public static List<Model.Check_CheckEquipment> getListByProject(string name, string projectId, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             List<Model.Check_CheckEquipment> listRes = new List<Model.Check_CheckEquipment>(); | |||
|  |             List<String> unitids = new List<string>(); | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 if (!string.IsNullOrEmpty(name)) | |||
|  |                 { | |||
|  |                     var qunit = from u in db.Base_Unit | |||
|  |                                 where u.UnitName.Contains(name) | |||
|  |                                 select u.UnitId; | |||
|  |                     unitids = qunit.ToList(); | |||
|  |                 } | |||
|  |                 var q = from x in db.Check_CheckEquipment | |||
|  |                         orderby x.CheckDay descending | |||
|  |                         where x.ProjectId == projectId && | |||
|  |                           (name == "" || x.EquipmentName.Contains(name) || unitids.Contains(x.UserUnitId)) | |||
|  |                         select new | |||
|  |                         { | |||
|  |                             x.CheckEquipmentId, | |||
|  |                             x.ProjectId, | |||
|  |                             x.EquipmentName, | |||
|  |                             x.Format, | |||
|  |                             x.SetAccuracyGrade, | |||
|  |                             x.RealAccuracyGrade, | |||
|  |                             x.CheckCycle, | |||
|  |                             x.CheckDay, | |||
|  |                             x.IsIdentification, | |||
|  |                             x.IsCheckCertificate, | |||
|  |                             x.AttachUrl, | |||
|  |                             x.CompileDate, | |||
|  |                             x.State, | |||
|  |                             x.Isdamage, | |||
|  |                             x.UserUnitId, | |||
|  |                             x.CompileMan, | |||
|  |                             UserUnitName = (from y in db.Base_Unit where y.UnitId == x.UserUnitId select y.UnitName).FirstOrDefault(), | |||
|  | 
 | |||
|  |                         }; | |||
|  |                 var list = q.Skip(startRowIndex * maximumRows).Take(maximumRows).ToList(); | |||
|  | 
 | |||
|  |                 for (int i = 0; i < list.Count; i++) | |||
|  |                 { | |||
|  |                     Model.Check_CheckEquipment x = new Model.Check_CheckEquipment(); | |||
|  |                     x.CheckEquipmentId = list[i].CheckEquipmentId; | |||
|  |                     x.UserUnitId = list[i].UserUnitId + "$" + list[i].UserUnitName; | |||
|  |                     x.ProjectId = list[i].ProjectId; | |||
|  |                     x.EquipmentName = list[i].EquipmentName; | |||
|  |                     x.Format = list[i].Format; | |||
|  |                     x.SetAccuracyGrade = list[i].SetAccuracyGrade; | |||
|  |                     x.RealAccuracyGrade = list[i].RealAccuracyGrade; | |||
|  |                     x.CheckCycle = list[i].CheckCycle; | |||
|  |                     x.CheckDay = list[i].CheckDay; | |||
|  |                     x.IsIdentification = list[i].IsIdentification; | |||
|  |                     x.IsCheckCertificate = list[i].IsCheckCertificate; | |||
|  |                     x.CompileDate = list[i].CompileDate; | |||
|  |                     x.State = list[i].State; | |||
|  |                     x.Isdamage = list[i].Isdamage; | |||
|  |                     if (x.CheckCycle.HasValue && x.CheckDay.HasValue) | |||
|  |                     { | |||
|  |                         x.CompileMan = list[i].CompileMan + "$" + ConvertMan(list[i].CheckEquipmentId) + "$" + ConvertIsBeOverdue(list[i].CheckCycle.Value, list[i].CheckDay.Value); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         x.CompileMan = list[i].CompileMan + "$" + ConvertMan(list[i].CheckEquipmentId) + "$"; | |||
|  | 
 | |||
|  |                     } | |||
|  |                     x.AttachUrl = AttachFileService.getFileUrl(list[i].CheckEquipmentId); | |||
|  |                     listRes.Add(x); | |||
|  |                 } | |||
|  |             } | |||
|  |             return listRes; | |||
|  |         } | |||
|  |         protected static string ConvertIsBeOverdue(object CheckCycle, object CheckDay) | |||
|  |         { | |||
|  |             if (CheckCycle != null && CheckDay != null) | |||
|  |             { | |||
|  |                 if (!string.IsNullOrEmpty(CheckCycle.ToString()) && !string.IsNullOrEmpty(CheckDay.ToString())) | |||
|  |                 { | |||
|  |                     var ResultData = Convert.ToDateTime(CheckDay).AddDays(Convert.ToDouble(CheckCycle) * 365); | |||
|  |                     if (ResultData >= DateTime.Now) | |||
|  |                     { | |||
|  |                         return "未过期"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         return "过期"; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             return ""; | |||
|  | 
 | |||
|  |         } | |||
|  |         protected static string ConvertMan(string designId) | |||
|  |         { | |||
|  |             if (!string.IsNullOrEmpty(designId)) | |||
|  |             { | |||
|  |                 Model.Check_CheckEquipmentApprove a = BLL.CheckEquipmentApproveService.GetCheckEquipmentApproveByCheckEquipmentId(designId); | |||
|  |                 if (a != null) | |||
|  |                 { | |||
|  |                     if (a.ApproveMan != null) | |||
|  |                     { | |||
|  |                         var item = BLL.UserService.GetUserByUserId(a.ApproveMan); | |||
|  |                         if (item != null) | |||
|  |                             return item.UserName; | |||
|  |                         else | |||
|  |                             return ""; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     return ""; | |||
|  |                 } | |||
|  |             } | |||
|  |             return ""; | |||
|  |         } | |||
|  | 
 | |||
|  |     } | |||
|  | } |