修改进度模块

This commit is contained in:
2023-08-25 11:03:03 +08:00
parent 2804d7c4df
commit 112e97ae43
17 changed files with 2615 additions and 3 deletions
@@ -0,0 +1,194 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
namespace BLL
{
public class WorkPackageDetailService
{
/// <summary>
/// 根据Id获取一个费控项明细信息
/// </summary>
/// <param name="WorkPackageDetailId">费控项明细Id</param>
public static Model.WBS_WorkPackageDetail GetWorkPackageDetailByWorkPackageDetailId(string WorkPackageDetailId)
{
return Funs.DB.WBS_WorkPackageDetail.FirstOrDefault(e => e.WorkPackageDetailId == WorkPackageDetailId);
}
/// <summary>
/// 根据WorkPackageId判断是否存在费控项明细信息
/// </summary>
/// <param name="WorkPackageId">WorkPackageId</param>
public static bool IsExitWorkPackageDetailByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x).Count() > 0;
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageDetail GetWorkPackageDetailByWorkPackageIdAndMonths(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细视图信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageDetail GetWorkPackageDetailViewByWorkPackageIdAndMonths(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageDetail GetViewWorkPackageDetailByWorkPackageIdAndMonth(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
public static Model.WBS_WorkPackageDetail GetWBS_WorkPackageDetailByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x).FirstOrDefault();
}
/// <summary>
///
/// </summary>
/// <param name="WorkPackageId"></param>
/// <param name="toFlag"></param>
/// <param name="months"></param>
/// <returns></returns>
public static bool IsExitWeekWorkPackageDetailByWorkPackageIdAndMonth(string WorkPackageId, DateTime months)
{
bool result = false;
var q = Funs.DB.WBS_WorkPackageDetail.FirstOrDefault(e => e.WorkPackageId == WorkPackageId && e.Months == months);
if (q != null)
{
result = true;
}
return result;
}
/// <summary>
/// 根据年及月获取之前月份的对应费控项明细信息集合(含当月)
/// </summary>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static List<Model.WBS_WorkPackageDetail> GetTotalWBS_WorkPackageDetailsByYearMonth2(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months <= months select x).ToList();
}
/// <summary>
/// 根据WorkPackageId月获取所有月份的对应费控项明细信息集合
/// </summary>
/// <param name="WorkPackageId">WorkPackageId</param>
public static List<Model.WBS_WorkPackageDetail> GetMonthWorkPackageDetailsByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId orderby x.Months select x).ToList();
}
/// <summary>
/// 增加费控项明细
/// </summary>
/// <param name="user">费控项明细</param>
public static void AddWorkPackageDetail(Model.WBS_WorkPackageDetail WorkPackageDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail newWBS_WorkPackageDetail = new Model.WBS_WorkPackageDetail();
newWBS_WorkPackageDetail.WorkPackageDetailId = WorkPackageDetail.WorkPackageDetailId;
newWBS_WorkPackageDetail.WorkPackageId = WorkPackageDetail.WorkPackageId;
newWBS_WorkPackageDetail.Months = WorkPackageDetail.Months;
if (WorkPackageDetail.PlanNum == 0)
{
newWBS_WorkPackageDetail.PlanNum = null;
}
else
{
newWBS_WorkPackageDetail.PlanNum = WorkPackageDetail.PlanNum;
}
if (WorkPackageDetail.ThisNum == 0)
{
newWBS_WorkPackageDetail.ThisNum = null;
}
else
{
newWBS_WorkPackageDetail.ThisNum = WorkPackageDetail.ThisNum;
}
db.WBS_WorkPackageDetail.InsertOnSubmit(newWBS_WorkPackageDetail);
db.SubmitChanges();
}
/// <summary>
/// 修改费控项明细
/// </summary>
/// <param name="user">费控项明细</param>
public static void UpdateWorkPackageDetail(Model.WBS_WorkPackageDetail WorkPackageDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail newWBS_WorkPackageDetail = db.WBS_WorkPackageDetail.First(e => e.WorkPackageDetailId == WorkPackageDetail.WorkPackageDetailId);
if (WorkPackageDetail.PlanNum == 0)
{
newWBS_WorkPackageDetail.PlanNum = null;
}
else
{
newWBS_WorkPackageDetail.PlanNum = WorkPackageDetail.PlanNum;
}
if (WorkPackageDetail.ThisNum == 0)
{
newWBS_WorkPackageDetail.ThisNum = null;
}
else
{
newWBS_WorkPackageDetail.ThisNum = WorkPackageDetail.ThisNum;
}
db.SubmitChanges();
}
/// <summary>
/// 根据Id删除费控项明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWorkPackageDetail(string WorkPackageDetailId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail ins = db.WBS_WorkPackageDetail.First(e => e.WorkPackageDetailId == WorkPackageDetailId);
db.WBS_WorkPackageDetail.DeleteOnSubmit(ins);
db.SubmitChanges();
}
/// <summary>
/// 根据WorkPackageId删除费控项明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWorkPackageDetailByWorkPackageId(string WorkPackageId)
{
Model.SGGLDB db = Funs.DB;
var details = from x in db.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x;
if (details.Count() > 0)
{
db.WBS_WorkPackageDetail.DeleteAllOnSubmit(details);
db.SubmitChanges();
}
}
}
}
@@ -0,0 +1,157 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class WorkPackageParentDetailService
{
/// <summary>
/// 根据Id获取一个费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentDetailId">费控项父级明细Id</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByWorkPackageParentDetailId(string WorkPackageParentDetailId)
{
return Funs.DB.WBS_WorkPackageParentDetail.FirstOrDefault(e => e.WorkPackageParentDetailId == WorkPackageParentDetailId);
}
/// <summary>
/// 根据ParentId判断是否存在费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">WorkPackageParentId</param>
public static bool IsExitWorkPackageParentDetailByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId select x).Count() > 0;
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应月费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentIdAndMonths(string parentId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应月费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentIdAndMonths(string parentId, string projectId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId && x.ProjectId == projectId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应费控项父级明细视图信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageParentDetail GetWorkPackageParentDetailViewByParentIdAndMonths(string parentId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageParentDetail where x.ParentId == parentId && x.Months == months select x).FirstOrDefault();
}
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId select x).FirstOrDefault();
}
/// <summary>
///
/// </summary>
/// <param name="WorkPackageParentId"></param>
/// <param name="toFlag"></param>
/// <param name="months"></param>
/// <returns></returns>
public static bool IsExitWBS_WorkPackageParentDetailByParentIdOrMonth(string parentId, DateTime months)
{
bool result = false;
var q = Funs.DB.WBS_WorkPackageParentDetail.FirstOrDefault(e => e.ParentId == parentId && e.Months == months);
if (q != null)
{
result = true;
}
return result;
}
/// <summary>
/// 根据WorkPackageParentId月获取所有月份的对应费控项父级明细信息集合
/// </summary>
/// <param name="WorkPackageParentId">WorkPackageParentId</param>
public static List<Model.WBS_WorkPackageParentDetail> GetTotalWorkPackageParentDetailsByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId orderby x.Months select x).ToList();
}
/// <summary>
/// 增加费控项父级明细
/// </summary>
/// <param name="user">费控项父级明细</param>
public static void AddWorkPackageParentDetail(Model.WBS_WorkPackageParentDetail WorkPackageParentDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail newWBS_WorkPackageParentDetail = new Model.WBS_WorkPackageParentDetail();
newWBS_WorkPackageParentDetail.WorkPackageParentDetailId = WorkPackageParentDetail.WorkPackageParentDetailId;
newWBS_WorkPackageParentDetail.ParentId = WorkPackageParentDetail.ParentId;
newWBS_WorkPackageParentDetail.ProjectId = WorkPackageParentDetail.ProjectId;
newWBS_WorkPackageParentDetail.Months = WorkPackageParentDetail.Months;
newWBS_WorkPackageParentDetail.PlanNum = WorkPackageParentDetail.PlanNum;
newWBS_WorkPackageParentDetail.ThisNum = WorkPackageParentDetail.ThisNum;
db.WBS_WorkPackageParentDetail.InsertOnSubmit(newWBS_WorkPackageParentDetail);
db.SubmitChanges();
}
/// <summary>
/// 修改费控项父级明细
/// </summary>
/// <param name="user">费控项父级明细</param>
public static void UpdateWorkPackageParentDetail(Model.WBS_WorkPackageParentDetail WorkPackageParentDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail newWBS_WorkPackageParentDetail = db.WBS_WorkPackageParentDetail.First(e => e.WorkPackageParentDetailId == WorkPackageParentDetail.WorkPackageParentDetailId);
newWBS_WorkPackageParentDetail.PlanNum = WorkPackageParentDetail.PlanNum;
newWBS_WorkPackageParentDetail.ThisNum = WorkPackageParentDetail.ThisNum;
db.SubmitChanges();
}
/// <summary>
/// 根据Id删除费控项父级明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWBS_WorkPackageParentDetail(string WorkPackageParentDetailId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail ins = db.WBS_WorkPackageParentDetail.First(e => e.WorkPackageParentDetailId == WorkPackageParentDetailId);
db.WBS_WorkPackageParentDetail.DeleteOnSubmit(ins);
db.SubmitChanges();
}
/// <summary>
/// 根据WorkPackageParentId删除费控项父级明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWBS_WorkPackageParentDetailByWorkPackageParentId(string parentId)
{
Model.SGGLDB db = Funs.DB;
var details = from x in db.WBS_WorkPackageParentDetail where x.ParentId == parentId select x;
if (details.Count() > 0)
{
db.WBS_WorkPackageParentDetail.DeleteAllOnSubmit(details);
db.SubmitChanges();
}
}
}
}
+38
View File
@@ -251,8 +251,28 @@ namespace BLL
{
IQueryable<Model.WBS_WorkPackage> workPackages = from x in db.WBS_WorkPackage where x.ProjectId == projectId select x;
IQueryable<Model.WBS_UnitWork> unitWorks = from x in db.WBS_UnitWork where x.ProjectId == projectId select x;
IQueryable<Model.View_WBS_WorkPackageDetail> getDetails = from x in db.View_WBS_WorkPackageDetail where x.ProjectId == projectId select x;
List<Model.View_WBS> getWBSs = (from x in db.View_WBS where x.ProjectId == projectId select x).ToList();
List<Model.View_WBS> WBSList = new List<Model.View_WBS>();
DateTime startDate, endDate, startMonth, endMonth;
List<DateTime> months = new List<DateTime>();
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (project.StartDate != null)
{
startDate = Convert.ToDateTime(project.StartDate);
endDate = DateTime.Now;
if (project.EndDate != null)
{
endDate = Convert.ToDateTime(project.EndDate);
}
startMonth = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01");
endMonth = Convert.ToDateTime(endDate.Year + "-" + endDate.Month + "-01");
do
{
months.Add(startMonth);
startMonth = startMonth.AddMonths(1);
} while (startMonth <= endMonth);
}
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("SupId", typeof(String)));
@@ -272,6 +292,11 @@ namespace BLL
table.Columns.Add(new DataColumn("PlanCost", typeof(String)));
table.Columns.Add(new DataColumn("PreWorkCode", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String)));
for (int i = 0; i < months.Count; i++)
{
table.Columns.Add(new DataColumn("PlanNum" + (i + 1).ToString(), typeof(String)));
table.Columns.Add(new DataColumn("ThisNum" + (i + 1).ToString(), typeof(String)));
}
if (getWBSs.Count() > 0)
{
List<Model.View_WBS> newList = new List<Model.View_WBS>();
@@ -347,6 +372,19 @@ namespace BLL
row[15] = decimal.Round(Convert.ToDecimal(workPackage.PlanCost), 2);
}
row[16] = workPackage.PreWorkCode;
var details = getDetails.Where(x => x.WorkPackageId == item.Id).ToList();
foreach (var item1 in details)
{
var index = months.FindIndex(x => x.Equals(item1.Months));
if (item1.PlanNum != 0)
{
row[18 + index * 2] = decimal.Round(Convert.ToDecimal(item1.PlanNum), 2);
}
if (item1.ThisNum != 0)
{
row[19 + index * 2] = decimal.Round(Convert.ToDecimal(item1.ThisNum), 2);
}
}
}
}
}