225 lines
10 KiB
C#
225 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Collections;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// NCR管理
|
|
/// </summary>
|
|
public static class NCRManagementService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 记录数
|
|
/// </summary>
|
|
private static int count
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表
|
|
/// </summary>
|
|
/// <param name="startRowIndex"></param>
|
|
/// <param name="maximumRows"></param>
|
|
/// <returns></returns>
|
|
public static IEnumerable GetListData(string projectId, string sendUnit, string cnProfessionalId, string startDate, string endDate, int startRowIndex, int maximumRows)
|
|
{
|
|
IQueryable<Model.Comprehensive_NCRManagement> q = from x in db.Comprehensive_NCRManagement
|
|
where x.ProjectId == projectId
|
|
orderby x.IssuedDate descending
|
|
select x;
|
|
if (sendUnit!="0")
|
|
{
|
|
q = q.Where(e => e.SendUnit == sendUnit);
|
|
}
|
|
if (cnProfessionalId != "0")
|
|
{
|
|
q = q.Where(e => e.CNProfessionalId == cnProfessionalId);
|
|
}
|
|
if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate) && Convert.ToDateTime(startDate) <= Convert.ToDateTime(endDate))
|
|
{
|
|
q = q.Where(e => e.CompleteDate >= Convert.ToDateTime(startDate) && e.CompleteDate <= Convert.ToDateTime(endDate));
|
|
}
|
|
count = q.Count();
|
|
if (count == 0)
|
|
{
|
|
return new object[] { };
|
|
}
|
|
return from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.NCRManagementId,
|
|
x.ProjectId,
|
|
SendUnit=(from y in db.Base_Unit where y.UnitId==x.SendUnit select y.UnitName).FirstOrDefault(),
|
|
ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(),
|
|
x.NCRCode,
|
|
x.Contents,
|
|
x.IssuedDate,
|
|
ReceiveUnit = x.ReceiveUnit!= null ? BLL.UnitService.getUnitNamesUnitIds(x.ReceiveUnit) : null,
|
|
UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null,
|
|
x.ClosedDate,
|
|
x.CompleteDate,
|
|
x.ResponsibleMan,
|
|
x.AttachUrl,
|
|
x.ImplementationFrontState,
|
|
//TotalCount = x.NCRManagementId.Count()
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表数
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <returns></returns>
|
|
public static int GetListCount(string projectId, string sendUnit, string cnProfessionalId, string startDate, string endDate)
|
|
{
|
|
return count;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键获取NCR管理
|
|
/// </summary>
|
|
/// <param name="nCRManagementId"></param>
|
|
/// <returns></returns>
|
|
public static Model.Comprehensive_NCRManagement GetNCRManagementById(string nCRManagementId)
|
|
{
|
|
return Funs.DB.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagementId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加NCR管理
|
|
/// </summary>
|
|
/// <param name="nCRManagement"></param>
|
|
public static void AddNCRManagement(Model.Comprehensive_NCRManagement nCRManagement)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_NCRManagement newNCRManagement = new Model.Comprehensive_NCRManagement();
|
|
newNCRManagement.NCRManagementId = nCRManagement.NCRManagementId;
|
|
newNCRManagement.ProjectId = nCRManagement.ProjectId;
|
|
newNCRManagement.SendUnit = nCRManagement.SendUnit;
|
|
newNCRManagement.CNProfessionalId = nCRManagement.CNProfessionalId;
|
|
newNCRManagement.NCRCode = nCRManagement.NCRCode;
|
|
newNCRManagement.Contents = nCRManagement.Contents;
|
|
newNCRManagement.IssuedDate = nCRManagement.IssuedDate;
|
|
newNCRManagement.ReceiveUnit = nCRManagement.ReceiveUnit;
|
|
newNCRManagement.ClosedDate = nCRManagement.ClosedDate;
|
|
newNCRManagement.CompleteDate = nCRManagement.CompleteDate;
|
|
newNCRManagement.ResponsibleMan = nCRManagement.ResponsibleMan;
|
|
newNCRManagement.AttachUrl = nCRManagement.AttachUrl;
|
|
newNCRManagement.ImplementationFrontState = nCRManagement.ImplementationFrontState;
|
|
newNCRManagement.CompileMan = nCRManagement.CompileMan;
|
|
newNCRManagement.UnitWorkId = nCRManagement.UnitWorkId;
|
|
newNCRManagement.Status = nCRManagement.Status;
|
|
db.Comprehensive_NCRManagement.InsertOnSubmit(newNCRManagement);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改NCR管理
|
|
/// </summary>
|
|
/// <param name="nCRManagement"></param>
|
|
public static void UpdateNCRManagement(Model.Comprehensive_NCRManagement nCRManagement)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_NCRManagement newNCRManagement = db.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagement.NCRManagementId);
|
|
if (newNCRManagement != null)
|
|
{
|
|
newNCRManagement.ProjectId = nCRManagement.ProjectId;
|
|
newNCRManagement.SendUnit = nCRManagement.SendUnit;
|
|
newNCRManagement.CNProfessionalId = nCRManagement.CNProfessionalId;
|
|
newNCRManagement.NCRCode = nCRManagement.NCRCode;
|
|
newNCRManagement.Contents = nCRManagement.Contents;
|
|
newNCRManagement.IssuedDate = nCRManagement.IssuedDate;
|
|
newNCRManagement.ReceiveUnit = nCRManagement.ReceiveUnit;
|
|
newNCRManagement.ClosedDate = nCRManagement.ClosedDate;
|
|
newNCRManagement.CompleteDate = nCRManagement.CompleteDate;
|
|
newNCRManagement.ResponsibleMan = nCRManagement.ResponsibleMan;
|
|
newNCRManagement.AttachUrl = nCRManagement.AttachUrl;
|
|
newNCRManagement.ImplementationFrontState = nCRManagement.ImplementationFrontState;
|
|
newNCRManagement.UnitWorkId = nCRManagement.UnitWorkId;
|
|
newNCRManagement.Status = nCRManagement.Status;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除NCR管理
|
|
/// </summary>
|
|
/// <param name="nCRManagementId"></param>
|
|
public static void DeleteNCRManagement(string nCRManagementId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_NCRManagement nCRManagement = db.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagementId);
|
|
if (nCRManagement != null)
|
|
{
|
|
if (!string.IsNullOrEmpty(nCRManagement.AttachUrl))
|
|
{
|
|
BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, nCRManagement.AttachUrl);//删除附件
|
|
}
|
|
db.Comprehensive_NCRManagement.DeleteOnSubmit(nCRManagement);
|
|
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.Comprehensive_NCRManagement> GetNCRManagementListByDate(string projectId, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.Comprehensive_NCRManagement> NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId select x).ToList();
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList();
|
|
}
|
|
return NondestructiveTestList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据接收单位获取对应时间内的集合
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="unitName"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="SoptDate"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Comprehensive_NCRManagement> GetNCRManagementListByUnitNameAndDate(string projectId, string unitName, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.Comprehensive_NCRManagement> NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId && x.ReceiveUnit==unitName select x).ToList();
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList();
|
|
}
|
|
return NondestructiveTestList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据专业获取对应时间内的集合
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="cNProfessionalId"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="SoptDate"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Comprehensive_NCRManagement> GetNCRManagementListByCNProfessionalIdAndDate(string projectId, string cNProfessionalId, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.Comprehensive_NCRManagement> NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId && x.CNProfessionalId == cNProfessionalId select x).ToList();
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList();
|
|
}
|
|
return NondestructiveTestList;
|
|
}
|
|
}
|
|
}
|