197 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			197 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Collections;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace BLL
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 无损检测管理
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public static class NondestructiveTestService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        public static Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 记录数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private static int count
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get;
							 | 
						|||
| 
								 | 
							
								            set;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取分页列表数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="UnitWorkId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="unitId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="welderCode"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="startDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="endDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="startRowIndex"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="maximumRows"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static IEnumerable GetListData(string projectId, string UnitWorkId, string unitId, string welderCode, string startDate, string endDate, int startRowIndex, int maximumRows)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            IQueryable<Model.ProcessControl_NondestructiveTest> q = from x in db.ProcessControl_NondestructiveTest
							 | 
						|||
| 
								 | 
							
								                                                                    where x.ProjectId == projectId
							 | 
						|||
| 
								 | 
							
								                                                                    orderby x.NondestructiveTestDate descending
							 | 
						|||
| 
								 | 
							
								                                                                    select x;
							 | 
						|||
| 
								 | 
							
								            if (UnitWorkId != "0")
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                q = q.Where(e => e.UnitWorkId == UnitWorkId);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (unitId != "0")
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                q = q.Where(e => e.UnitId == unitId);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (!string.IsNullOrEmpty(welderCode))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                q = q.Where(e => e.WelderCode.Contains(welderCode));
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                q = q.Where(e => e.NondestructiveTestDate >= Funs.GetNewDateTime(startDate) && e.NondestructiveTestDate <= Funs.GetNewDateTime(endDate));
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            count = q.Count();
							 | 
						|||
| 
								 | 
							
								            if (count == 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                return new object[] { "" };
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return from x in q.Skip(startRowIndex).Take(maximumRows)
							 | 
						|||
| 
								 | 
							
								                   select new
							 | 
						|||
| 
								 | 
							
								                   {
							 | 
						|||
| 
								 | 
							
								                       x.NondestructiveTestId,
							 | 
						|||
| 
								 | 
							
								                       x.ProjectId,
							 | 
						|||
| 
								 | 
							
								                       InstallationName = (from y in db.WBS_UnitWork where y.UnitWorkId == x.UnitWorkId select y.UnitWorkName).FirstOrDefault(),
							 | 
						|||
| 
								 | 
							
								                       UnitName = (from y in db.Base_Unit where y.UnitId == x.UnitId select y.UnitName).FirstOrDefault(),
							 | 
						|||
| 
								 | 
							
								                       //ProfessionalName = (from y in db.WBS_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(),
							 | 
						|||
| 
								 | 
							
								                       x.WelderCode,
							 | 
						|||
| 
								 | 
							
								                       x.NondestructiveTestCode,
							 | 
						|||
| 
								 | 
							
								                       x.PieceCount,
							 | 
						|||
| 
								 | 
							
								                       x.OnceQualifiedCount,
							 | 
						|||
| 
								 | 
							
								                       x.NondestructiveTestDate,
							 | 
						|||
| 
								 | 
							
								                       InspectionAreaName = (from y in db.Base_InspectionArea where y.InspectionAreaId == x.InspectionAreaId select y.InspectionAreaName).FirstOrDefault(),
							 | 
						|||
| 
								 | 
							
								                   };
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取分页列表数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="UnitWorkId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="unitId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="welderCode"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="startDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="endDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static int GetListCount(string projectId, string UnitWorkId, string unitId, string welderCode, string startDate, string endDate)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return count;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据主键获取无损检测管理
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="nondestructiveTestId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static Model.ProcessControl_NondestructiveTest GetNondestructiveTestById(string nondestructiveTestId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return Funs.DB.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTestId);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 添加无损检测管理
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="nondestructiveTest"></param>
							 | 
						|||
| 
								 | 
							
								        public static void AddNondestructiveTest(Model.ProcessControl_NondestructiveTest nondestructiveTest)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.ProcessControl_NondestructiveTest newNondestructiveTest = new Model.ProcessControl_NondestructiveTest();
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.NondestructiveTestId = nondestructiveTest.NondestructiveTestId;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.ProjectId = nondestructiveTest.ProjectId;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.UnitWorkId = nondestructiveTest.UnitWorkId;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.UnitId = nondestructiveTest.UnitId;
							 | 
						|||
| 
								 | 
							
								            //newNondestructiveTest.CNProfessionalId = nondestructiveTest.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.WelderCode = nondestructiveTest.WelderCode;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.NondestructiveTestCode = nondestructiveTest.NondestructiveTestCode;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.PieceCount = nondestructiveTest.PieceCount;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.OnceQualifiedCount = nondestructiveTest.OnceQualifiedCount;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.NondestructiveTestDate = nondestructiveTest.NondestructiveTestDate;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.WED_ID = nondestructiveTest.WED_ID;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.STE_ID = nondestructiveTest.STE_ID;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.CompileMan = nondestructiveTest.CompileMan;
							 | 
						|||
| 
								 | 
							
								            newNondestructiveTest.InspectionAreaId = nondestructiveTest.InspectionAreaId;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            db.ProcessControl_NondestructiveTest.InsertOnSubmit(newNondestructiveTest);
							 | 
						|||
| 
								 | 
							
								            db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 修改无损检测管理
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="nondestructiveTest"></param>
							 | 
						|||
| 
								 | 
							
								        public static void UpdateNondestructiveTest(Model.ProcessControl_NondestructiveTest nondestructiveTest)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.ProcessControl_NondestructiveTest newNondestructiveTest = db.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTest.NondestructiveTestId);
							 | 
						|||
| 
								 | 
							
								            if (newNondestructiveTest != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.ProjectId = nondestructiveTest.ProjectId;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.UnitWorkId = nondestructiveTest.UnitWorkId;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.UnitId = nondestructiveTest.UnitId;
							 | 
						|||
| 
								 | 
							
								                //newNondestructiveTest.CNProfessionalId = nondestructiveTest.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.WelderCode = nondestructiveTest.WelderCode;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.NondestructiveTestCode = nondestructiveTest.NondestructiveTestCode;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.PieceCount = nondestructiveTest.PieceCount;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.OnceQualifiedCount = nondestructiveTest.OnceQualifiedCount;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.NondestructiveTestDate = nondestructiveTest.NondestructiveTestDate;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.WED_ID = nondestructiveTest.WED_ID;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.STE_ID = nondestructiveTest.STE_ID;
							 | 
						|||
| 
								 | 
							
								                newNondestructiveTest.InspectionAreaId = nondestructiveTest.InspectionAreaId;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据主键删除无损检测管理
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="nondestructiveTestId"></param>
							 | 
						|||
| 
								 | 
							
								        public static void DeleteNondestructiveTest(string nondestructiveTestId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.ProcessControl_NondestructiveTest nondestructiveTest = db.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTestId);
							 | 
						|||
| 
								 | 
							
								            if (nondestructiveTest != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                db.ProcessControl_NondestructiveTest.DeleteOnSubmit(nondestructiveTest);
							 | 
						|||
| 
								 | 
							
								                db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据单位获取对应时间内的集合
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="unitId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="startDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="SoptDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.ProcessControl_NondestructiveTest> GetNondestructiveTestListByUnitIdAndDate(string projectId, string unitId, DateTime startDate, DateTime SoptDate)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            List<Model.ProcessControl_NondestructiveTest> NondestructiveTestList = (from x in Funs.DB.ProcessControl_NondestructiveTest where x.ProjectId == projectId select x).ToList();
							 | 
						|||
| 
								 | 
							
								            NondestructiveTestList = (from x in NondestructiveTestList where x.UnitId == unitId select x).ToList();
							 | 
						|||
| 
								 | 
							
								            if (startDate != null && SoptDate != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                NondestructiveTestList = (from x in NondestructiveTestList where x.NondestructiveTestDate >= startDate && x.NondestructiveTestDate <= SoptDate select x).ToList();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return NondestructiveTestList;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |