using FineUIPro; using Model; using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Newtonsoft.Json.Linq; using System.Net.PeerToPeer; namespace BLL { public static class HJGLData_HJGLService { public static SGGLDB db = Funs.DB; #region 获取列表 /// /// 记录数 /// public static int count { get; set; } public static List GetHJGLData_HJGLByModle(HJGLData_HJGL table) { var 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(); } /// 获取分页列表 /// /// 页码 /// 每页数量 /// public static IEnumerable getListData(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(HJGLData_HJGL newtable) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var table = new 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) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var table = db.HJGLData_HJGL.FirstOrDefault(x => x.Id == Id); if (table != null) { db.HJGLData_HJGL.DeleteOnSubmit(table); db.SubmitChanges(); } } } public static HJGLData_HJGL GetHJGLData_HJGLById(string Id) { var db = Funs.DB; return db.HJGLData_HJGL.FirstOrDefault(x => x.Id == Id); } public static HJGLData GetItemById(string Id) { var item = new HJGLDataItem(); var data = new HJGLData(); var data_HJGL = GetHJGLData_HJGLById(Id); if (data_HJGL != null) { var data_HJGL_detail = 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(); if (data_HJGL_detail != null) { foreach (var detail in data_HJGL_detail) { var hjglDataDefectItem = new HJGLDataDefectItems(); hjglDataDefectItem.DefectNum = detail.DefectNum; hjglDataDefectItem.DefectName = detail.DefectName; hjglDataDefectItem.Id = detail.Id; list.Add(hjglDataDefectItem); } item.HJGLDataDefectItems = list; } } var hJGLDataItems = new List(); hJGLDataItems.Add(item); data.HJGLDataItems = hJGLDataItems; return data; } public static HJGLData GetTodayHJGLData_HJGL() { var data = new HJGLData(); if (CommonService.GetIsThisUnit().CollCropCode== "91410200170644116B") { return GetELECLTodayHJGLData_HJGL(); } var q = GetTodayData(); if (q != null && q.State == Const.CNCEC_State_S) data = StatisticalData(); else data = StatisticalData(); return data; } /// /// 获取十一化建焊接数据 /// /// public static HJGLData GetELECLTodayHJGLData_HJGL() { var data = new HJGLData(); string baseurl = "http://36.99.162.230:9493/sgglapi/api/CNCECServer/PostGetHJGLData"; string token = Const.sysglyId; string response = Funs.RequestPost(baseurl, token, ""); var json = JsonConvert.DeserializeObject(response) as JObject; if (json != null && json["code"]?.ToString()=="1") { var str = json["data"]?.ToString(); if (str != null) data = JsonConvert.DeserializeObject(str); } return data; } public static 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; } /// /// 判断当天是否已上报 /// /// 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.Count > 0) result = true; return result; } public static ReturnData PushCncec(string Id) { var baseurl = "/api/HJGLData/SaveHJGLData"; var item = GetItemById(Id); var str = JsonConvert.SerializeObject(item); var responeData = ServerService.PushCNCEC(str, baseurl); return responeData; } public static HJGLData StatisticalData() { var data = new HJGLData(); var thisUnitId = string.Empty; var thisUnit = CommonService.GetIsThisUnit(); if (thisUnit != null) thisUnitId = thisUnit.UnitId; var baseUnit = 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(); Project_HJGLData_DefectService.StatisticalAllProjectData(); var table = new HJGLData_HJGL { UnitId = thisUnitId, CollCropCode = baseUnit.CollCropCode, UnitName = baseUnit.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); } var 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(); var hJGLDataItems = new List(); hJGLDataItems.Add(item); data.HJGLDataItems = hJGLDataItems; return data; } public static void UpdateHJGLData_HJGL(HJGLData_HJGL newtable) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var 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(); } } } } }