2023-08-25

This commit is contained in:
2023-08-25 23:58:57 +08:00
57 changed files with 5037 additions and 652 deletions
+5 -2
View File
@@ -31,6 +31,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -104,8 +105,8 @@
<Reference Include="QRCoder, Version=1.4.3.0, Culture=neutral, PublicKeyToken=c4ed5b9ae8358a28, processorArchitecture=MSIL">
<HintPath>..\packages\QRCoder.1.4.3\lib\net40\QRCoder.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.5.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.5.0\lib\netstandard2.0\Quartz.dll</HintPath>
<Reference Include="Quartz, Version=3.7.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.7.0\lib\netstandard2.0\Quartz.dll</HintPath>
</Reference>
<Reference Include="RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll</HintPath>
@@ -332,7 +333,9 @@
<Compile Include="CQMS\WBS\ControlItemInitService.cs" />
<Compile Include="CQMS\WBS\ControlItemProjectService.cs" />
<Compile Include="CQMS\WBS\WBSsearchService.cs" />
<Compile Include="CQMS\WBS\WorkPackageDetailService.cs" />
<Compile Include="CQMS\WBS\WorkPackageInitService.cs" />
<Compile Include="CQMS\WBS\WorkPackageParentDetailService.cs" />
<Compile Include="CQMS\WBS\WorkPackageProjectService.cs" />
<Compile Include="CQMS\WBS\WorkPackageService.cs" />
<Compile Include="DigData\ProblemAnalysisService.cs" />
@@ -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);
}
}
}
}
}
+9 -4
View File
@@ -46,7 +46,7 @@ namespace BLL
/// <param name="personType">人员类型</param>
/// <param name="Grid1"></param>
/// <returns></returns>
public static IEnumerable getListData(string unitId, string departId, string projetcId, string name, string idCard, string isPost, string personType,string account, Grid Grid1)
public static IEnumerable getListData(string unitId, string departId, string projetcId, string name, string idCard, string isPost, string personType, string account,string[] workPostIds, Grid Grid1)
{
IQueryable<Model.Person_Persons> getDataList = getDataLists.OrderBy(x => x.UnitId).ThenBy(x => x.DepartId);
if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null)
@@ -59,8 +59,9 @@ namespace BLL
}
if (!string.IsNullOrEmpty(projetcId) && projetcId != Const._Null)
{
var idLists=(from x in db.SitePerson_PersonItem where x.ProjectId == projetcId && !x.OutTime.HasValue
select x.PersonId).Distinct().ToList();
var idLists = (from x in db.SitePerson_PersonItem
where x.ProjectId == projetcId && !x.OutTime.HasValue
select x.PersonId).Distinct().ToList();
getDataList = getDataList.Where(x => idLists.Contains(x.PersonId));
}
@@ -80,7 +81,7 @@ namespace BLL
{
getDataList = getDataList.Where(e => e.IdentityCard.Contains(idCard));
}
if (!string.IsNullOrEmpty(isPost) && isPost != "-1" && isPost != Const._Null)
{
if (isPost == Const._True)
@@ -93,6 +94,10 @@ namespace BLL
}
}
if (workPostIds.Count() > 0)
{
getDataList = getDataList.Where(e => workPostIds.Contains(e.WorkPostId));
}
count = getDataList.Count();
if (count == 0)
{