20210520
This commit is contained in:
@@ -1,19 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Tree>
|
||||
<TreeNode id="B707B4E0-EF73-4010-A13B-59263A5029C7" Text="单位、分部、分项工程设置" NavigateUrl="">
|
||||
<TreeNode id="858E83E9-ADE5-452E-BD65-82D8DFF872C0" Text="单位、分部、分项工程设置" NavigateUrl="JDGL/WBS/WBSSetAudit.aspx">
|
||||
</TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6" Text="进度测量标志(权重)设置" NavigateUrl=""><TreeNode id="6844F671-8545-4DD9-B9A0-AA36CB5F1D6F" Text="进度测量标志(权重)设置" NavigateUrl="JDGL/WBSWeights/WeightsAudit.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="BE150D8E-9BAB-4207-9CDD-5B05E847D906" Text="进度计划及计划值设置" NavigateUrl=""><TreeNode id="9FEB264F-4124-48E8-A43C-5663BBFB55F0" Text="进度计划及计划值设置" NavigateUrl="JDGL/WBSPlan/WBSPlanAudit.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422" Text="实际进度(完成值/实耗值)测量" NavigateUrl=""><TreeNode id="6CFA0EE1-F075-417E-9D96-05B31122BB95" Text="实际进度(完成值/实耗值)测量录入" NavigateUrl="JDGL/WBSCompleteAndReal/WBSCompleteAudit.aspx"></TreeNode>
|
||||
<TreeNode id="4FB962B3-905B-4560-9957-46A11392BB0B" Text="进度(完成值)测量报告" NavigateUrl="JDGL/WBSCompleteAndReal/WBSReport.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="3478449A-681A-4DB1-8E79-598BB24DD0C4" Text="进度/费用偏差分析与纠偏" NavigateUrl=""><TreeNode id="64197BF4-2622-4588-B49B-815188184CE2" Text="赢得值曲线" NavigateUrl="JDGL/CostAnalysis/EarnedValueCurve.aspx"></TreeNode>
|
||||
<TreeNode id="AA5C8AB2-CE89-41BC-B7B5-C689ED368B98" Text="计划调整及纠偏措施设置" NavigateUrl="JDGL/CostAnalysis/PlanAdjust.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="2344465A-F43E-495E-98E7-9AC1C6484F5C" Text="工程量清单设置" NavigateUrl="JDGL/Check/QuantityList.aspx"></TreeNode>
|
||||
<TreeNode id="F3AA42B3-5776-4992-A625-1216C579FEDE" Text="项目进度情况" NavigateUrl="JDGL/Check/ProgressCompletion.aspx">
|
||||
</TreeNode>
|
||||
<TreeNode id="2AE9D982-A499-497F-8F54-ADDA5856887E" Text="工程量完成情况" NavigateUrl="JDGL/Check/QuantityCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="4ACA0647-4D44-462E-8277-1EF9F100566A" Text="钢结构完成情况" NavigateUrl="JDGL/Check/SteelStructureCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="92FD1845-F56C-4111-8BA0-91838A18B750" Text="设备完成情况" NavigateUrl="JDGL/Check/EquipmentCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="9AE07A76-3A54-4414-BC8C-C86A18C737BA" Text="管道完成情况" NavigateUrl="JDGL/Check/PipelineCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="8A8A1050-F227-42ED-9456-8CB5ECA36512" Text="电气完成情况" NavigateUrl="JDGL/Check/ElectricalCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="7EC1FBAF-BEC9-46CD-9E3B-0D0093B4E1C2" Text="仪表完成情况" NavigateUrl="JDGL/Check/MeterCompletion.aspx"></TreeNode>
|
||||
<TreeNode id="C7037A5D-D8A6-4C1C-A5B8-2083C31C0A7B" Text="全厂地下管网完成情况" NavigateUrl="JDGL/Check/UndergroundPipeCompletion.aspx"></TreeNode>
|
||||
</Tree>
|
||||
@@ -12,5 +12,4 @@
|
||||
<TreeNode id="19FB0C6D-E2CA-4352-B635-060347D45C4A" Text="成绩排名" NavigateUrl="PersonManage/Test/TestRanking.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="0E46F8F2-69DB-4F54-BCA0-1F3CBE57DA10" Text="人员初步规划" NavigateUrl="Person/PersonPlan.aspx"></TreeNode>
|
||||
<TreeNode id="1E490AB0-B211-4F17-8B2A-C7A840DD9D72" Text="人员初步规划图形分析" NavigateUrl="Person/PersonPlanChart.aspx"></TreeNode>
|
||||
</Tree>
|
||||
@@ -914,6 +914,10 @@ namespace FineUIPro.Web
|
||||
{
|
||||
html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "CheckManNames")
|
||||
{
|
||||
html = (row.FindControl("lbCheckManNames") as AspNet.Label).Text;
|
||||
}
|
||||
// 处理CheckBox
|
||||
if (html.Contains("f-grid-static-checkbox"))
|
||||
{
|
||||
@@ -938,6 +942,99 @@ namespace FineUIPro.Web
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导出方法
|
||||
/// </summary>
|
||||
/// <param name="grid"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetGridTableHtml2(Grid grid)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
|
||||
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
||||
sb.Append("<tr>");
|
||||
|
||||
foreach (GridColumn column in grid.Columns)
|
||||
{
|
||||
if (column.ColumnID != "AttachFile" && column.ColumnID!= "lbfAction1" && column.ColumnID != "AttachFile2")
|
||||
{
|
||||
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
|
||||
}
|
||||
}
|
||||
sb.Append("</tr>");
|
||||
foreach (GridRow row in grid.Rows)
|
||||
{
|
||||
sb.Append("<tr>");
|
||||
foreach (GridColumn column in grid.Columns)
|
||||
{
|
||||
if (column.ColumnID != "AttachFile" && column.ColumnID != "lbfAction1" && column.ColumnID != "AttachFile2")
|
||||
{
|
||||
string html = row.Values[column.ColumnIndex].ToString();
|
||||
if (column.ColumnID == "tfPageIndex" && (row.FindControl("lblPageIndex") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lblPageIndex") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "UnitWorkName" && (row.FindControl("lbUnitWorkName") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lbUnitWorkName") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "UnitName" && (row.FindControl("lbUnitName") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lbUnitName") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "UnitNames" && (row.FindControl("lbUnitNames") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lbUnitNames") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfNumber" && (row.FindControl("labNumber") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("labNumber") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfTeamType" && (row.FindControl("lbTeamType") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lbTeamType") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfI" && (row.FindControl("tfI") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lbI") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfCompileMan" && (row.FindControl("tfCompileMan") as AspNet.Label) != null)
|
||||
{
|
||||
html = (row.FindControl("lblCompileMan") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "tfSpecialEquipmentId")
|
||||
{
|
||||
html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text;
|
||||
}
|
||||
if (column.ColumnID == "CheckManNames")
|
||||
{
|
||||
html = (row.FindControl("lbCheckManNames") as AspNet.Label).Text;
|
||||
}
|
||||
// 处理CheckBox
|
||||
if (html.Contains("f-grid-static-checkbox"))
|
||||
{
|
||||
if (!html.Contains("f-checked"))
|
||||
{
|
||||
html = "×";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "√";
|
||||
}
|
||||
}
|
||||
sb.AppendFormat("<td style='vnd.ms-excel.numberformat:@;width:140px;'>{0}</td>", html);
|
||||
// sb.AppendFormat("<td>{0}</td>", html);
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
|
||||
sb.Append("</table>");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DataTable转HTML
|
||||
/// </summary>
|
||||
|
||||
@@ -24,232 +24,11 @@ namespace FineUIPro.Web
|
||||
{
|
||||
get
|
||||
{
|
||||
DataTable tb = new DataTable();
|
||||
DateTime startDate, endDate, startMonth, endMonth;
|
||||
List<DateTime> months = new List<DateTime>();
|
||||
List<DateTime> weeks = new List<DateTime>();
|
||||
List<DateTime> days = new List<DateTime>();
|
||||
string isDataOK = string.Empty;
|
||||
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
|
||||
//默认开始结束日期为项目开始结束日期
|
||||
startDate = Convert.ToDateTime(project.StartDate);
|
||||
endDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||||
if (project.EndDate != null && DateTime.Now > project.EndDate)
|
||||
{
|
||||
endDate = project.EndDate.Value.AddDays(1).AddSeconds(-1);
|
||||
}
|
||||
List<Model.WBS_UnitWork> unitWorks = new List<Model.WBS_UnitWork>();
|
||||
List<Model.WBS_WorkPackage> workPackages = new List<Model.WBS_WorkPackage>();
|
||||
List<Model.WBS_ControlItemAndCycle> controlItemAndCycles = new List<Model.WBS_ControlItemAndCycle>();
|
||||
List<Model.View_Check_SoptCheckDetail> soptCheckDetails = new List<Model.View_Check_SoptCheckDetail>();
|
||||
unitWorks = BLL.UnitWorkService.GetUnitWorkLists(this.CurrUser.LoginProjectId);
|
||||
decimal totalUnitWorkWeights = 0;
|
||||
bool noWeights = false;
|
||||
bool noProjectWeights = false;
|
||||
|
||||
workPackages = BLL.WorkPackageService.GetAllWorkPackagesByProjectId(this.CurrUser.LoginProjectId);
|
||||
controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate);
|
||||
soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate, isDataOK);
|
||||
var unitWork1 = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.Weights == null);
|
||||
if (unitWork1 != null) //存在没有权重值的单位工程
|
||||
{
|
||||
noProjectWeights = true;
|
||||
}
|
||||
|
||||
//if (noWeights && unitWorkIds.Length > 1)
|
||||
//{
|
||||
// Alert.ShowInTop("请先设置所选单位工程的权重值!", MessageBoxIcon.Warning);
|
||||
// return;
|
||||
//}
|
||||
//if (noProjectWeights)
|
||||
//{
|
||||
// Alert.ShowInTop("请先设置所有单位工程的权重值!", MessageBoxIcon.Warning);
|
||||
// return;
|
||||
//}
|
||||
//if (this.drpUnitWork.SelectedValue != BLL.Const._Null)
|
||||
//{
|
||||
// workPackages = BLL.WorkPackageService.GetAllWorkPackagesByUnitWorkId(this.drpUnitWork.SelectedValue);
|
||||
// controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByUnitWorkIdAndDate(this.drpUnitWork.SelectedValue, endDate);
|
||||
// soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByUnitWorkIdAndDate(this.drpUnitWork.SelectedValue, endDate, isDataOK);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// workPackages = BLL.WorkPackageService.GetAllWorkPackagesByProjectId(this.CurrUser.LoginProjectId);
|
||||
// controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate);
|
||||
// soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate, isDataOK);
|
||||
//}
|
||||
decimal lastDPlanTotal = 0;
|
||||
decimal lastDCompleteTotal = 0;
|
||||
tb.Columns.Add("月");
|
||||
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);
|
||||
tb.Columns.Add("计划值");
|
||||
tb.Columns.Add("累计计划值");
|
||||
tb.Columns.Add("实际值");
|
||||
tb.Columns.Add("累计实际值");
|
||||
for (int i = 0; i < months.Count; i++)
|
||||
{
|
||||
DataRow row = tb.NewRow();
|
||||
row[0] = string.Format("{0:yyyy-MM}", months[i]);
|
||||
//对应月份的记录
|
||||
decimal dPlan = 0, dPlan1 = 0, dPlanTotal = 0, dComplete = 0, dComplete1 = 0, dCompleteMonth = 0, dCompleteTotal = 0;
|
||||
//当月及之前所有工作包内容
|
||||
var totalPlanCompleteControlItemAndCycles = controlItemAndCycles.Where(x => x.PlanCompleteDate < months[i].AddMonths(1));
|
||||
//当月及之前所有验收合格记录
|
||||
var totalSoptCheckDetails = soptCheckDetails.Where(x => x.SpotCheckDate < months[i].AddMonths(1));
|
||||
foreach (var item in totalPlanCompleteControlItemAndCycles)
|
||||
{
|
||||
{
|
||||
var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
|
||||
if (workPackage1 != null)
|
||||
{
|
||||
//逐级递推计算权重计划值
|
||||
dPlan1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(item.Weights / 100);
|
||||
var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
|
||||
if (workPackage2 != null)
|
||||
{
|
||||
dPlan1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dPlan1;
|
||||
var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
|
||||
if (workPackage3 != null)
|
||||
{
|
||||
dPlan1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dPlan1;
|
||||
}
|
||||
}
|
||||
}
|
||||
var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
|
||||
if (unitWork != null)
|
||||
{
|
||||
dPlan1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dPlan1;
|
||||
}
|
||||
}
|
||||
if (item.PlanCompleteDate >= months[i]) //当月计划完成记录
|
||||
{
|
||||
dPlan += dPlan1; //累加当月值
|
||||
}
|
||||
dPlanTotal += dPlan1; //累加累计值
|
||||
|
||||
}
|
||||
foreach (var item in controlItemAndCycles)
|
||||
{
|
||||
//实际值
|
||||
var itemSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate < months[i].AddMonths(1));
|
||||
var itemMonthSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate >= months[i] && x.SpotCheckDate < months[i].AddMonths(1));
|
||||
if (itemSoptCheckDetails.Count() > 0) //存在验收合格的记录
|
||||
{
|
||||
//工作包实际值
|
||||
dComplete1 = Convert.ToDecimal(itemSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights);
|
||||
var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
|
||||
if (workPackage1 != null)
|
||||
{
|
||||
//逐级递推计算权重计划值
|
||||
dComplete1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dComplete1 / 100);
|
||||
var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
|
||||
if (workPackage2 != null)
|
||||
{
|
||||
dComplete1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dComplete1;
|
||||
var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
|
||||
if (workPackage3 != null)
|
||||
{
|
||||
dComplete1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dComplete1;
|
||||
}
|
||||
}
|
||||
}
|
||||
var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
|
||||
if (unitWork != null)
|
||||
{
|
||||
dComplete1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dComplete1;
|
||||
}
|
||||
dCompleteTotal += dComplete1;
|
||||
}
|
||||
if (itemMonthSoptCheckDetails.Count() > 0) //当月存在验收合格的记录
|
||||
{
|
||||
//工作包实际值
|
||||
dCompleteMonth = Convert.ToDecimal(itemMonthSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights);
|
||||
var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
|
||||
if (workPackage1 != null)
|
||||
{
|
||||
//逐级递推计算权重计划值
|
||||
dCompleteMonth = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dCompleteMonth / 100);
|
||||
var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
|
||||
if (workPackage2 != null)
|
||||
{
|
||||
dCompleteMonth = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dCompleteMonth;
|
||||
var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
|
||||
if (workPackage3 != null)
|
||||
{
|
||||
dCompleteMonth = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dCompleteMonth;
|
||||
}
|
||||
}
|
||||
}
|
||||
var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
|
||||
if (unitWork != null)
|
||||
{
|
||||
dCompleteMonth = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dCompleteMonth;
|
||||
}
|
||||
dComplete += dCompleteMonth;
|
||||
}
|
||||
}
|
||||
row[1] = dPlan.ToString(); //计划值
|
||||
if (dPlanTotal != lastDPlanTotal) //当期累计计划值不等于上月累计计划值时,再保存累计计划值
|
||||
{
|
||||
row[2] = dPlanTotal.ToString(); //累计计划值
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
if (string.IsNullOrEmpty(tb.Rows[j][2].ToString()))
|
||||
{
|
||||
tb.Rows[j][2] = lastDPlanTotal.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dPlanTotal == 0)
|
||||
{
|
||||
row[2] = "0"; //累计计划值
|
||||
}
|
||||
else
|
||||
{
|
||||
row[2] = dPlanTotal;
|
||||
}
|
||||
}
|
||||
lastDPlanTotal = dPlanTotal;
|
||||
row[3] = dComplete.ToString(); //实际值
|
||||
if (dCompleteTotal != lastDCompleteTotal) //当期累计实际值不等于上月累计实际值时,再保存累计实际值
|
||||
{
|
||||
row[4] = dCompleteTotal.ToString(); //累计实际值
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
if (string.IsNullOrEmpty(tb.Rows[j][4].ToString()))
|
||||
{
|
||||
tb.Rows[j][4] = lastDCompleteTotal.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dCompleteTotal == 0)
|
||||
{
|
||||
row[4] = "0"; //累计实际值
|
||||
}
|
||||
else
|
||||
{
|
||||
row[4] = dCompleteTotal;
|
||||
}
|
||||
}
|
||||
lastDCompleteTotal = dCompleteTotal;
|
||||
tb.Rows.Add(row);
|
||||
}
|
||||
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "赢得值曲线";
|
||||
var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
|
||||
var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
Model.SingleSerie s3 = new Model.SingleSerie();
|
||||
@@ -258,13 +37,13 @@ namespace FineUIPro.Web
|
||||
List<double> listdata2 = new List<double>();
|
||||
List<double> listdata3 = new List<double>();
|
||||
List<double> listdata4 = new List<double>();
|
||||
for (int i = 0; i < tb.Rows.Count; i++)
|
||||
for (int i = 0; i < views.Count; i++)
|
||||
{
|
||||
listCategories.Add(tb.Rows[i][0].ToString());
|
||||
listdata.Add(Convert.ToDouble(tb.Rows[i][1].ToString()) * 100);
|
||||
listdata2.Add(Convert.ToDouble(tb.Rows[i][2].ToString()) * 100);
|
||||
listdata3.Add(Convert.ToDouble(tb.Rows[i][3].ToString()) * 100);
|
||||
listdata4.Add(Convert.ToDouble(tb.Rows[i][4].ToString()) * 100);
|
||||
listCategories.Add(views[i].MonthStr);
|
||||
listdata.Add(Convert.ToDouble(views[i].PlanNum));
|
||||
listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum));
|
||||
listdata3.Add(Convert.ToDouble(views[i].RealNum));
|
||||
listdata4.Add(Convert.ToDouble(views[i].TotalRealNum));
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
|
||||
@@ -242,7 +242,10 @@ padding-left: 2em;
|
||||
<div class="item flex1">
|
||||
<div class="bw-b-bottom">
|
||||
<div class="bw-b-bottom-up flex flexV">
|
||||
<div class="tit-one tit-center" style="color:#fff">赢得值曲线</div>
|
||||
<div class="tit-one tit-center tit-right-wrap" style="color:#fff">
|
||||
<div>赢得值曲线</div>
|
||||
<div class="tit-right more js-more-2">更多</div>
|
||||
</div>
|
||||
<div class="bw-item-content flex1 pdtb0">
|
||||
<div id='left_one' style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
@@ -255,7 +258,7 @@ padding-left: 2em;
|
||||
<div class="bw-b-bottom-up flex flexV">
|
||||
<div class="tit-one tit-center tit-right-wrap" style="color:#fff">
|
||||
<div>各工种人力情况</div>
|
||||
<div class="tit-right js-num-ggzllqk">总数:</div>
|
||||
<div class="tit-right js-num-ggzllqk more js-more-3">总数:</div>
|
||||
</div>
|
||||
<div class="bw-item-content flex1 pdtb0">
|
||||
<div id='left_two' style="width: 100%; height: 100%;"></div>
|
||||
@@ -579,7 +582,8 @@ padding-left: 2em;
|
||||
// 使用刚指定的配置项和数据显示图表。
|
||||
myChart.setOption(option)
|
||||
}
|
||||
var two = { "title": "赢得值曲线", "xFontNum": 0, "legend": null, "categories": ["2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02"], "series": [{ "name": null, "type": null, "data": [5.0, 2.0, 0.0, 1.0, 4.0, 8.0, 2.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [8.0, 12.0, 4.0, 9.0, 10.0, 2.0, 3.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [12.0, 2.0, 5.0, 10.0, 3.0, 3.0, 8.0, 10.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [4.0, 3.0, 14.0, 8.0, 10.0, 3.0, 5.0, 10.0], "dataString": null, "dataObject": null }], "series2": null };
|
||||
//var two = { "title": "赢得值曲线", "xFontNum": 0, "legend": null, "categories": ["2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02"], "series": [{ "name": null, "type": null, "data": [5.0, 2.0, 0.0, 1.0, 4.0, 8.0, 2.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [8.0, 12.0, 4.0, 9.0, 10.0, 2.0, 3.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [12.0, 2.0, 5.0, 10.0, 3.0, 3.0, 8.0, 10.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [4.0, 3.0, 14.0, 8.0, 10.0, 3.0, 5.0, 10.0], "dataString": null, "dataObject": null }], "series2": null };
|
||||
var two =<%=Two %>
|
||||
var xArr1 = two.categories
|
||||
var data1 = [ {
|
||||
name: '计划值',
|
||||
@@ -851,7 +855,8 @@ padding-left: 2em;
|
||||
var slidesNum = 5
|
||||
var mySwiper = null
|
||||
$(document).ready(function () {
|
||||
var swiper_One ='<%=swiper_One %>'
|
||||
var swiper_One = '<%=swiper_One %>'
|
||||
$("#swiper2").css("width", ($("#swiper-pre").width()) + 'px')
|
||||
var height = $("#swiper-pre").height() - 40
|
||||
$("#swiper2").css("height", (height) + 'px')
|
||||
slidesNum = Math.floor((height) / 24)
|
||||
@@ -875,36 +880,45 @@ padding-left: 2em;
|
||||
});
|
||||
|
||||
$(".js-more-1").click(function () {
|
||||
var index = 5;
|
||||
var str = ''
|
||||
//for (var i = 0; i < (index + 1) * 3; i++) {
|
||||
// str += '<div>项目' + i + '</div>'
|
||||
//}
|
||||
str += '<div style="width: 100%">伊朗马苏化肥项目</div>'
|
||||
str += '<div>内蒙古京能锡林煤化有限责任公司锡盟东乌旗褐煤提质项目净化装置</div>'
|
||||
str += '<div>印尼PKG合成氨/尿素项目</div>'
|
||||
str += '<div>埃及NCIC磷肥项目</div>'
|
||||
str += '<div>湖北云华安化工有限公司合成氨搬迁技改项目</div>'
|
||||
str += '<div>中煤鄂能化100万吨甲醇技改项目</div>'
|
||||
str += '<div>宜都兴发化工有限公司300万吨/年低品位胶磷矿选矿及深加工项目湿法磷酸装置</div>'
|
||||
str += '<div>中化云龙有限公司磷矿浆脱除75t/h燃煤锅炉尾气SO2成套设备项目</div>'
|
||||
str += '<div>印度塔奇尔化肥项目(煤气化净化标段及合成氨尿素标段)</div>'
|
||||
str += '<div>安阳中盈化肥有限公司尿素装置改造工程</div>'
|
||||
str += '<div>俄罗斯晓基诺化肥项目</div>'
|
||||
str += '<div>南通港吕四港区广汇能源LNG分销转运站2#160000m3储罐项目</div>'
|
||||
str += '<div>启东项目</div>'
|
||||
str += '<div>荒煤气综合利用年产40万吨乙二醇项目</div>'
|
||||
str += '<div>济民可信(高安)清洁能源有限公司江西省建筑陶瓷产业基地清洁工业燃气项目主体装置EPC总承包</div>'
|
||||
str += '<div>湖北兴力电子材料有限公司3万吨/年电子级氢氟酸项目</div>'
|
||||
str += '<div>呼伦贝尔金新化工有限公司新增备用锅炉技改项目总承包工程</div>'
|
||||
str += '<div>大石净水厂污泥干化减量服务项目</div>'
|
||||
str += '<div>广汇启东扩建5#20万m3LNG储罐工程项目</div>'
|
||||
str += '<div>东华能源(茂名)烷烃资源综合利用项目配套库区(一期)项目低温罐区(I)EPC项目</div>'
|
||||
str += '<div>江苏嘉盛燃气有限公司嘉盛LNG调峰储配站工程</div>'
|
||||
str += '<div>山东滨州临港化工产业园首站项目</div>'
|
||||
str += '<div>五环天地项目</div>'
|
||||
$("#projectList").html(str)
|
||||
$(".project-list-wrap").show();
|
||||
//var index = 5;
|
||||
//var str = ''
|
||||
////for (var i = 0; i < (index + 1) * 3; i++) {
|
||||
//// str += '<div>项目' + i + '</div>'
|
||||
////}
|
||||
// str += '<div style="width: 100%">伊朗马苏化肥项目</div>'
|
||||
//str += '<div>内蒙古京能锡林煤化有限责任公司锡盟东乌旗褐煤提质项目净化装置</div>'
|
||||
//str += '<div>印尼PKG合成氨/尿素项目</div>'
|
||||
//str += '<div>埃及NCIC磷肥项目</div>'
|
||||
//str += '<div>湖北云华安化工有限公司合成氨搬迁技改项目</div>'
|
||||
//str += '<div>中煤鄂能化100万吨甲醇技改项目</div>'
|
||||
//str += '<div>宜都兴发化工有限公司300万吨/年低品位胶磷矿选矿及深加工项目湿法磷酸装置</div>'
|
||||
//str += '<div>中化云龙有限公司磷矿浆脱除75t/h燃煤锅炉尾气SO2成套设备项目</div>'
|
||||
//str += '<div>印度塔奇尔化肥项目(煤气化净化标段及合成氨尿素标段)</div>'
|
||||
//str += '<div>安阳中盈化肥有限公司尿素装置改造工程</div>'
|
||||
//str += '<div>俄罗斯晓基诺化肥项目</div>'
|
||||
//str += '<div>南通港吕四港区广汇能源LNG分销转运站2#160000m3储罐项目</div>'
|
||||
//str += '<div>启东项目</div>'
|
||||
//str += '<div>荒煤气综合利用年产40万吨乙二醇项目</div>'
|
||||
//str += '<div>济民可信(高安)清洁能源有限公司江西省建筑陶瓷产业基地清洁工业燃气项目主体装置EPC总承包</div>'
|
||||
//str += '<div>湖北兴力电子材料有限公司3万吨/年电子级氢氟酸项目</div>'
|
||||
//str += '<div>呼伦贝尔金新化工有限公司新增备用锅炉技改项目总承包工程</div>'
|
||||
//str += '<div>大石净水厂污泥干化减量服务项目</div>'
|
||||
//str += '<div>广汇启东扩建5#20万m3LNG储罐工程项目</div>'
|
||||
//str += '<div>东华能源(茂名)烷烃资源综合利用项目配套库区(一期)项目低温罐区(I)EPC项目</div>'
|
||||
//str += '<div>江苏嘉盛燃气有限公司嘉盛LNG调峰储配站工程</div>'
|
||||
//str += '<div>山东滨州临港化工产业园首站项目</div>'
|
||||
//str += '<div>五环天地项目</div>'
|
||||
//$("#projectList").html(str)
|
||||
//$(".project-list-wrap").show();
|
||||
window.open("../JDGL/Check/TotalCompletion.aspx");
|
||||
})
|
||||
|
||||
$(".js-more-2").click(function () {
|
||||
window.open("../JDGL/Check/ProgressCompletion.aspx");
|
||||
})
|
||||
|
||||
$(".js-more-3").click(function () {
|
||||
window.open("../HSSE/SitePerson/PersonList.aspx");
|
||||
})
|
||||
|
||||
$("#projectList_btn").click(function () {
|
||||
|
||||
@@ -51,30 +51,70 @@ namespace FineUIPro.Web.common
|
||||
var designChangeOrders = from x in db.Comprehensive_DesignChangeOrder where x.ProjectId == this.CurrUser.LoginProjectId select x;
|
||||
this.divBG.InnerHtml = designChangeOrders.Count().ToString();
|
||||
//工程量完成情况
|
||||
//string quantityCompletionStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>类型</div><div class='item jd-title'>单位</div><div class='item jd-title'>设计数量</div><div class='item jd-title'>计划完成</div><div class='item jd-title'>实际完成</div><div class='item jd-title'>计划完成率</div><div class='item jd-title'>累计计划完成</div><div class='item jd-title'>累计实际完成</div><div class='item jd-title'>累计计划完成率</div><div class='item jd-title'>总完成率</div></div>";
|
||||
//DateTime months = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01");
|
||||
//var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months orderby x.SortIndex,x.Name select x;
|
||||
//int i = 1;
|
||||
//foreach (var item in quantityCompletions)
|
||||
//{
|
||||
// quantityCompletionStr += "<div class='jd-item'><div class='item'>"
|
||||
// + i + "</div><div class='item'>"
|
||||
// + item.Name + "</div><div class='item'>"
|
||||
// + item.Unit + "</div><div class='item'>"
|
||||
// + item.DesignNum + "</div><div class='item'>"
|
||||
// + item.PlanNum + "</div><div class='item'>"
|
||||
// + item.RealNum + "</div><div class='item'>"
|
||||
// + item.Rate + "</div><div class='item'>"
|
||||
// + item.TotalPlanNum + "</div><div class='item'>"
|
||||
// + item.TotalRealNum + "</div><div class='item'>"
|
||||
// + item.TotalRate + "</div><div class='item'>"
|
||||
// + item.SumRate + "</div></div>";
|
||||
// i++;
|
||||
//}
|
||||
//divGZL.InnerHtml = quantityCompletionStr;
|
||||
string quantityCompletionStr = "<div class='jd-item'><div class='item jd-title'>序号</div><div class='item jd-title'>类型</div><div class='item jd-title'>单位</div><div class='item jd-title'>设计数量</div><div class='item jd-title'>计划完成</div><div class='item jd-title'>实际完成</div><div class='item jd-title'>计划完成率</div><div class='item jd-title'>累计计划完成</div><div class='item jd-title'>累计实际完成</div><div class='item jd-title'>累计计划完成率</div><div class='item jd-title'>总完成率</div></div>";
|
||||
var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x;
|
||||
int i = 1;
|
||||
foreach (var item in quantityCompletions)
|
||||
{
|
||||
quantityCompletionStr += "<div class='jd-item'><div class='item'>"
|
||||
+ i + "</div><div class='item'>"
|
||||
+ item.Name + "</div><div class='item'>"
|
||||
+ item.Unit + "</div><div class='item'>"
|
||||
+ item.DesignNum + "</div><div class='item'>"
|
||||
+ item.PlanNum + "</div><div class='item'>"
|
||||
+ item.RealNum + "</div><div class='item'>"
|
||||
+ item.Rate + "</div><div class='item'>"
|
||||
+ item.TotalPlanNum + "</div><div class='item'>"
|
||||
+ item.TotalRealNum + "</div><div class='item'>"
|
||||
+ item.TotalRate + "</div><div class='item'>"
|
||||
+ item.SumRate + "</div></div>";
|
||||
i++;
|
||||
}
|
||||
divGZL.InnerHtml = quantityCompletionStr;
|
||||
}
|
||||
}
|
||||
|
||||
#region 赢得值曲线
|
||||
protected string Two
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "赢得值曲线";
|
||||
var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
Model.SingleSerie s3 = new Model.SingleSerie();
|
||||
Model.SingleSerie s4 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
List<double> listdata3 = new List<double>();
|
||||
List<double> listdata4 = new List<double>();
|
||||
for (int i = 0; i < views.Count; i++)
|
||||
{
|
||||
listCategories.Add(views[i].MonthStr);
|
||||
listdata.Add(Convert.ToDouble(views[i].PlanNum));
|
||||
listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum));
|
||||
listdata3.Add(Convert.ToDouble(views[i].RealNum));
|
||||
listdata4.Add(Convert.ToDouble(views[i].TotalRealNum));
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
s3.data = listdata3;
|
||||
s4.data = listdata4;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
series.Add(s3);
|
||||
series.Add(s4);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 人力情况
|
||||
protected string Person
|
||||
{
|
||||
@@ -90,12 +130,64 @@ namespace FineUIPro.Web.common
|
||||
select y).Distinct().ToList();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
foreach (var post in posts)
|
||||
{
|
||||
listCategories.Add(post.WorkPostName);
|
||||
int workPostCount = persons.Count(x => x.WorkPostId == post.WorkPostId);
|
||||
listdata.Add(workPostCount);
|
||||
}
|
||||
//木工
|
||||
listCategories.Add("木工");
|
||||
int workPostCount1 = persons.Count(x => x.WorkPostId == Const.WorkPost_Carpentry);
|
||||
listdata.Add(workPostCount1);
|
||||
//钢筋工
|
||||
listCategories.Add("钢筋工");
|
||||
int workPostCount2 = persons.Count(x => x.WorkPostId == Const.WorkPost_SteelWorker);
|
||||
listdata.Add(workPostCount2);
|
||||
//瓦工
|
||||
listCategories.Add("瓦工");
|
||||
int workPostCount3 = persons.Count(x => x.WorkPostId == Const.WorkPost_Bricklayer);
|
||||
listdata.Add(workPostCount3);
|
||||
//混凝土工
|
||||
listCategories.Add("混凝土工");
|
||||
int workPostCount4 = persons.Count(x => x.WorkPostId == Const.WorkPost_ConcreteWorker);
|
||||
listdata.Add(workPostCount4);
|
||||
//钳工
|
||||
listCategories.Add("钳工");
|
||||
int workPostCount5 = persons.Count(x => x.WorkPostId == Const.WorkPost_Fitter1 || x.WorkPostId == Const.WorkPost_Fitter2);
|
||||
listdata.Add(workPostCount5);
|
||||
//焊工
|
||||
listCategories.Add("焊工");
|
||||
int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 ||
|
||||
x.WorkPostId == Const.WorkPost_Welder3 || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5);
|
||||
listdata.Add(workPostCount6);
|
||||
//铆工
|
||||
listCategories.Add("铆工");
|
||||
int workPostCount7 = persons.Count(x => x.WorkPostId == Const.WorkPost_Riveter);
|
||||
listdata.Add(workPostCount7);
|
||||
//管工
|
||||
listCategories.Add("管工");
|
||||
int workPostCount8 = persons.Count(x => x.WorkPostId == Const.WorkPost_Foreman);
|
||||
listdata.Add(workPostCount8);
|
||||
//电工
|
||||
listCategories.Add("电工");
|
||||
int workPostCount9 = persons.Count(x => x.WorkPostId == Const.WorkPost_Electrician1 || x.WorkPostId == Const.WorkPost_Electrician2
|
||||
|| x.WorkPostId == Const.WorkPost_Electrician3);
|
||||
listdata.Add(workPostCount9);
|
||||
//仪表工
|
||||
listCategories.Add("仪表工");
|
||||
int workPostCount10 = persons.Count(x => x.WorkPostId == Const.WorkPost_Instrumentalist);
|
||||
listdata.Add(workPostCount10);
|
||||
//防腐保温工
|
||||
listCategories.Add("防腐保温工");
|
||||
int workPostCount11 = persons.Count(x => x.WorkPostId == Const.WorkPost_AnticorrosionWorker);
|
||||
listdata.Add(workPostCount11);
|
||||
//防腐保温工
|
||||
listCategories.Add("管理人员");
|
||||
int workPostCount12 = (from x in persons
|
||||
join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
where y.PostType == Const.PostType_1
|
||||
select x).Count();
|
||||
listdata.Add(workPostCount12);
|
||||
//其他
|
||||
listCategories.Add("其他");
|
||||
int workPostCount13 = persons.Count()- workPostCount1- workPostCount2- workPostCount3- workPostCount4- workPostCount5- workPostCount6- workPostCount7
|
||||
- workPostCount8- workPostCount9- workPostCount10- workPostCount11- workPostCount12;
|
||||
listdata.Add(workPostCount13);
|
||||
s.data = listdata;
|
||||
series.Add(s);
|
||||
businessColumn.categories = listCategories;
|
||||
@@ -113,7 +205,7 @@ namespace FineUIPro.Web.common
|
||||
{
|
||||
var getGJSX = (from x in Funs.DB.GJSX
|
||||
join y in Funs.DB.Base_QuestionType on x.QuestionTypeID equals y.QuestionTypeID
|
||||
where x.ProjectId==this.CurrUser.LoginProjectId
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||||
orderby x.CreateDate
|
||||
select new { x.GJSXID, x.Detail, x.CreateDate, x.ProjectId, y.QuestionTypeName }).Distinct().Take(20);
|
||||
string strNoticeHtml = string.Empty;
|
||||
|
||||
Reference in New Issue
Block a user