666 lines
31 KiB
C#
666 lines
31 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace BLL
|
|
{
|
|
public class DesignService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 记录数
|
|
/// </summary>
|
|
private static int count
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 定义变量
|
|
/// </summary>
|
|
private static IQueryable<Model.Check_Design> qq = from x in db.Check_Design orderby x.DesignDate descending select x;
|
|
|
|
|
|
public static string CovBool(bool? b)
|
|
{
|
|
string str = string.Empty;
|
|
if (b == true)
|
|
{
|
|
str = "是";
|
|
}
|
|
else if (b == false)
|
|
{
|
|
str = "否";
|
|
}
|
|
return str;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取列表数
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static int getListCount(string projectId, string userId, string roleId, string designType, string startTime, string endTime, string unitId, string mainItemId, string cNProfessionalCode)
|
|
{
|
|
return count;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据设计变更信息Id获取一个设计变更信息
|
|
/// </summary>
|
|
/// <param name="DesignCode">设计变更信息Id</param>
|
|
/// <returns>一个设计变更信息实体</returns>
|
|
public static Model.Check_Design GetDesignByDesignId(string DesignId)
|
|
{
|
|
return Funs.DB.Check_Design.FirstOrDefault(x => x.DesignId == DesignId);
|
|
}
|
|
public static Model.Check_Design GetDesignByDesignIdForApi(string DesignId)
|
|
{
|
|
using (var db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
|
|
Model.Check_Design res = db.Check_Design.FirstOrDefault(x => x.DesignId == DesignId);
|
|
res.AttachUrl = AttachFileService.getFileUrl(res.DesignId);
|
|
res.CarryUnitIds = res.CarryUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.CarryUnitIds);
|
|
var resItem = (from y in db.ProjectData_MainItem where y.MainItemId == res.MainItemId select y.MainItemName).FirstOrDefault();
|
|
res.MainItemId = res.MainItemId + "$" + resItem;
|
|
res.BuyMaterialUnitIds = res.BuyMaterialUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.BuyMaterialUnitIds);
|
|
res.CNProfessionalCode = res.CNProfessionalCode + "$" + DesignProfessionalService.GetDesignProfessional(res.CNProfessionalCode).ProfessionalName;
|
|
res.CompileMan = res.CompileMan + "$" + ConvertManAndId(res.DesignId);
|
|
return res;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 增加设计变更信息信息
|
|
/// </summary>
|
|
/// <param name="Design">设计变更信息实体</param>
|
|
public static void AddDesign(Model.Check_Design Design)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Check_Design newDesign = new Model.Check_Design();
|
|
newDesign.DesignId = Design.DesignId;
|
|
newDesign.ProjectId = Design.ProjectId;
|
|
newDesign.DesignCode = Design.DesignCode;
|
|
newDesign.MainItemId = Design.MainItemId;
|
|
newDesign.CNProfessionalCode = Design.CNProfessionalCode;
|
|
newDesign.DesignType = Design.DesignType;
|
|
newDesign.DesignContents = Design.DesignContents;
|
|
newDesign.DesignDate = Design.DesignDate;
|
|
newDesign.CarryUnitIds = Design.CarryUnitIds;
|
|
newDesign.IsNoChange = Design.IsNoChange;
|
|
newDesign.IsNeedMaterial = Design.IsNeedMaterial;
|
|
newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds;
|
|
newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate;
|
|
newDesign.PlanDay = Design.PlanDay;
|
|
newDesign.PlanCompleteDate = Design.PlanCompleteDate;
|
|
newDesign.MaterialRealReachDate = Design.MaterialRealReachDate;
|
|
newDesign.RealCompleteDate = Design.RealCompleteDate;
|
|
newDesign.AttachUrl = Design.AttachUrl;
|
|
newDesign.CompileMan = Design.CompileMan;
|
|
newDesign.CompileDate = Design.CompileDate;
|
|
newDesign.State = Design.State;
|
|
newDesign.SaveHandleMan = Design.SaveHandleMan;
|
|
|
|
db.Check_Design.InsertOnSubmit(newDesign);
|
|
db.SubmitChanges();
|
|
}
|
|
public static void AddDesignForApi(Model.Check_Design Design)
|
|
{
|
|
using (var db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
Model.Check_Design newDesign = new Model.Check_Design();
|
|
newDesign.DesignId = Design.DesignId;
|
|
newDesign.ProjectId = Design.ProjectId;
|
|
newDesign.DesignCode = Design.DesignCode;
|
|
newDesign.MainItemId = Design.MainItemId;
|
|
newDesign.CNProfessionalCode = Design.CNProfessionalCode;
|
|
newDesign.DesignType = Design.DesignType;
|
|
newDesign.DesignContents = Design.DesignContents;
|
|
newDesign.DesignDate = Design.DesignDate;
|
|
newDesign.CarryUnitIds = Design.CarryUnitIds;
|
|
newDesign.IsNoChange = Design.IsNoChange;
|
|
newDesign.IsNeedMaterial = Design.IsNeedMaterial;
|
|
newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds;
|
|
newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate;
|
|
newDesign.PlanDay = Design.PlanDay;
|
|
newDesign.PlanCompleteDate = Design.PlanCompleteDate;
|
|
newDesign.MaterialRealReachDate = Design.MaterialRealReachDate;
|
|
newDesign.RealCompleteDate = Design.RealCompleteDate;
|
|
newDesign.AttachUrl = Design.AttachUrl;
|
|
newDesign.CompileMan = Design.CompileMan;
|
|
newDesign.CompileDate = Design.CompileDate;
|
|
newDesign.State = Design.State;
|
|
newDesign.SaveHandleMan = Design.SaveHandleMan;
|
|
db.Check_Design.InsertOnSubmit(newDesign);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改设计变更信息信息
|
|
/// </summary>
|
|
/// <param name="Design">设计变更信息实体</param>
|
|
public static void UpdateDesign(Model.Check_Design Design)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Check_Design newDesign = db.Check_Design.First(e => e.DesignId == Design.DesignId);
|
|
newDesign.DesignCode = Design.DesignCode;
|
|
newDesign.MainItemId = Design.MainItemId;
|
|
newDesign.CNProfessionalCode = Design.CNProfessionalCode;
|
|
newDesign.DesignType = Design.DesignType;
|
|
newDesign.DesignContents = Design.DesignContents;
|
|
newDesign.DesignDate = Design.DesignDate;
|
|
newDesign.CarryUnitIds = Design.CarryUnitIds;
|
|
newDesign.IsNoChange = Design.IsNoChange;
|
|
newDesign.IsNeedMaterial = Design.IsNeedMaterial;
|
|
newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds;
|
|
newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate;
|
|
newDesign.PlanDay = Design.PlanDay;
|
|
newDesign.PlanCompleteDate = Design.PlanCompleteDate;
|
|
newDesign.MaterialRealReachDate = Design.MaterialRealReachDate;
|
|
newDesign.RealCompleteDate = Design.RealCompleteDate;
|
|
newDesign.AttachUrl = Design.AttachUrl;
|
|
newDesign.State = Design.State;
|
|
newDesign.SaveHandleMan = Design.SaveHandleMan;
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据设计变更信息Id删除一个设计变更信息信息
|
|
/// </summary>
|
|
/// <param name="DesignCode">设计变更信息Id</param>
|
|
public static void DeleteDesign(string DesignId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Check_Design Design = db.Check_Design.First(e => e.DesignId == DesignId);
|
|
|
|
db.Check_Design.DeleteOnSubmit(Design);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目主键获得设计变更信息的数量
|
|
/// </summary>
|
|
/// <param name="projectId">项目主键</param>
|
|
/// <returns></returns>
|
|
public static int GetDesignCountByProjectId(string projectId)
|
|
{
|
|
var q = (from x in Funs.DB.Check_Design where x.ProjectId == projectId select x).ToList();
|
|
return q.Count();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主项主键获得设计变更信息的数量
|
|
/// </summary>
|
|
/// <param name="projectId">项目主键</param>
|
|
/// <returns></returns>
|
|
public static int GetDesignCountByMainItemId(string mainItemId)
|
|
{
|
|
var q = (from x in Funs.DB.Check_Design where x.MainItemId == mainItemId select x).ToList();
|
|
return q.Count();
|
|
}
|
|
private static string GetUnitNames(string unitIds)
|
|
{
|
|
string unitNames = string.Empty;
|
|
if (!string.IsNullOrEmpty(unitIds))
|
|
{
|
|
string[] ids = unitIds.Split(',');
|
|
foreach (var id in ids)
|
|
{
|
|
Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(id);
|
|
if (unit != null)
|
|
{
|
|
unitNames += unit.UnitName + ",";
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(unitNames))
|
|
{
|
|
unitNames = unitNames.Substring(0, unitNames.LastIndexOf(","));
|
|
}
|
|
}
|
|
return unitNames;
|
|
}
|
|
/// <summary>
|
|
/// 根据时间段获取设计变更集合
|
|
/// </summary>
|
|
/// <param name="startTime">开始时间</param>
|
|
/// <param name="endTime">结束时间</param>
|
|
public static IEnumerable GetDesignListByTime(string projectId, DateTime startTime, DateTime endTime)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
return from x in db.Check_Design
|
|
where x.ProjectId == projectId && x.DesignDate >= startTime && x.DesignDate < endTime
|
|
select new
|
|
{
|
|
x.DesignId,
|
|
x.ProjectId,
|
|
x.DesignCode,
|
|
MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(),
|
|
CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(),
|
|
x.DesignType,
|
|
x.DesignContents,
|
|
x.DesignDate,
|
|
CarryUnit = GetUnitNames(x.CarryUnitIds),
|
|
IsNoChange = x.IsNoChange == true ? "是" : "否",
|
|
IsNeedMaterial = x.IsNeedMaterial == true ? "是" : "否",
|
|
BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds),
|
|
x.MaterialPlanReachDate,
|
|
x.PlanDay,
|
|
x.PlanCompleteDate,
|
|
x.MaterialRealReachDate,
|
|
x.RealCompleteDate,
|
|
x.CompileMan,
|
|
x.CompileDate,
|
|
x.State,
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// 获取变更类型项
|
|
/// </summary>
|
|
/// <param name="projectId">项目Id</param>
|
|
/// <returns></returns>
|
|
public static ListItem[] GetDesignTypeList()
|
|
{
|
|
ListItem[] lis = new ListItem[10];
|
|
lis[0] = new ListItem("标准规范升版", "标准规范升版");
|
|
lis[1] = new ListItem("设计优化", "设计优化");
|
|
lis[2] = new ListItem("设计不当", "设计不当");
|
|
lis[3] = new ListItem("设计漏项", "设计漏项");
|
|
lis[4] = new ListItem("材料代用", "材料代用");
|
|
lis[5] = new ListItem("业主要求", "业主要求");
|
|
lis[6] = new ListItem("供货偏离", "供货偏离");
|
|
lis[7] = new ListItem("施工偏离", "施工偏离");
|
|
lis[8] = new ListItem("外部条件改变", "外部条件改变");
|
|
lis[9] = new ListItem("其它", "其它");
|
|
return lis;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据状态选择下一步办理类型
|
|
/// </summary>
|
|
/// <param name="state"></param>
|
|
/// <returns></returns>
|
|
public static ListItem[] GetDHandleTypeByState(string state)
|
|
{
|
|
if (state == Const.Design_Compile || state == Const.Design_ReCompile)
|
|
{
|
|
ListItem[] lis = new ListItem[1];
|
|
lis[0] = new ListItem("变更分析", Const.Design_Audit1);
|
|
return lis;
|
|
}
|
|
else if (state == Const.Design_Audit1)
|
|
{
|
|
ListItem[] lis = new ListItem[2];
|
|
lis[0] = new ListItem("变更分析审核", Const.Design_Audit2);
|
|
lis[1] = new ListItem("重新整理", Const.Design_ReCompile);
|
|
return lis;
|
|
}
|
|
else if (state == Const.Design_Audit2)
|
|
{
|
|
ListItem[] lis = new ListItem[2];
|
|
lis[0] = new ListItem("变更实施", Const.Design_Audit3);
|
|
lis[1] = new ListItem("变更分析", Const.Design_Audit1);
|
|
return lis;
|
|
}
|
|
else if (state == Const.Design_Audit3)
|
|
{
|
|
ListItem[] lis = new ListItem[2];
|
|
lis[0] = new ListItem("变更实施审核", Const.Design_Audit4);
|
|
lis[1] = new ListItem("变更分析审核", Const.Design_Audit2);
|
|
return lis;
|
|
}
|
|
else if (state == Const.Design_Audit4)
|
|
{
|
|
ListItem[] lis = new ListItem[2];
|
|
lis[0] = new ListItem("审批完成", Const.Design_Complete);
|
|
lis[1] = new ListItem("变更实施", Const.Design_Audit3);
|
|
return lis;
|
|
}
|
|
else
|
|
return null;
|
|
}
|
|
public static List<Model.Check_Design> getListDataForApi(string projectId, string unitName, int startRowIndex, int maximumRows)
|
|
{
|
|
using (var db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
IQueryable<Model.Check_Design> q = db.Check_Design;
|
|
if (!string.IsNullOrEmpty(projectId))
|
|
{
|
|
q = q.Where(e => e.ProjectId == projectId);
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(projectId))
|
|
{
|
|
q = q.Where(e => e.ProjectId == projectId);
|
|
}
|
|
if (!string.IsNullOrEmpty(unitName))
|
|
{
|
|
|
|
q = q.Where(e => e.CarryUnitIds != null);
|
|
}
|
|
|
|
|
|
var qres = from x in q
|
|
orderby x.DesignCode descending
|
|
select new
|
|
{
|
|
x.DesignId,
|
|
x.ProjectId,
|
|
x.DesignCode,
|
|
x.MainItemId,
|
|
x.CNProfessionalCode,
|
|
MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(),
|
|
CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(),
|
|
CompileManName = (from y in db.Sys_User where y.UserId == x.CompileMan select y.UserName).First(),
|
|
x.DesignType,
|
|
x.DesignContents,
|
|
x.DesignDate,
|
|
x.CarryUnitIds,
|
|
CarryUnit = GetUnitNames(x.CarryUnitIds),
|
|
x.IsNoChange,
|
|
x.IsNeedMaterial,
|
|
x.BuyMaterialUnitIds,
|
|
BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds),
|
|
x.MaterialPlanReachDate,
|
|
x.PlanDay,
|
|
x.PlanCompleteDate,
|
|
x.MaterialRealReachDate,
|
|
x.RealCompleteDate,
|
|
x.CompileMan,
|
|
x.CompileDate,
|
|
x.State
|
|
};
|
|
List<Model.Check_Design> res = new List<Model.Check_Design>();
|
|
|
|
if (!string.IsNullOrEmpty(unitName))
|
|
{
|
|
List<string> ids;
|
|
var qids = from x in Funs.DB.Base_Unit where x.UnitName.Contains(unitName) select x.UnitId;
|
|
ids = qids.ToList();
|
|
|
|
|
|
var list = qres.ToList();
|
|
foreach (var item in list)
|
|
{
|
|
string[] carryIds = item.CarryUnitIds.Split(',');
|
|
foreach (string id in carryIds)
|
|
{
|
|
if (ids.Contains(id))
|
|
{
|
|
Model.Check_Design cd = new Model.Check_Design();
|
|
cd.DesignId = item.DesignId;
|
|
cd.ProjectId = item.ProjectId;
|
|
cd.DesignCode = item.DesignCode;
|
|
cd.CNProfessionalCode = item.CNProfessionalCode + "$" + item.CNProfessional;
|
|
cd.DesignType = item.DesignType;
|
|
cd.DesignContents = item.DesignContents;
|
|
cd.DesignDate = item.DesignDate;
|
|
cd.CarryUnitIds = item.CarryUnitIds + "$" + item.CarryUnit;
|
|
cd.IsNoChange = item.IsNoChange;
|
|
cd.IsNeedMaterial = item.IsNeedMaterial;
|
|
cd.MainItemId = item.MainItemId + "$" + item.MainItemName;
|
|
cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit;
|
|
cd.MaterialPlanReachDate = item.MaterialPlanReachDate;
|
|
cd.PlanDay = item.PlanDay;
|
|
cd.PlanCompleteDate = item.PlanCompleteDate;
|
|
cd.MaterialRealReachDate = item.MaterialRealReachDate;
|
|
cd.RealCompleteDate = item.RealCompleteDate;
|
|
cd.CompileMan = item.CompileManName + "$" + ConvertMan(item.DesignId);
|
|
cd.CompileDate = item.CompileDate;
|
|
cd.State = item.State;
|
|
cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId);
|
|
res.Add(cd);
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
res = res.Skip(startRowIndex).Take(maximumRows).ToList();
|
|
}
|
|
else
|
|
{
|
|
var list = qres.Skip(startRowIndex).Take(maximumRows).ToList();
|
|
foreach (var item in list)
|
|
{
|
|
Model.Check_Design cd = new Model.Check_Design();
|
|
cd.DesignId = item.DesignId;
|
|
cd.ProjectId = item.ProjectId;
|
|
cd.DesignCode = item.DesignCode;
|
|
cd.CNProfessionalCode = item.CNProfessionalCode + "$" + item.CNProfessional;
|
|
cd.DesignType = item.DesignType;
|
|
cd.DesignContents = item.DesignContents;
|
|
cd.DesignDate = item.DesignDate;
|
|
cd.CarryUnitIds = item.CarryUnitIds + "$" + item.CarryUnit;
|
|
cd.IsNoChange = item.IsNoChange;
|
|
cd.IsNeedMaterial = item.IsNeedMaterial;
|
|
cd.MainItemId = item.MainItemId + "$" + item.MainItemName;
|
|
cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit;
|
|
cd.MaterialPlanReachDate = item.MaterialPlanReachDate;
|
|
cd.PlanDay = item.PlanDay;
|
|
cd.PlanCompleteDate = item.PlanCompleteDate;
|
|
cd.MaterialRealReachDate = item.MaterialRealReachDate;
|
|
cd.RealCompleteDate = item.RealCompleteDate;
|
|
cd.CompileMan = item.CompileManName + "$" + ConvertManAndId(item.DesignId);
|
|
cd.CompileDate = item.CompileDate;
|
|
cd.State = item.State;
|
|
cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId);
|
|
res.Add(cd);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
|
|
}
|
|
|
|
public static List<Model.Check_Design> getListDataForApi(string carryUnitIds, string state, string mainItemId, string cNProfessionalCode, string designType, string designDateA, string designDateZ, string projectId, int startRowIndex, int maximumRows)
|
|
{
|
|
using (var db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
IQueryable<Model.Check_Design> q = db.Check_Design;
|
|
if (!string.IsNullOrEmpty(projectId) && "undefined" != projectId)
|
|
{
|
|
q = q.Where(e => e.ProjectId == projectId);
|
|
}
|
|
if (!string.IsNullOrEmpty(carryUnitIds) && "undefined" != carryUnitIds)
|
|
{
|
|
q = q.Where(e => e.CarryUnitIds.Contains(carryUnitIds));
|
|
}
|
|
if (!string.IsNullOrEmpty(state) && "undefined" != state)
|
|
{
|
|
if ("已闭合" == state)
|
|
{
|
|
q = q.Where(e => e.State == "6");
|
|
}
|
|
else
|
|
{
|
|
q = q.Where(e => e.State != "6");
|
|
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(mainItemId) && "undefined" != mainItemId)
|
|
{
|
|
q = q.Where(e => e.MainItemId == mainItemId);
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(cNProfessionalCode) && "undefined" != cNProfessionalCode)
|
|
{
|
|
q = q.Where(e => e.CNProfessionalCode.Contains(cNProfessionalCode));
|
|
}
|
|
if (!string.IsNullOrEmpty(designType) && "undefined" != designType)
|
|
{
|
|
q = q.Where(e => e.DesignType == designType);
|
|
}
|
|
if (!string.IsNullOrEmpty(designDateA) && "undefined" != designDateA)
|
|
{
|
|
DateTime date = DateTime.ParseExact(designDateA, "yyyy-MM-dd", new CultureInfo("zh-CN", true));
|
|
q = q.Where(e => e.DesignDate >= date);
|
|
}
|
|
if (!string.IsNullOrEmpty(designDateZ) && "undefined" != designDateZ)
|
|
{
|
|
DateTime date = DateTime.ParseExact(designDateZ + "23:59:59", "yyyy-MM-ddHH:mm:ss", new CultureInfo("zh-CN", true));
|
|
q = q.Where(e => e.DesignDate <= date);
|
|
}
|
|
|
|
var qres = from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.DesignId,
|
|
x.ProjectId,
|
|
x.DesignCode,
|
|
x.MainItemId,
|
|
x.CNProfessionalCode,
|
|
MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(),
|
|
CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(),
|
|
CompileManName = (from y in db.Sys_User where y.UserId == x.CompileMan select y.UserName).First(),
|
|
x.DesignType,
|
|
x.DesignContents,
|
|
x.DesignDate,
|
|
CarryUnit = GetUnitNames(x.CarryUnitIds),
|
|
x.IsNoChange,
|
|
x.IsNeedMaterial,
|
|
x.BuyMaterialUnitIds,
|
|
BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds),
|
|
x.MaterialPlanReachDate,
|
|
x.PlanDay,
|
|
x.PlanCompleteDate,
|
|
x.MaterialRealReachDate,
|
|
x.RealCompleteDate,
|
|
x.CompileMan,
|
|
x.CompileDate,
|
|
x.State
|
|
|
|
};
|
|
List<Model.Check_Design> res = new List<Model.Check_Design>();
|
|
var list = qres.ToList();
|
|
foreach (var item in list)
|
|
{
|
|
Model.Check_Design cd = new Model.Check_Design();
|
|
cd.DesignId = item.DesignId;
|
|
cd.ProjectId = item.ProjectId;
|
|
cd.DesignCode = item.DesignCode;
|
|
cd.CNProfessionalCode = cd.CNProfessionalCode + "$" + item.CNProfessional;
|
|
cd.DesignType = item.DesignType;
|
|
cd.DesignContents = item.DesignContents;
|
|
cd.DesignDate = item.DesignDate;
|
|
cd.CarryUnitIds = cd.CarryUnitIds + "$" + item.CarryUnit;
|
|
cd.IsNoChange = item.IsNoChange;
|
|
cd.IsNeedMaterial = item.IsNeedMaterial;
|
|
cd.MainItemId = item.MainItemId + "$" + item.MainItemName;
|
|
cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit;
|
|
cd.MaterialPlanReachDate = item.MaterialPlanReachDate;
|
|
cd.PlanDay = item.PlanDay;
|
|
cd.PlanCompleteDate = item.PlanCompleteDate;
|
|
cd.MaterialRealReachDate = item.MaterialRealReachDate;
|
|
cd.RealCompleteDate = item.RealCompleteDate;
|
|
cd.CompileMan = item.CompileManName + "$" + ConvertManAndId(item.DesignId);
|
|
cd.CompileDate = item.CompileDate;
|
|
cd.State = item.State;
|
|
cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId);
|
|
res.Add(cd);
|
|
}
|
|
return res;
|
|
}
|
|
}
|
|
public static string ConvertMan(string id)
|
|
{
|
|
if (id != null)
|
|
{
|
|
Model.Check_DesignApprove a = BLL.DesignApproveService.getCurrApproveForApi(id);
|
|
if (a != null)
|
|
{
|
|
if (a.ApproveMan != null)
|
|
{
|
|
return BLL.UserService.GetUserByUserId(a.ApproveMan).UserName;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
public static string ConvertManAndId(string id)
|
|
{
|
|
if (id != null)
|
|
{
|
|
Model.Check_DesignApprove a = BLL.DesignApproveService.getCurrApproveForApi(id);
|
|
if (a != null)
|
|
{
|
|
if (a.ApproveMan != null)
|
|
{
|
|
var user = BLL.UserService.GetUserByUserId(a.ApproveMan);
|
|
return user.UserName + "$" + user.UserId;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public static void UpdateDesignForApi(Model.Check_Design Design)
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
Model.Check_Design newDesign = db.Check_Design.FirstOrDefault(e => e.DesignId == Design.DesignId);
|
|
if (newDesign != null)
|
|
{
|
|
if (!string.IsNullOrEmpty(Design.DesignCode))
|
|
newDesign.DesignCode = Design.DesignCode;
|
|
if (!string.IsNullOrEmpty(Design.MainItemId))
|
|
newDesign.MainItemId = Design.MainItemId;
|
|
if (!string.IsNullOrEmpty(Design.CNProfessionalCode))
|
|
newDesign.CNProfessionalCode = Design.CNProfessionalCode;
|
|
if (!string.IsNullOrEmpty(Design.DesignType))
|
|
newDesign.DesignType = Design.DesignType;
|
|
if (!string.IsNullOrEmpty(Design.DesignContents))
|
|
newDesign.DesignContents = Design.DesignContents;
|
|
if (Design.DesignDate.HasValue)
|
|
newDesign.DesignDate = Design.DesignDate;
|
|
if (!string.IsNullOrEmpty(Design.CarryUnitIds))
|
|
newDesign.CarryUnitIds = Design.CarryUnitIds;
|
|
if (Design.IsNoChange.HasValue)
|
|
newDesign.IsNoChange = Design.IsNoChange;
|
|
if (Design.IsNeedMaterial.HasValue)
|
|
newDesign.IsNeedMaterial = Design.IsNeedMaterial;
|
|
|
|
if (!string.IsNullOrEmpty(Design.BuyMaterialUnitIds))
|
|
newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds;
|
|
if (Design.MaterialPlanReachDate.HasValue)
|
|
newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate;
|
|
if (newDesign.IsNeedMaterial.HasValue && !newDesign.IsNeedMaterial.Value)
|
|
{
|
|
newDesign.BuyMaterialUnitIds = null;
|
|
newDesign.MaterialPlanReachDate = null;
|
|
}
|
|
if (Design.PlanDay.HasValue)
|
|
newDesign.PlanDay = Design.PlanDay;
|
|
if (Design.PlanCompleteDate.HasValue)
|
|
newDesign.PlanCompleteDate = Design.PlanCompleteDate;
|
|
if (Design.MaterialRealReachDate.HasValue)
|
|
newDesign.MaterialRealReachDate = Design.MaterialRealReachDate;
|
|
if (Design.RealCompleteDate.HasValue)
|
|
newDesign.RealCompleteDate = Design.RealCompleteDate;
|
|
if (!string.IsNullOrEmpty(Design.AttachUrl))
|
|
newDesign.AttachUrl = Design.AttachUrl;
|
|
if (!string.IsNullOrEmpty(Design.State))
|
|
newDesign.State = Design.State;
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|