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();
|
|
}
|
|
}
|
|
}
|
|
} |