302 lines
14 KiB
C#
302 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Collections;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 设计变更管理
|
|
/// </summary>
|
|
public static class DesignChangeOrderService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 记录数
|
|
/// </summary>
|
|
private static int count
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表
|
|
/// </summary>
|
|
/// <param name="projectId">项目id</param>
|
|
/// <param name="cNProfessionalId">专业id</param>
|
|
/// <param name="startDate">下发开始时间</param>
|
|
/// <param name="endDate">下发结束时间</param>
|
|
/// <param name="startRowIndex"></param>
|
|
/// <param name="maximumRows"></param>
|
|
/// <returns></returns>
|
|
public static IEnumerable GetListData(string projectId, string cNProfessionalId, string contents, string startDate, string endDate, int startRowIndex, int maximumRows)
|
|
{
|
|
IQueryable<Model.Comprehensive_DesignChangeOrder> q = from x in db.Comprehensive_DesignChangeOrder
|
|
where x.ProjectId == projectId
|
|
orderby x.ChangeOrderCode descending
|
|
select x;
|
|
if (cNProfessionalId != "0")
|
|
{
|
|
q = q.Where(e => e.CNProfessionalId == cNProfessionalId);
|
|
}
|
|
if (!string.IsNullOrEmpty(contents))
|
|
{
|
|
q = q.Where(e => e.Contents.Contains(contents));
|
|
}
|
|
//if (handleState != "0")
|
|
//{
|
|
// if (handleState == "1")
|
|
// {
|
|
// q = q.Where(e => e.HandleState == "1" || e.HandleState == "2");
|
|
// }
|
|
|
|
// if (handleState == "3")
|
|
// {
|
|
// q = q.Where(e => e.HandleState == handleState);
|
|
// }
|
|
//}
|
|
if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate))
|
|
{
|
|
q = q.Where(e => e.IssuedDate >= Funs.GetNewDateTime(startDate) && e.IssuedDate <= Funs.GetNewDateTime(endDate));
|
|
}
|
|
count = q.Count();
|
|
if (count == 0)
|
|
{
|
|
return new object[] { "" };
|
|
}
|
|
return from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.DesignChangeOrderId,
|
|
x.ProjectId,
|
|
ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(),
|
|
UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null,
|
|
x.ChangeOrderCode,
|
|
x.ChangeReason,
|
|
x.Contents,
|
|
x.IssuedDate,
|
|
x.ApprovalDate,
|
|
UnitName = x.UnitId != null ? BLL.UnitService.getUnitNamesUnitIds(x.UnitId) : null,
|
|
x.HandleState,
|
|
x.AttachUrl,
|
|
x.CompleteDate,
|
|
x.ImplementationFrontState
|
|
};
|
|
}
|
|
public static IEnumerable GetListDataForDataType(string installtionId,string projectId, string cNProfessionalId, string contents, string startDate, string endDate, int startRowIndex, int maximumRows)
|
|
{
|
|
IQueryable<Model.Comprehensive_DesignChangeOrder> q = from x in db.Comprehensive_DesignChangeOrder
|
|
where x.ProjectId == projectId
|
|
orderby x.ChangeOrderCode descending
|
|
select x;
|
|
if (cNProfessionalId != "0")
|
|
{
|
|
q = q.Where(e => e.CNProfessionalId == cNProfessionalId);
|
|
}
|
|
if (!string.IsNullOrEmpty(contents))
|
|
{
|
|
q = q.Where(e => e.Contents.Contains(contents));
|
|
}
|
|
if (!string.IsNullOrEmpty(installtionId))
|
|
{
|
|
q = q.Where(e => e.UnitWorkId.Contains(installtionId));
|
|
}
|
|
//if (handleState != "0")
|
|
//{
|
|
// if (handleState == "1")
|
|
// {
|
|
// q = q.Where(e => e.HandleState == "1" || e.HandleState == "2");
|
|
// }
|
|
|
|
// if (handleState == "3")
|
|
// {
|
|
// q = q.Where(e => e.HandleState == handleState);
|
|
// }
|
|
//}
|
|
if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate))
|
|
{
|
|
q = q.Where(e => e.IssuedDate >= Funs.GetNewDateTime(startDate) && e.IssuedDate <= Funs.GetNewDateTime(endDate));
|
|
}
|
|
count = q.Count();
|
|
if (count == 0)
|
|
{
|
|
return new object[] { "" };
|
|
}
|
|
return from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.DesignChangeOrderId,
|
|
x.ProjectId,
|
|
ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(),
|
|
UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null,
|
|
x.ChangeOrderCode,
|
|
x.ChangeReason,
|
|
x.Contents,
|
|
x.IssuedDate,
|
|
x.ApprovalDate,
|
|
UnitName = x.UnitId != null ? BLL.UnitService.getUnitNamesUnitIds(x.UnitId) : null,
|
|
x.HandleState,
|
|
x.AttachUrl,
|
|
x.CompleteDate,
|
|
x.ImplementationFrontState
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表数
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="cNProfessionalId"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <returns></returns>
|
|
public static int GetListCount(string projectId, string cNProfessionalId, string contents, string startDate, string endDate)
|
|
{
|
|
return count;
|
|
}
|
|
public static int GetListCountForDataType(string installtionId, string projectId, string cNProfessionalId, string contents, string startDate, string endDate)
|
|
{
|
|
return count;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键获取设计变更管理
|
|
/// </summary>
|
|
/// <param name="designChangeOrderId"></param>
|
|
/// <returns></returns>
|
|
public static Model.Comprehensive_DesignChangeOrder GetDesignChangeOrderById(string designChangeOrderId)
|
|
{
|
|
return Funs.DB.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == designChangeOrderId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加设计变更单管理
|
|
/// </summary>
|
|
/// <param name="desginChangeOrder"></param>
|
|
public static void AddDesignChangeOrder(Model.Comprehensive_DesignChangeOrder desginChangeOrder)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_DesignChangeOrder newDesignChangeOrder = new Model.Comprehensive_DesignChangeOrder();
|
|
newDesignChangeOrder.DesignChangeOrderId = desginChangeOrder.DesignChangeOrderId;
|
|
newDesignChangeOrder.ProjectId = desginChangeOrder.ProjectId;
|
|
newDesignChangeOrder.CNProfessionalId = desginChangeOrder.CNProfessionalId;
|
|
newDesignChangeOrder.UnitWorkId = desginChangeOrder.UnitWorkId;
|
|
newDesignChangeOrder.ChangeOrderCode = desginChangeOrder.ChangeOrderCode;
|
|
newDesignChangeOrder.ChangeReason = desginChangeOrder.ChangeReason;
|
|
newDesignChangeOrder.Contents = desginChangeOrder.Contents;
|
|
newDesignChangeOrder.IssuedDate = desginChangeOrder.IssuedDate;
|
|
newDesignChangeOrder.ApprovalDate = desginChangeOrder.ApprovalDate;
|
|
newDesignChangeOrder.UnitId = desginChangeOrder.UnitId;
|
|
newDesignChangeOrder.HandleState = desginChangeOrder.HandleState;
|
|
newDesignChangeOrder.AttachUrl = desginChangeOrder.AttachUrl;
|
|
newDesignChangeOrder.ImplementationFrontState = desginChangeOrder.ImplementationFrontState;
|
|
newDesignChangeOrder.CompileMan = desginChangeOrder.CompileMan;
|
|
newDesignChangeOrder.CompileDate = desginChangeOrder.CompileDate;
|
|
newDesignChangeOrder.CompleteDate = desginChangeOrder.CompleteDate;
|
|
newDesignChangeOrder.Status = desginChangeOrder.Status;
|
|
db.Comprehensive_DesignChangeOrder.InsertOnSubmit(newDesignChangeOrder);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改设计变更单管理
|
|
/// </summary>
|
|
/// <param name="designChangeOrder"></param>
|
|
public static void UpdateDesignChangeOrder(Model.Comprehensive_DesignChangeOrder desginChangeOrder)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_DesignChangeOrder newDesignChangeOrder = db.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == desginChangeOrder.DesignChangeOrderId);
|
|
if (newDesignChangeOrder != null)
|
|
{
|
|
newDesignChangeOrder.ProjectId = desginChangeOrder.ProjectId;
|
|
newDesignChangeOrder.CNProfessionalId = desginChangeOrder.CNProfessionalId;
|
|
newDesignChangeOrder.UnitWorkId = desginChangeOrder.UnitWorkId;
|
|
newDesignChangeOrder.ChangeOrderCode = desginChangeOrder.ChangeOrderCode;
|
|
newDesignChangeOrder.ChangeReason = desginChangeOrder.ChangeReason;
|
|
newDesignChangeOrder.Contents = desginChangeOrder.Contents;
|
|
newDesignChangeOrder.IssuedDate = desginChangeOrder.IssuedDate;
|
|
newDesignChangeOrder.ApprovalDate = desginChangeOrder.ApprovalDate;
|
|
newDesignChangeOrder.UnitId = desginChangeOrder.UnitId;
|
|
newDesignChangeOrder.HandleState = desginChangeOrder.HandleState;
|
|
newDesignChangeOrder.AttachUrl = desginChangeOrder.AttachUrl;
|
|
newDesignChangeOrder.ImplementationFrontState = desginChangeOrder.ImplementationFrontState;
|
|
newDesignChangeOrder.CompleteDate = desginChangeOrder.CompleteDate;
|
|
newDesignChangeOrder.Status = desginChangeOrder.Status;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除设计变更单管理
|
|
/// </summary>
|
|
/// <param name="desginChangeOrderId"></param>
|
|
public static void DeleteDesginChangeOrder(string desginChangeOrderId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Comprehensive_DesignChangeOrder designChangeOrder = db.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == desginChangeOrderId);
|
|
if (designChangeOrder != null)
|
|
{
|
|
if (!string.IsNullOrEmpty(designChangeOrder.AttachUrl))
|
|
{
|
|
BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, designChangeOrder.AttachUrl);//删除附件
|
|
}
|
|
db.Comprehensive_DesignChangeOrder.DeleteOnSubmit(designChangeOrder);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据装置判断是否存在设计变更单管理
|
|
/// </summary>
|
|
/// <param name="UnitWorkId">装置Id</param>
|
|
/// <returns></returns>
|
|
public static bool IsExitDesignChangeOrderByUnitWorkId(string UnitWorkId)
|
|
{
|
|
return (from x in Funs.DB.Comprehensive_DesignChangeOrder
|
|
where x.UnitWorkId == UnitWorkId
|
|
select x).Count() > 0;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据专业获取对应时间内的设计变更单集合
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="cNProfessionalId"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="SoptDate"></param>
|
|
/// <param name="isOnceQualified"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Comprehensive_DesignChangeOrder> GetDesignChangeOrderListByCNProfessionalIdAndDate(string projectId, string cNProfessionalId, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.Comprehensive_DesignChangeOrder> DesignChangeOrderList = (from x in Funs.DB.Comprehensive_DesignChangeOrder where x.ProjectId == projectId select x).ToList();
|
|
if (!string.IsNullOrEmpty(cNProfessionalId) && cNProfessionalId != "0")
|
|
{
|
|
DesignChangeOrderList = (from x in DesignChangeOrderList where x.CNProfessionalId == cNProfessionalId select x).ToList();
|
|
}
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
DesignChangeOrderList = (from x in DesignChangeOrderList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList();
|
|
}
|
|
|
|
return DesignChangeOrderList;
|
|
}
|
|
public static List<Model.Comprehensive_DesignChangeOrder> GetDesignChangeOrderListByUnitIdAndDate(string projectId, string unitId, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.Comprehensive_DesignChangeOrder> DesignChangeOrderList = (from x in Funs.DB.Comprehensive_DesignChangeOrder where x.ProjectId == projectId select x).ToList();
|
|
if (!string.IsNullOrEmpty(unitId) && unitId != "0")
|
|
{
|
|
DesignChangeOrderList = (from x in DesignChangeOrderList where x.UnitId == unitId select x).ToList();
|
|
}
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
DesignChangeOrderList = (from x in DesignChangeOrderList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList();
|
|
}
|
|
|
|
return DesignChangeOrderList;
|
|
}
|
|
}
|
|
}
|