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 "";
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 |