325 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			325 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
using FineUIPro;
 | 
						|
using Model;
 | 
						|
using Newtonsoft.Json;
 | 
						|
using System;
 | 
						|
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
 | 
						|
namespace BLL
 | 
						|
{
 | 
						|
    public static class HJGLData_HJGLService
 | 
						|
    {
 | 
						|
        public static Model.SGGLDB db = Funs.DB;
 | 
						|
 | 
						|
        #region 获取列表
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 记录数
 | 
						|
        /// </summary>
 | 
						|
        public static int count
 | 
						|
        {
 | 
						|
            get;
 | 
						|
            set;
 | 
						|
        }
 | 
						|
 | 
						|
        public static List<Model.HJGLData_HJGL> GetHJGLData_HJGLByModle(Model.HJGLData_HJGL table)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            var q = from x in db.HJGLData_HJGL
 | 
						|
                    where
 | 
						|
                              (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
 | 
						|
                              (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))
 | 
						|
                    orderby x.ReportDate descending
 | 
						|
                    select x
 | 
						|
                  ;
 | 
						|
 | 
						|
            return q.ToList();
 | 
						|
        }
 | 
						|
 | 
						|
        /// 获取分页列表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="PageIndex">页码</param>
 | 
						|
        /// <param name="PageSize">每页数量</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static IEnumerable getListData(Model.HJGLData_HJGL table, Grid Grid1)
 | 
						|
        {
 | 
						|
            var q = GetHJGLData_HJGLByModle(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.UnitId,
 | 
						|
                       x.CollCropCode,
 | 
						|
                       x.UnitName,
 | 
						|
                       x.ReportDate,
 | 
						|
                       x.WelderNum,
 | 
						|
                       x.TotalDineNum,
 | 
						|
                       x.CompleteDineNum,
 | 
						|
                       x.TotalFilmNum,
 | 
						|
                       x.OKFilmNum,
 | 
						|
                       x.State,
 | 
						|
                       x.CreateDate,
 | 
						|
                       x.CreateMan,
 | 
						|
                   };
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion 获取列表
 | 
						|
 | 
						|
        public static void AddHJGLData_HJGL(Model.HJGLData_HJGL newtable)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.HJGLData_HJGL table = new Model.HJGLData_HJGL
 | 
						|
            {
 | 
						|
                Id = newtable.Id,
 | 
						|
                UnitId = newtable.UnitId,
 | 
						|
                CollCropCode = newtable.CollCropCode,
 | 
						|
                UnitName = newtable.UnitName,
 | 
						|
                ReportDate = newtable.ReportDate,
 | 
						|
                WelderNum = newtable.WelderNum,
 | 
						|
                TotalDineNum = newtable.TotalDineNum,
 | 
						|
                CompleteDineNum = newtable.CompleteDineNum,
 | 
						|
                TotalFilmNum = newtable.TotalFilmNum,
 | 
						|
                OKFilmNum = newtable.OKFilmNum,
 | 
						|
                State = newtable.State,
 | 
						|
                CreateDate = newtable.CreateDate,
 | 
						|
                CreateMan = newtable.CreateMan,
 | 
						|
            };
 | 
						|
            db.HJGLData_HJGL.InsertOnSubmit(table);
 | 
						|
            db.SubmitChanges();
 | 
						|
        }
 | 
						|
 | 
						|
        public static void DeleteHJGLData_HJGLById(string Id)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.HJGLData_HJGL table = db.HJGLData_HJGL.FirstOrDefault(x => x.Id == Id);
 | 
						|
            if (table != null)
 | 
						|
            {
 | 
						|
                db.HJGLData_HJGL.DeleteOnSubmit(table);
 | 
						|
                db.SubmitChanges();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public static Model.HJGLData_HJGL GetHJGLData_HJGLById(string Id)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            return db.HJGLData_HJGL.FirstOrDefault(x => x.Id == Id);
 | 
						|
        }
 | 
						|
 | 
						|
        public static Model.HJGLData GetItemById(string Id)
 | 
						|
        {
 | 
						|
            HJGLDataItem item = new HJGLDataItem();
 | 
						|
            HJGLData data = new HJGLData();
 | 
						|
            var data_HJGL = GetHJGLData_HJGLById(Id);
 | 
						|
            if (data_HJGL != null)
 | 
						|
            {
 | 
						|
                var data_HJGL_detail = BLL.HJGLData_DefectService.GetHJGLData_DefectByDate(data_HJGL.ReportDate);
 | 
						|
 | 
						|
                item.CollCropCode = data_HJGL.CollCropCode;
 | 
						|
                item.CompleteDineNum = data_HJGL.CompleteDineNum;
 | 
						|
                item.Id = data_HJGL.Id;
 | 
						|
                item.OKFilmNum = data_HJGL.OKFilmNum;
 | 
						|
                item.ReportDate = data_HJGL.ReportDate.Value.ToShortDateString();
 | 
						|
                item.TotalDineNum = data_HJGL.TotalDineNum;
 | 
						|
                item.TotalFilmNum = data_HJGL.TotalFilmNum;
 | 
						|
                item.UnitId = data_HJGL.UnitId;
 | 
						|
                item.WelderNum = data_HJGL.WelderNum;
 | 
						|
                var list = new List<HJGLDataDefectItems>();
 | 
						|
                if (data_HJGL_detail != null)
 | 
						|
                {
 | 
						|
                    foreach (var detail in data_HJGL_detail)
 | 
						|
                    {
 | 
						|
                        HJGLDataDefectItems hjglDataDefectItem = new HJGLDataDefectItems();
 | 
						|
                        hjglDataDefectItem.DefectNum = detail.DefectNum;
 | 
						|
                        hjglDataDefectItem.DefectName = detail.DefectName;
 | 
						|
                        hjglDataDefectItem.Id = detail.Id;
 | 
						|
                        list.Add(hjglDataDefectItem);
 | 
						|
                    }
 | 
						|
                    item.HJGLDataDefectItems = list;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            List<HJGLDataItem> hJGLDataItems = new List<HJGLDataItem>();
 | 
						|
            hJGLDataItems.Add(item);
 | 
						|
            data.HJGLDataItems = hJGLDataItems;
 | 
						|
            return data;
 | 
						|
        }
 | 
						|
 | 
						|
        public static Model.HJGLData GetTodayHJGLData_HJGL()
 | 
						|
        {
 | 
						|
            var q = GetTodayData();
 | 
						|
            HJGLData data = new HJGLData();
 | 
						|
            if (q != null && q.State == Const.CNCEC_State_S)
 | 
						|
            {
 | 
						|
                
 | 
						|
                HJGLDataItem item = new HJGLDataItem();
 | 
						|
                item.CollCropCode = q.CollCropCode;
 | 
						|
                item.CompleteDineNum = q.CompleteDineNum;
 | 
						|
                item.Id = q.Id;
 | 
						|
                item.OKFilmNum = q.OKFilmNum;
 | 
						|
                item.ReportDate = q.ReportDate.Value.ToShortDateString();
 | 
						|
                item.TotalDineNum = q.TotalDineNum;
 | 
						|
                item.TotalFilmNum = q.TotalFilmNum;
 | 
						|
                item.UnitId = q.UnitId;
 | 
						|
                item.WelderNum = q.WelderNum;
 | 
						|
                item.HJGLDataDefectItems = Project_HJGLData_DefectService.getTodayProject_HJGLData_Defect();
 | 
						|
                List<HJGLDataItem> hJGLDataItems = new List<HJGLDataItem>();
 | 
						|
                hJGLDataItems.Add(item);
 | 
						|
                data.HJGLDataItems = hJGLDataItems;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                data = StatisticalData();
 | 
						|
            }
 | 
						|
            return data;
 | 
						|
        }
 | 
						|
        public static Model.HJGLData_HJGL GetTodayData()
 | 
						|
        {
 | 
						|
            var q = (from x in Funs.DB.HJGLData_HJGL
 | 
						|
                     where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
 | 
						|
                     select x).FirstOrDefault();
 | 
						|
            return q;
 | 
						|
        }
 | 
						|
        public static void UpdateTodyData_State()
 | 
						|
        {
 | 
						|
            var q = GetTodayData();
 | 
						|
            if (q!=null)
 | 
						|
            {
 | 
						|
                q.State = Const.CNCEC_State_1;
 | 
						|
                UpdateHJGLData_HJGL(q);
 | 
						|
            }
 | 
						|
            
 | 
						|
        }
 | 
						|
        public static bool IsReportByDate(DateTime dateTime)
 | 
						|
        {
 | 
						|
            var result = false;
 | 
						|
            var q = (from x in Funs.DB.HJGLData_HJGL
 | 
						|
                     where x.ReportDate >= dateTime.Date && x.ReportDate < (dateTime.Date.AddDays(1).Date)
 | 
						|
                     select x).ToList();
 | 
						|
            if (q != null && q.Count > 0)
 | 
						|
            {
 | 
						|
                result = true;
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 判断当天是否已上报
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static bool IsReportByToday()
 | 
						|
        {
 | 
						|
            var result = false;
 | 
						|
            var q = (from x in Funs.DB.HJGLData_HJGL
 | 
						|
                     where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
 | 
						|
                     select x).ToList();
 | 
						|
            if (q != null && q.Count > 0)
 | 
						|
            {
 | 
						|
                result = true;
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
 | 
						|
        public static Model.ReturnData PushCNCEC(string Id)
 | 
						|
        {
 | 
						|
            string baseurl = "/api/HJGLData/SaveHJGLData";
 | 
						|
            var item = GetItemById(Id);
 | 
						|
            string str = JsonConvert.SerializeObject(item);
 | 
						|
            var responeData = BLL.ServerService.PushCNCEC(str, baseurl);
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
 | 
						|
        public static HJGLData StatisticalData()
 | 
						|
        {
 | 
						|
            HJGLData data = new HJGLData();
 | 
						|
            string thisUnitId = string.Empty;
 | 
						|
            var thisUnit = Const.UnitId_CWCEC;
 | 
						|
            if (thisUnit != null)
 | 
						|
            {
 | 
						|
                thisUnitId = thisUnit;
 | 
						|
            }
 | 
						|
            var base_Unit = BLL.UnitService.GetUnitByUnitId(thisUnitId);
 | 
						|
            var ProjectData = (from x in Funs.DB.Project_HJGLData_HJGL
 | 
						|
                               where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
 | 
						|
                               select x).ToList();
 | 
						|
            Project_HJGLData_HJGLService.StatisticalAllProjectData();
 | 
						|
 | 
						|
            Model.HJGLData_HJGL table = new Model.HJGLData_HJGL
 | 
						|
            {
 | 
						|
                UnitId = thisUnitId,
 | 
						|
                CollCropCode = base_Unit.CollCropCode,
 | 
						|
                UnitName = base_Unit.UnitName,
 | 
						|
                ReportDate = DateTime.Now.Date,
 | 
						|
                WelderNum = ProjectData.Sum(x => x.WelderNum),
 | 
						|
                TotalDineNum = ProjectData.Sum(x => x.TotalDineNum),
 | 
						|
                CompleteDineNum = ProjectData.Sum(x => x.CompleteDineNum),
 | 
						|
                TotalFilmNum = ProjectData.Sum(x => x.TotalFilmNum),
 | 
						|
                OKFilmNum = ProjectData.Sum(x => x.OKFilmNum),
 | 
						|
                CreateMan = Const.sysglyId,
 | 
						|
                CreateDate = DateTime.Now,
 | 
						|
            };
 | 
						|
            if (IsReportByToday())
 | 
						|
            {
 | 
						|
                table.Id = GetTodayData().Id;
 | 
						|
                table.State = Const.CNCEC_State_1;
 | 
						|
                UpdateHJGLData_HJGL(table);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                table.Id = SQLHelper.GetNewID();
 | 
						|
                table.State = Const.CNCEC_State_0;
 | 
						|
 | 
						|
                AddHJGLData_HJGL(table);
 | 
						|
            }
 | 
						|
            HJGLDataItem item = new HJGLDataItem();
 | 
						|
            item.CollCropCode = table.CollCropCode;
 | 
						|
            item.CompleteDineNum = table.CompleteDineNum;
 | 
						|
            item.Id = table.Id;
 | 
						|
            item.OKFilmNum = table.OKFilmNum;
 | 
						|
            item.ReportDate = table.ReportDate.Value.ToShortDateString();
 | 
						|
            item.TotalDineNum = table.TotalDineNum;
 | 
						|
            item.TotalFilmNum = table.TotalFilmNum;
 | 
						|
            item.UnitId = table.UnitId;
 | 
						|
            item.WelderNum = table.WelderNum;
 | 
						|
            item.HJGLDataDefectItems = Project_HJGLData_DefectService.getTodayProject_HJGLData_Defect();
 | 
						|
            List<HJGLDataItem> hJGLDataItems = new List<HJGLDataItem>();
 | 
						|
            hJGLDataItems.Add(item);
 | 
						|
 | 
						|
            data.HJGLDataItems = hJGLDataItems;
 | 
						|
            return data;
 | 
						|
 | 
						|
           
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
        public static void UpdateHJGLData_HJGL(Model.HJGLData_HJGL newtable)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.HJGLData_HJGL table = db.HJGLData_HJGL.FirstOrDefault(x => x.Id == newtable.Id);
 | 
						|
            if (table != null)
 | 
						|
            {
 | 
						|
                table.Id = newtable.Id;
 | 
						|
                table.UnitId = newtable.UnitId;
 | 
						|
                table.CollCropCode = newtable.CollCropCode;
 | 
						|
                table.UnitName = newtable.UnitName;
 | 
						|
                table.ReportDate = newtable.ReportDate;
 | 
						|
                table.WelderNum = newtable.WelderNum;
 | 
						|
                table.TotalDineNum = newtable.TotalDineNum;
 | 
						|
                table.CompleteDineNum = newtable.CompleteDineNum;
 | 
						|
                table.TotalFilmNum = newtable.TotalFilmNum;
 | 
						|
                table.OKFilmNum = newtable.OKFilmNum;
 | 
						|
                table.State = newtable.State;
 | 
						|
                table.CreateMan = newtable.CreateMan;
 | 
						|
                table.CreateDate = newtable.CreateDate;
 | 
						|
                db.SubmitChanges();
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |