369 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			369 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using FineUIPro;
							 | 
						|||
| 
								 | 
							
								using Microsoft.SqlServer.Dts.Runtime;
							 | 
						|||
| 
								 | 
							
								using NPOI.SS.Formula.Functions;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using Model;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace BLL
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public static class Project_HJGLData_DefectService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        public static SUBQHSEDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 获取列表
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 记录数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public static int count { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static List<Project_HJGLData_Defect> GetProject_HJGLData_DefectByModle(Project_HJGLData_Defect table)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var q = from x in db.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                    where
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.ProjectId) || x.Id.Contains(table.ProjectId)) &&
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.UnitId) || x.UnitId.Contains(table.UnitId)) &&
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.CollCropCode) || x.CollCropCode.Contains(table.CollCropCode)) &&
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.UnitName) || x.UnitName.Contains(table.UnitName)) &&
							 | 
						|||
| 
								 | 
							
								                        (string.IsNullOrEmpty(table.DefectName) || x.DefectName.Contains(table.DefectName))
							 | 
						|||
| 
								 | 
							
								                    select x
							 | 
						|||
| 
								 | 
							
								                ;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return q.ToList();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// 获取分页列表
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="PageIndex">页码</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="PageSize">每页数量</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static IEnumerable getListData(Project_HJGLData_Defect table, Grid Grid1)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var q = GetProject_HJGLData_DefectByModle(table);
							 | 
						|||
| 
								 | 
							
								            count = q.Count();
							 | 
						|||
| 
								 | 
							
								            if (count == 0) return null;
							 | 
						|||
| 
								 | 
							
								            // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
							 | 
						|||
| 
								 | 
							
								            return from x in q
							 | 
						|||
| 
								 | 
							
								                select new
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    x.Id,
							 | 
						|||
| 
								 | 
							
								                    x.ProjectId,
							 | 
						|||
| 
								 | 
							
								                    x.UnitId,
							 | 
						|||
| 
								 | 
							
								                    x.CollCropCode,
							 | 
						|||
| 
								 | 
							
								                    x.UnitName,
							 | 
						|||
| 
								 | 
							
								                    x.ReportDate,
							 | 
						|||
| 
								 | 
							
								                    x.DefectName,
							 | 
						|||
| 
								 | 
							
								                    x.DefectNum
							 | 
						|||
| 
								 | 
							
								                };
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static Project_HJGLData_Defect GetProject_HJGLData_DefectById(string Id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == Id);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取项目该日期的缺陷分析数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="reportDate"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectid"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Project_HJGLData_Defect> GetProject_HJGLData_DefectByDate(DateTime? reportDate,
							 | 
						|||
| 
								 | 
							
								            string projectid)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var q = from x in db.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid
							 | 
						|||
| 
								 | 
							
								                select x;
							 | 
						|||
| 
								 | 
							
								            return q.ToList();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void AddProject_HJGLData_Defect(Project_HJGLData_Defect newtable)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var table = new Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Id = newtable.Id,
							 | 
						|||
| 
								 | 
							
								                ProjectId = newtable.ProjectId,
							 | 
						|||
| 
								 | 
							
								                UnitId = newtable.UnitId,
							 | 
						|||
| 
								 | 
							
								                CollCropCode = newtable.CollCropCode,
							 | 
						|||
| 
								 | 
							
								                UnitName = newtable.UnitName,
							 | 
						|||
| 
								 | 
							
								                ReportDate = newtable.ReportDate,
							 | 
						|||
| 
								 | 
							
								                DefectName = newtable.DefectName,
							 | 
						|||
| 
								 | 
							
								                DefectNum = newtable.DefectNum
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								            db.Project_HJGLData_Defect.InsertOnSubmit(table);
							 | 
						|||
| 
								 | 
							
								            db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void AddBulkProject_HJGLData_Defect(List<Project_HJGLData_Defect> newtables)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            db.Project_HJGLData_Defect.InsertAllOnSubmit(newtables);
							 | 
						|||
| 
								 | 
							
								            db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void UpdateProject_HJGLData_Defect(Project_HJGLData_Defect newtable)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var table = db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == newtable.Id);
							 | 
						|||
| 
								 | 
							
								                if (table != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    table.Id = newtable.Id;
							 | 
						|||
| 
								 | 
							
								                    table.ProjectId = newtable.ProjectId;
							 | 
						|||
| 
								 | 
							
								                    table.UnitId = newtable.UnitId;
							 | 
						|||
| 
								 | 
							
								                    table.CollCropCode = newtable.CollCropCode;
							 | 
						|||
| 
								 | 
							
								                    table.UnitName = newtable.UnitName;
							 | 
						|||
| 
								 | 
							
								                    table.ReportDate = newtable.ReportDate;
							 | 
						|||
| 
								 | 
							
								                    table.DefectName = newtable.DefectName;
							 | 
						|||
| 
								 | 
							
								                    table.DefectNum = newtable.DefectNum;
							 | 
						|||
| 
								 | 
							
								                    db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void DeleteProject_HJGLData_DefectById(string Id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var table = db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == Id);
							 | 
						|||
| 
								 | 
							
								                if (table != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    db.Project_HJGLData_Defect.DeleteOnSubmit(table);
							 | 
						|||
| 
								 | 
							
								                    db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void DeleteProject_HJGLData_DefectByDate(DateTime? reportDate)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var table = db.Project_HJGLData_Defect.Where(x =>
							 | 
						|||
| 
								 | 
							
								                    x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0);
							 | 
						|||
| 
								 | 
							
								                if (table != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    db.Project_HJGLData_Defect.DeleteAllOnSubmit(table);
							 | 
						|||
| 
								 | 
							
								                    db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void DeleteProject_HJGLData_DefectByDate(DateTime? reportDate, string projectid)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var table = db.Project_HJGLData_Defect.Where(x =>
							 | 
						|||
| 
								 | 
							
								                    x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid);
							 | 
						|||
| 
								 | 
							
								                if (table != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    db.Project_HJGLData_Defect.DeleteAllOnSubmit(table);
							 | 
						|||
| 
								 | 
							
								                    db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 判断当天是否已统计数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static bool IsReportByToday(string projectid, string type)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var result = false;
							 | 
						|||
| 
								 | 
							
								            var q = (from x in Funs.DB.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date &&
							 | 
						|||
| 
								 | 
							
								                      x.ProjectId == projectid && x.DefectName == type
							 | 
						|||
| 
								 | 
							
								                select x).ToList();
							 | 
						|||
| 
								 | 
							
								            if (q != null && q.Count > 0) result = true;
							 | 
						|||
| 
								 | 
							
								            return result;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据projectid,获取当天的统计后的数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectid"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static Project_HJGLData_Defect getTodayProject_HJGLData_Defect(string projectid, string type)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var q = (from x in Funs.DB.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date &&
							 | 
						|||
| 
								 | 
							
								                      x.ProjectId == projectid && x.DefectName == type
							 | 
						|||
| 
								 | 
							
								                select x).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								            return q;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static List<HJGLDataDefectItems> getTodayProject_HJGLData_Defect()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var q = (from x in Funs.DB.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
							 | 
						|||
| 
								 | 
							
								                group x by x.DefectName
							 | 
						|||
| 
								 | 
							
								                into g
							 | 
						|||
| 
								 | 
							
								                select new HJGLDataDefectItems
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    Id = SQLHelper.GetNewID(),
							 | 
						|||
| 
								 | 
							
								                    DefectName = g.Key,
							 | 
						|||
| 
								 | 
							
								                    DefectNum = g.Sum(p => p.DefectNum)
							 | 
						|||
| 
								 | 
							
								                }).ToList();
							 | 
						|||
| 
								 | 
							
								            return q;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        public static List<HJGLDataDefectItems> GetModelByUnitIdAndReportDate(string Unitid, DateTime? reportdate)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!reportdate.HasValue)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                return new List<HJGLDataDefectItems>();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            var projectlist = BLL.ProjectService.GetProjectWorkList(Unitid);
							 | 
						|||
| 
								 | 
							
								            var q = (from x in Funs.DB.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate == reportdate && projectlist.Select(e => e.ProjectId).Contains(x.ProjectId)
							 | 
						|||
| 
								 | 
							
								                     group x by x.DefectName
							 | 
						|||
| 
								 | 
							
								                into g
							 | 
						|||
| 
								 | 
							
								                select new HJGLDataDefectItems
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    Id = SQLHelper.GetNewID(),
							 | 
						|||
| 
								 | 
							
								                    DefectName = g.Key,
							 | 
						|||
| 
								 | 
							
								                    DefectNum = g.Sum(p => p.DefectNum)
							 | 
						|||
| 
								 | 
							
								                }).ToList();
							 | 
						|||
| 
								 | 
							
								            return q;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        public static List<HJGLDataDefectItems> GetModelByReportDate( DateTime? reportdate)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!reportdate.HasValue)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                return new List<HJGLDataDefectItems>();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            var q = (from x in Funs.DB.Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                where x.ReportDate == reportdate  
							 | 
						|||
| 
								 | 
							
								                group x by x.DefectName
							 | 
						|||
| 
								 | 
							
								                into g
							 | 
						|||
| 
								 | 
							
								                select new HJGLDataDefectItems
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    Id = SQLHelper.GetNewID(),
							 | 
						|||
| 
								 | 
							
								                    DefectName = g.Key,
							 | 
						|||
| 
								 | 
							
								                    DefectNum = g.Sum(p => p.DefectNum)
							 | 
						|||
| 
								 | 
							
								                }).ToList();
							 | 
						|||
| 
								 | 
							
								            return q;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 统计所有在建项目数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public static void StatisticalAllProjectData()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var projectids = ProjectService.GetProjectWorkList().Select(x => x.ProjectId).ToList();
							 | 
						|||
| 
								 | 
							
								            var thisUnitId = string.Empty;
							 | 
						|||
| 
								 | 
							
								            var thisUnit = CommonService.GetIsThisUnit();
							 | 
						|||
| 
								 | 
							
								            if (thisUnit != null) thisUnitId = thisUnit.UnitId;
							 | 
						|||
| 
								 | 
							
								            var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
							 | 
						|||
| 
								 | 
							
								            var data = (from x in db.CH_CheckItem
							 | 
						|||
| 
								 | 
							
								                        join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID
							 | 
						|||
| 
								 | 
							
								                where projectids.Contains(y.ProjectId)
							 | 
						|||
| 
								 | 
							
								                group x by new { x.Defects_Definition, y.ProjectId }
							 | 
						|||
| 
								 | 
							
								                into g
							 | 
						|||
| 
								 | 
							
								                select new
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    UnitId = thisUnitId,
							 | 
						|||
| 
								 | 
							
								                    CollCropCode = baseUnit.CollCropCode,
							 | 
						|||
| 
								 | 
							
								                    UnitName = baseUnit.UnitName,
							 | 
						|||
| 
								 | 
							
								                    ProjectId = g.Key.ProjectId,
							 | 
						|||
| 
								 | 
							
								                    ReportDate = DateTime.Now.Date,
							 | 
						|||
| 
								 | 
							
								                    DefectName = g.Key.Defects_Definition,
							 | 
						|||
| 
								 | 
							
								                    DefectNum = g.Count(x => x.Defects_Definition == g.Key.Defects_Definition)
							 | 
						|||
| 
								 | 
							
								                }).ToList();
							 | 
						|||
| 
								 | 
							
								            DeleteProject_HJGLData_DefectByDate(DateTime.Now.Date); //删除当前所有
							 | 
						|||
| 
								 | 
							
								            var projectHjglDataDefect = new List<Project_HJGLData_Defect>();
							 | 
						|||
| 
								 | 
							
								            foreach (var item in data
							 | 
						|||
| 
								 | 
							
								                    )
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var table = new Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    Id = SQLHelper.GetNewID(),
							 | 
						|||
| 
								 | 
							
								                    UnitId = item.UnitId,
							 | 
						|||
| 
								 | 
							
								                    CollCropCode = item.CollCropCode,
							 | 
						|||
| 
								 | 
							
								                    UnitName = item.UnitName,
							 | 
						|||
| 
								 | 
							
								                    ProjectId = item.ProjectId,
							 | 
						|||
| 
								 | 
							
								                    ReportDate = item.ReportDate,
							 | 
						|||
| 
								 | 
							
								                    DefectName = item.DefectName,
							 | 
						|||
| 
								 | 
							
								                    DefectNum = item.DefectNum
							 | 
						|||
| 
								 | 
							
								                };
							 | 
						|||
| 
								 | 
							
								                projectHjglDataDefect.Add(table);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            AddBulkProject_HJGLData_Defect(projectHjglDataDefect); //批量增加
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 统计数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectid"></param>
							 | 
						|||
| 
								 | 
							
								        public static void StatisticalData(string projectid)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var thisUnitId = string.Empty;
							 | 
						|||
| 
								 | 
							
								            var thisUnit = CommonService.GetIsThisUnit();
							 | 
						|||
| 
								 | 
							
								            if (thisUnit != null) thisUnitId = thisUnit.UnitId;
							 | 
						|||
| 
								 | 
							
								            var base_Unit = UnitService.GetUnitByUnitId(thisUnitId);
							 | 
						|||
| 
								 | 
							
								            var list = from x in db.CH_CheckItem
							 | 
						|||
| 
								 | 
							
								                join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID
							 | 
						|||
| 
								 | 
							
								                where y.ProjectId == projectid
							 | 
						|||
| 
								 | 
							
								                select x;
							 | 
						|||
| 
								 | 
							
								            var types = (from x in list select x.Defects_Definition).Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								            foreach (var t in types)
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(t))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var table = new Project_HJGLData_Defect
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        UnitId = thisUnitId,
							 | 
						|||
| 
								 | 
							
								                        CollCropCode = base_Unit.CollCropCode,
							 | 
						|||
| 
								 | 
							
								                        UnitName = base_Unit.UnitName,
							 | 
						|||
| 
								 | 
							
								                        ProjectId = projectid,
							 | 
						|||
| 
								 | 
							
								                        ReportDate = DateTime.Now.Date,
							 | 
						|||
| 
								 | 
							
								                        DefectName = t,
							 | 
						|||
| 
								 | 
							
								                        DefectNum = list.Count(x => x.Defects_Definition == t)
							 | 
						|||
| 
								 | 
							
								                    };
							 | 
						|||
| 
								 | 
							
								                    if (IsReportByToday(projectid, t))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        table.Id = getTodayProject_HJGLData_Defect(projectid, t).Id;
							 | 
						|||
| 
								 | 
							
								                        UpdateProject_HJGLData_Defect(table);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        table.Id = SQLHelper.GetNewID();
							 | 
						|||
| 
								 | 
							
								                        AddProject_HJGLData_Defect(table);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取缺陷名称
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static string GetDefectName(string projectid)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var result = "";
							 | 
						|||
| 
								 | 
							
								            return result;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取缺陷数量
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static int GetDefectNum(string projectid)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var result = 0;
							 | 
						|||
| 
								 | 
							
								            return result;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |