20250929 人工时处理

This commit is contained in:
毕文静 2025-09-29 13:54:52 +08:00
parent a33a1ca50c
commit 56c9aa33ab
11 changed files with 129 additions and 51 deletions

View File

@ -343,41 +343,40 @@
private void UpdateManHourDisabled(object sender, System.Timers.ElapsedEventArgs e)
{
//有资源的人工时
var eprojects = (from x in Funs.DB.Resource_Plan select x).GroupBy(x => x.EProjectId).ToList();
if (eprojects != null)
{
foreach (var epr in eprojects)
{
var planLists = (from x in Funs.DB.Resource_Plan
join y in Funs.DB.Editor_EProject on x.EProjectId equals y.EProjectId
where x.EProjectId == epr.Key && (y.ProjectControl_JobType == "Projects" || y.ProjectControl_JobType == "MOC")
&& x.Phase == "Study/Concept Planning"
orderby x.CreateDate ascending
select new { x.ResourcePlanId, y.PM_MA_ProjectApproval, x.WO }).ToList();
//if (planLists.Count == 2)
//var eprojects = (from x in Funs.DB.Resource_Plan select x).GroupBy(x => x.EProjectId).ToList();
//if (eprojects != null)
//{
if (planLists[0].PM_MA_ProjectApproval.HasValue && planLists[0].PM_MA_ProjectApproval.Value.AddMonths(1) <= DateTime.Now)
{
string resourcePlanId = planLists[0].ResourcePlanId.ToString();
List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == epr.Key && x.ResourcePlanId == resourcePlanId select x).ToList();
foreach (var item in manHours_Plan)
{
item.AccountDisabled = 1;
Funs.DB.SubmitChanges();
}
}
// foreach (var epr in eprojects)
// {
// var planLists = (from x in Funs.DB.Resource_Plan
// join y in Funs.DB.Editor_EProject on x.EProjectId equals y.EProjectId
// where x.EProjectId == epr.Key && (y.ProjectControl_JobType == "Projects" || y.ProjectControl_JobType == "MOC")
// && x.Phase == "Study/Concept Planning"
// orderby x.CreateDate ascending
// select new { x.ResourcePlanId, y.PM_MA_ProjectApproval, x.WO }).ToList();
// //if (planLists.Count == 2)
// //{
// if (planLists[0].PM_MA_ProjectApproval.HasValue && planLists[0].PM_MA_ProjectApproval.Value.AddMonths(1) <= DateTime.Now)
// {
// string resourcePlanId = planLists[0].ResourcePlanId.ToString();
// List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == epr.Key && x.ResourcePlanId == resourcePlanId select x).ToList();
// foreach (var item in manHours_Plan)
// {
// item.AccountDisabled = 1;
// Funs.DB.SubmitChanges();
// }
}
}
//特殊处理的人工时
// }
// //}
// }
//}
//Phase为Study/Concept Planning的人工时Disabled
var eprojectLists = (from x in Funs.DB.Editor_EProject
where (x.ProjectControl_JobType == "Projects" || x.ProjectControl_JobType == "MOC")
&& x.PM_MA_ProjectApproval.HasValue && x.PM_MA_ProjectApproval.Value.AddMonths(1) <= DateTime.Now
select x).ToList();
foreach (var pro in eprojectLists)
{
List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == pro.EProjectId && x.Phase == "Study/Concept Planning" select x).ToList();
List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == pro.EProjectId && x.Phase.Contains("Study/Concept Planning") select x).ToList();
foreach (var item in manHours_Plan)
{
item.AccountDisabled = 1;

View File

@ -15,14 +15,14 @@
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtJobNo" runat="server" Label="Job No" Readonly="true">
<f:TextBox ID="txtJobNo" runat="server" Label="Job No" Readonly="true" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpDiscipline" runat="server" Label="Discipline" EnableGroup="true" EnableEdit="true" ShowRedStar="true" ></f:DropDownList>
<f:DropDownList ID="drpDiscipline" runat="server" Label="Discipline" EnableGroup="true" EnableEdit="true" ShowRedStar="true" LabelWidth="120px"></f:DropDownList>
<%-- <f:TextBox ID="txtDiscipline" runat="server" Label="Discipline" Readonly="true">
</f:TextBox>--%>
</Items>
@ -30,22 +30,35 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtAccount" runat="server" Label="Account" >
<f:TextBox ID="txtAccount" runat="server" Label="Account" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtEngineerName" runat="server" Label="EngineerName" Readonly="true">
<f:TextBox ID="txtEngineerName" runat="server" Label="EngineerName" Readonly="true" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtManHours" runat="server" Label="ManHours">
<f:TextBox ID="txtManHours" runat="server" Label="ManHours" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:CheckBoxList ID="checkPhase" Label="Phase" runat="server" LabelWidth="120px">
<Items>
<f:CheckItem Text="Study/Concept Planning" Value="Study/Concept Planning" Selected="true" />
<f:CheckItem Text="Execution" Value="Execution" />
</Items>
<Listeners>
<f:Listener Event="change" Handler="onCheckBoxListChange" />
</Listeners>
</f:CheckBoxList>
</Items>
</f:FormRow>
<f:FormRow ColumnWidths="20% 80%">
<Items>
<f:Label ID="Label1" runat="server"></f:Label>
@ -67,5 +80,15 @@
</Toolbars>
</f:Form>
</form>
<script type="text/javascript">
// 同时只能选中一项
function onCheckBoxListChange(event, checkbox, isChecked) {
var me = this;
if (isChecked) {
me.setValue(checkbox.getInputValue());
}
__doPostBack('', 'CheckBoxList1Change');
}
</script>
</body>
</html>

View File

@ -60,12 +60,14 @@ namespace FineUIPro.Web.ManHours
if (p.AccountDisabled == 1) {
cbNotApplicable1.Checked = true;
}
if (!string.IsNullOrEmpty(p.Phase))
{
checkPhase.SelectedValueArray = p.Phase.Split(',');
}
}
}
}
}
/// <summary>
/// 提交按钮

View File

@ -86,6 +86,15 @@ namespace FineUIPro.Web.ManHours
/// </remarks>
protected global::FineUIPro.TextBox txtManHours;
/// <summary>
/// checkPhase 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList checkPhase;
/// <summary>
/// Label1 控件。
/// </summary>

View File

@ -49,10 +49,10 @@
<f:FormRow>
<Items>
<f:CheckBoxList ID="checkPhase" Label="Phase" runat="server" LabelWidth="120px">
<Items>
<%--<Items>
<f:CheckItem Text="Study/Concept Planning" Value="Study/Concept Planning" Selected="true" />
<f:CheckItem Text="Execution" Value="Execution" />
</Items>
</Items>--%>
<Listeners>
<f:Listener Event="change" Handler="onCheckBoxListChange" />
</Listeners>

View File

@ -37,6 +37,25 @@ namespace FineUIPro.Web.ManHours
this.txtAccount.Text = p.ProjectControl_Account;
}
var plans = BLL.ResourcePlanService.GetResourcePlanByEProjectId(eProjectId);
if (plans.Count < 2 && plans.FirstOrDefault().Phase == "Study/Concept Planning")
{
checkPhase.Items.Clear();
List<string> lists = new List<string>();
lists.Add("Study/Concept Planning");
checkPhase.DataSource = lists;
checkPhase.DataBind();
checkPhase.SelectedValueArray = lists[0].Split(',');
}
else
{
checkPhase.Items.Clear();
List<string> lists = new List<string>();
lists.Add("Study/Concept Planning");
lists.Add("Execution");
checkPhase.DataSource = lists;
checkPhase.DataBind();
}
}
}
else

View File

@ -125,7 +125,7 @@
</f:Window>
<f:Window ID="Window3" Title="ManHours(Plan)" Hidden="true" EnableIFrame="true" EnableMaximize="false"
Target="Parent" EnableResize="false" runat="server" OnClose="Window3_Close" IsModal="true"
Width="500px" Height="350px">
Width="600px" Height="400px">
</f:Window>
<f:Window ID="Window4" Title="AddManHours(Plan)" Hidden="true" EnableIFrame="true" EnableMaximize="false"
Target="Parent" EnableResize="false" runat="server" OnClose="Window3_Close" IsModal="true"

View File

@ -723,6 +723,7 @@ namespace FineUIPro.Web.ResourcePlan
PM.ManHours = Convert.ToInt32(NumberBox15.Text);
PM.IsClose = 0;
PM.AccountDisabled = 0;
PM.Phase = checkPhase.SelectedValueArray[0];
ManHourList.Add(PM);
}
}
@ -1175,6 +1176,7 @@ namespace FineUIPro.Web.ResourcePlan
}
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}
@ -1311,6 +1313,7 @@ namespace FineUIPro.Web.ResourcePlan
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase = checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}
@ -1438,6 +1441,7 @@ namespace FineUIPro.Web.ResourcePlan
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}

View File

@ -1187,6 +1187,7 @@ namespace FineUIPro.Web.ResourcePlan
PM.ManHours = Convert.ToInt32(NumberBox15.Text);
PM.IsClose = 0;
PM.AccountDisabled = 0;
PM.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(PM);
}
}
@ -1734,6 +1735,7 @@ namespace FineUIPro.Web.ResourcePlan
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}
@ -1870,6 +1872,7 @@ namespace FineUIPro.Web.ResourcePlan
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}
@ -1996,6 +1999,7 @@ namespace FineUIPro.Web.ResourcePlan
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHoursPlan.Phase= checkPhase.SelectedValueArray[0];
ManHourList.Add(ManHoursPlan);
}
}

View File

@ -195,8 +195,8 @@
<f:FormRow>
<Items>
<f:TextBox ID="txtJobTitle" runat="server" Label="Job Title" LabelWidth="120px"></f:TextBox>
<f:TextBox ID="txtPVIPredition" runat="server" Label="PVI Predition" LabelWidth="170px"></f:TextBox>
<f:TextBox ID="txtElectrialEng" runat="server" Label="Electrial Eng." LabelWidth="120px"></f:TextBox>
<f:TextBox ID="txtPVIPredition" runat="server" Label="Predition" LabelWidth="170px"></f:TextBox>
<f:TextBox ID="txtElectrialEng" runat="server" Label="Electrical" LabelWidth="120px"></f:TextBox>
<f:NumberBox ID="txtPendingCost" runat="server" Label="-Pending Cost(RMB)" LabelWidth="160px" EnableCommas="true" Readonly="true"></f:NumberBox>
</Items>
</f:FormRow>
@ -220,7 +220,7 @@
<Items>
<f:TextBox ID="txtCategory" runat="server" Label="Category" LabelWidth="120px"></f:TextBox>
<f:TextBox ID="txtEngManager" runat="server" Label="Eng.Manager" LabelWidth="170px"></f:TextBox>
<f:TextBox ID="txtOutSourceType" runat="server" Label="OutSource Type" LabelWidth="120px"></f:TextBox>
<f:TextBox ID="txtOutSourceType" runat="server" Label="Outsource Type" LabelWidth="120px"></f:TextBox>
<f:TextBox ID="txtCAPEXPlanNo" runat="server" Label="CAPEX Plan No." LabelWidth="160px"></f:TextBox>
</Items>
</f:FormRow>
@ -625,10 +625,10 @@
FieldType="String" HeaderText="Sch.(Days)" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Initiator" DataField="Initiator"
FieldType="String" HeaderText="Initator" HeaderTextAlign="Center">
FieldType="String" HeaderText="Initiator" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CategoryName" DataField="CategoryName"
FieldType="String" HeaderText="Catetory" HeaderTextAlign="Center">
FieldType="String" HeaderText="category" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="TDCRecDate" DataField="TDCRecDate"
FieldType="Date" Renderer="Date" HeaderText="Receive Date" HeaderTextAlign="Center">

View File

@ -27681,6 +27681,8 @@ namespace Model
private System.Nullable<double> _ActHours;
private string _Phase;
public View_NewManHours_Plan()
{
}
@ -28116,6 +28118,22 @@ namespace Model
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Phase", DbType="NVarChar(50)")]
public string Phase
{
get
{
return this._Phase;
}
set
{
if ((this._Phase != value))
{
this._Phase = value;
}
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Project_Closure_Report")]