0614-进度增加计划和实际开始/完成时间

This commit is contained in:
gaofei
2022-06-14 18:21:58 +08:00
parent 4b19955e26
commit 0d681e07ac
9 changed files with 289 additions and 41 deletions
@@ -5,12 +5,12 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>全项目录入</title>
<style type="text/css">
.f-grid-row.noEdit{
pointer-events:none;
<style type="text/css">
.f-grid-row.noEdit {
pointer-events: none;
}
.f-grid-colheader-text {
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
@@ -24,22 +24,22 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id,Name,ShowId" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="true" >
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<%--<f:RowNumberField HeaderText="序号"/>--%>
<f:BoundField Width="350px" ColumnID="Name" DataField="Name" HeaderTextAlign="Center" EnableLock="true" Locked="true"
HeaderText="工作内容" />
<f:BoundField Width="100px" DataField="Unit" HeaderText="单位" TextAlign="Center" EnableLock="true" Locked="true"/>
<f:BoundField Width="100px" DataField="Unit" HeaderText="单位" TextAlign="Center" EnableLock="true" Locked="true" />
<f:RenderField Width="100px" ColumnID="TotalNum" DataField="TotalNum" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="合同工作量" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
@@ -64,6 +64,34 @@
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanStartDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanEndDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtRealStartDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtRealEndDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
@@ -116,7 +116,7 @@ namespace FineUIPro.Web.JDGL.WBS
rdId.HeaderTextAlign = TextAlign.Center;
Grid1.Columns.Add(rdId);
rdId.Hidden = true;
ColumnNum = 5 + months.Count * 2 + 1;
ColumnNum = 9 + months.Count * 2 + 1;
}
}
#endregion
@@ -139,7 +139,13 @@ namespace FineUIPro.Web.JDGL.WBS
{
if (string.IsNullOrEmpty(this.Grid1.Rows[i].DataKeys[2].ToString()))
{
this.Grid1.Rows[i].RowCssClass = "noEdit";
foreach (GridColumn column in Grid1.Columns)
{
if (column.ColumnIndex != 0)
{
this.Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
}
}
@@ -180,9 +186,17 @@ namespace FineUIPro.Web.JDGL.WBS
string totalNum = values.Value<string>("TotalNum");
string planPrice = values.Value<string>("PlanPrice");
string realPrice = values.Value<string>("RealPrice");
string planStartDate = values.Value<string>("PlanStartDate");
string planEndDate = values.Value<string>("PlanEndDate");
string realStartDate = values.Value<string>("RealStartDate");
string realEndDate = values.Value<string>("RealEndDate");
costControl.TotalNum = Funs.GetNewDecimal(totalNum);
costControl.PlanPrice = Funs.GetNewDecimal(planPrice);
costControl.RealPrice = Funs.GetNewDecimal(realPrice);
costControl.PlanStartDate = Funs.GetNewDateTime(planStartDate);
costControl.PlanEndDate = Funs.GetNewDateTime(planEndDate);
costControl.RealStartDate = Funs.GetNewDateTime(realStartDate);
costControl.RealEndDate = Funs.GetNewDateTime(realEndDate);
BLL.CostControlService.UpdateCostControl(costControl);
for (int j = 0; j < months.Count; j++)
{
@@ -92,5 +92,41 @@ namespace FineUIPro.Web.JDGL.WBS {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbRealPrice;
/// <summary>
/// txtPlanStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanStartDate;
/// <summary>
/// txtPlanEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanEndDate;
/// <summary>
/// txtRealStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealStartDate;
/// <summary>
/// txtRealEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealEndDate;
}
}
@@ -52,6 +52,18 @@
<f:RenderField Width="100px" ColumnID="RealPrice" DataField="RealPrice" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="实际单价" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
@@ -9,7 +9,7 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
namespace FineUIPro.Web.JDGL.WBS
{
public partial class WorkloadInputIn : PageBase
@@ -115,7 +115,7 @@ namespace FineUIPro.Web.JDGL.WBS
rdId.HeaderTextAlign = TextAlign.Center;
Grid1.Columns.Add(rdId);
rdId.Hidden = true;
ColumnNum = 5 + months.Count * 2 + 1;
ColumnNum = 9 + months.Count * 2 + 1;
}
}
#endregion
@@ -287,31 +287,60 @@ namespace FineUIPro.Web.JDGL.WBS
string row = pds.Rows[i][j].ToString();
if (!string.IsNullOrEmpty(row))
{
try
if (j != 5 && j != 6 && j != 7 && j != 8)
{
decimal d = Convert.ToDecimal(row.Trim());
try
{
decimal d = Convert.ToDecimal(row.Trim());
}
catch (Exception)
{
if (j == 2)
{
result += "第" + (i + 2).ToString() + "行," + "合同工作量" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 3)
{
result += "第" + (i + 2).ToString() + "行," + "预算单价" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 4)
{
result += "第" + (i + 2).ToString() + "行," + "实际单价" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j % 2 == 1) //奇数列
{
result += "第" + (i + 2).ToString() + "行," + string.Format("{0:yyyy-MM}", months[j - 9]) + "计划量" + "," + "[" + row + "]格式错误!" + "|";
}
else
{
result += "第" + (i + 2).ToString() + "行," + string.Format("{0:yyyy-MM}", months[j - 9]) + "完成量" + "," + "[" + row + "]格式错误!" + "|";
}
}
}
catch (Exception)
else
{
if (j == 2)
try
{
result += "第" + (i + 2).ToString() + "行," + "合同工作量" + "," + "[" + row + "]格式错误!" + "|";
DateTime d = Convert.ToDateTime(row.Trim());
}
else if (j == 3)
catch (Exception)
{
result += "第" + (i + 2).ToString() + "行," + "预算单价" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 4)
{
result += "第" + (i + 2).ToString() + "行," + "实际单价" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j % 2 == 1) //奇数列
{
result += "第" + (i + 2).ToString() + "行," + string.Format("{0:yyyy-MM}", months[j - 5]) + "计划量" + "," + "[" + row + "]格式错误!" + "|";
}
else
{
result += "第" + (i + 2).ToString() + "行," + string.Format("{0:yyyy-MM}", months[j - 5]) + "完成量" + "," + "[" + row + "]格式错误!" + "|";
if (j == 5)
{
result += "第" + (i + 2).ToString() + "行," + "计划开始时间" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 6)
{
result += "第" + (i + 2).ToString() + "行," + "计划完成时间" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 7)
{
result += "第" + (i + 2).ToString() + "行," + "实际开始时间" + "," + "[" + row + "]格式错误!" + "|";
}
else if (j == 8)
{
result += "第" + (i + 2).ToString() + "行," + "实际完成时间" + "," + "[" + row + "]格式错误!" + "|";
}
}
}
}
@@ -454,6 +483,10 @@ namespace FineUIPro.Web.JDGL.WBS
costControl.TotalNum = Funs.GetNewDecimal(pds.Rows[i][2].ToString().Trim());
costControl.PlanPrice = Funs.GetNewDecimal(pds.Rows[i][3].ToString().Trim());
costControl.RealPrice = Funs.GetNewDecimal(pds.Rows[i][4].ToString().Trim());
costControl.PlanStartDate = Funs.GetNewDateTime(pds.Rows[i][5].ToString().Trim());
costControl.PlanEndDate = Funs.GetNewDateTime(pds.Rows[i][6].ToString().Trim());
costControl.RealStartDate = Funs.GetNewDateTime(pds.Rows[i][7].ToString().Trim());
costControl.RealEndDate = Funs.GetNewDateTime(pds.Rows[i][8].ToString().Trim());
BLL.CostControlService.UpdateCostControl(costControl);
for (int j = 0; j < months.Count; j++)
{
@@ -463,8 +496,8 @@ namespace FineUIPro.Web.JDGL.WBS
changeThisPlanValue = 0;
changeThisRealCost = 0;
changeThisPlanCost = 0;
string planNum = pds.Rows[i][5 + j * 2].ToString().Trim();
string thisNum = pds.Rows[i][6 + j * 2].ToString().Trim();
string planNum = pds.Rows[i][9 + j * 2].ToString().Trim();
string thisNum = pds.Rows[i][10 + j * 2].ToString().Trim();
Model.WBS_CostControlDetail costControlDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlIdAndMonths(costControl.CostControlId, months[j]);
if (costControlDetail != null)
{