20250916 特殊人工日disabled

This commit is contained in:
毕文静 2025-09-16 16:41:45 +08:00
parent 6211d2ba3f
commit 0fa168948b
11 changed files with 289 additions and 67 deletions

View File

@ -72,6 +72,7 @@ namespace BLL
newPlan.ManHours = plan.ManHours;
newPlan.AccountDisabled = plan.AccountDisabled;
newPlan.IsClose = plan.IsClose;
newPlan.Phase = plan.Phase;
Funs.DB.ManHours_Plan.InsertOnSubmit(newPlan);
Funs.DB.SubmitChanges();
}

View File

@ -97,12 +97,13 @@
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(MCEmial);
}
//填写第二张资源时,第一张资源预留一个月的时候填写人工时
//填写第二张资源时,第一张资源预留一个月的时候填写人工时(不用了)
//以Phase为Study/Concept Planning且PM_MA_ProjectApproval+一个月≤当前时间人工时Disabled
if (DateTime.Now.Hour == 10)
{
System.Timers.Timer aTimer = new System.Timers.Timer();
//1小时执行一次
aTimer.Interval = 3600000;
aTimer.Interval = 60 * 60 * 1000;
aTimer.Enabled = true;
aTimer.Start();
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(UpdateManHourDisabled);
@ -341,6 +342,7 @@
/// <param name="e"></param>
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)
{
@ -357,8 +359,7 @@
if (planLists[0].PM_MA_ProjectApproval.HasValue && planLists[0].PM_MA_ProjectApproval.Value.AddMonths(1) <= DateTime.Now)
{
string resourcePlanId = planLists[0].ResourcePlanId.ToString();
string wo = planLists[0].WO.ToString();//特殊处理的人工时无ResourcePlanId判断Account与第一个rp的Account相同做Disabled
List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == epr.Key && (x.ResourcePlanId == resourcePlanId || x.Account.Contains(wo)) select x).ToList();
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;
@ -369,6 +370,21 @@
}
}
//特殊处理的人工时
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();
foreach (var item in manHours_Plan)
{
item.AccountDisabled = 1;
Funs.DB.SubmitChanges();
}
}
var epList = from x in Funs.DB.Editor_EProject
where (x.ProjectControl_PC_CancelDate.HasValue && x.ProjectControl_PC_CancelDate.Value.AddMonths(1) <= DateTime.Now && x.ProjectControl_PC_CancelDate.Value.AddMonths(2) >= DateTime.Now)
|| (x.Job_Hold.HasValue && x.Job_Hold.Value.AddMonths(1) <= DateTime.Now && x.Job_Hold.Value.AddMonths(2) >= DateTime.Now)

View File

@ -46,9 +46,9 @@
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<f:FormRow ColumnWidths="20% 80%">
<Items>
<f:Label ID="Label1" runat="server"></f:Label>
<f:CheckBox ID="cbNotApplicable1" runat="server" AutoPostBack="true" Text="Account Disabled?"></f:CheckBox>
</Items>
</f:FormRow>

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ManHours {
public partial class AccountDisabled {
namespace FineUIPro.Web.ManHours
{
public partial class AccountDisabled
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtJobNo 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtJobNo;
/// <summary>
/// drpDiscipline 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDiscipline;
/// <summary>
/// txtAccount 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAccount;
/// <summary>
/// txtEngineerName 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtEngineerName;
/// <summary>
/// txtManHours 控件。
/// </summary>
@ -83,7 +85,16 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtManHours;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// cbNotApplicable1 控件。
/// </summary>
@ -92,7 +103,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbNotApplicable1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@ -101,7 +112,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
@ -110,7 +121,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>

View File

@ -46,9 +46,22 @@
</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>
<f:CheckBox ID="cbNotApplicable1" runat="server" AutoPostBack="true" Text="Account Disabled?"></f:CheckBox>
</Items>
</f:FormRow>
@ -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

@ -146,6 +146,11 @@ namespace FineUIPro.Web.ManHours
pm.AccountDisabled =0;
pm.IsClose = 0;
}
if (checkPhase.SelectedValueArray != null)
{
pm.Phase = checkPhase.SelectedValueArray[0];
}
BLL.PlanService.AddPlan(pm);
// 把设计专业回写到PM_Editor

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ManHours {
public partial class AddManHours {
namespace FineUIPro.Web.ManHours
{
public partial class AddManHours
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtJobNo 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtJobNo;
/// <summary>
/// drpJobNo 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpJobNo;
/// <summary>
/// drpDiscipline 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDiscipline;
/// <summary>
/// txtAccount 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAccount;
/// <summary>
/// drpEngineer 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpEngineer;
/// <summary>
/// txtManHours 控件。
/// </summary>
@ -92,7 +94,25 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtManHours;
/// <summary>
/// checkPhase 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList checkPhase;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// cbNotApplicable1 控件。
/// </summary>
@ -101,7 +121,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbNotApplicable1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@ -110,7 +130,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
@ -119,7 +139,7 @@ namespace FineUIPro.Web.ManHours {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>

View File

@ -129,7 +129,7 @@
</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"
Width="500px" Height="350px">
Width="600px" Height="400px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"

View File

@ -137,6 +137,9 @@ namespace Model
partial void InsertResource_PlanDetail(Resource_PlanDetail instance);
partial void UpdateResource_PlanDetail(Resource_PlanDetail instance);
partial void DeleteResource_PlanDetail(Resource_PlanDetail instance);
partial void InsertSyncDataUserLogs(SyncDataUserLogs instance);
partial void UpdateSyncDataUserLogs(SyncDataUserLogs instance);
partial void DeleteSyncDataUserLogs(SyncDataUserLogs instance);
partial void InsertSys_ActualManHourMonthSet(Sys_ActualManHourMonthSet instance);
partial void UpdateSys_ActualManHourMonthSet(Sys_ActualManHourMonthSet instance);
partial void DeleteSys_ActualManHourMonthSet(Sys_ActualManHourMonthSet instance);
@ -15968,6 +15971,8 @@ namespace Model
private System.Nullable<int> _IsClose;
private string _Phase;
private EntityRef<Editor_EProject> _Editor_EProject;
private EntityRef<Resource_Plan> _Resource_Plan;
@ -16004,6 +16009,8 @@ namespace Model
partial void OnAccountDisabledChanged();
partial void OnIsCloseChanging(System.Nullable<int> value);
partial void OnIsCloseChanged();
partial void OnPhaseChanging(string value);
partial void OnPhaseChanged();
#endregion
public ManHours_Plan()
@ -16267,6 +16274,26 @@ 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.OnPhaseChanging(value);
this.SendPropertyChanging();
this._Phase = value;
this.SendPropertyChanged("Phase");
this.OnPhaseChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_ManHours_Plan_Editor_EProject", Storage="_Editor_EProject", ThisKey="EProjectId", OtherKey="EProjectId", IsForeignKey=true)]
public Editor_EProject Editor_EProject
{
@ -18834,28 +18861,79 @@ namespace Model
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SyncDataUserLogs")]
public partial class SyncDataUserLogs
public partial class SyncDataUserLogs : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _Id;
private string _BatchNo;
private System.Nullable<System.DateTime> _CreatedTime;
private System.Nullable<int> _DataType;
private int _DataType;
private string _DepatId;
private string _UserId;
private System.Nullable<System.DateTime> _CreatedTime;
private System.Nullable<bool> _IsSuccess;
private string _Remark;
private string _Josn;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnIdChanging(int value);
partial void OnIdChanged();
partial void OnBatchNoChanging(string value);
partial void OnBatchNoChanged();
partial void OnDataTypeChanging(int value);
partial void OnDataTypeChanged();
partial void OnDepatIdChanging(string value);
partial void OnDepatIdChanged();
partial void OnUserIdChanging(string value);
partial void OnUserIdChanged();
partial void OnCreatedTimeChanging(System.Nullable<System.DateTime> value);
partial void OnCreatedTimeChanged();
partial void OnIsSuccessChanging(System.Nullable<bool> value);
partial void OnIsSuccessChanged();
partial void OnRemarkChanging(string value);
partial void OnRemarkChanged();
partial void OnJosnChanging(string value);
partial void OnJosnChanged();
#endregion
public SyncDataUserLogs()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BatchNo", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="id", Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int Id
{
get
{
return this._Id;
}
set
{
if ((this._Id != value))
{
this.OnIdChanging(value);
this.SendPropertyChanging();
this._Id = value;
this.SendPropertyChanged("Id");
this.OnIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="batchNo", Storage="_BatchNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string BatchNo
{
get
@ -18866,29 +18944,17 @@ namespace Model
{
if ((this._BatchNo != value))
{
this.OnBatchNoChanging(value);
this.SendPropertyChanging();
this._BatchNo = value;
this.SendPropertyChanged("BatchNo");
this.OnBatchNoChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatedTime", DbType="DateTime")]
public System.Nullable<System.DateTime> CreatedTime
{
get
{
return this._CreatedTime;
}
set
{
if ((this._CreatedTime != value))
{
this._CreatedTime = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DataType", DbType="Int")]
public System.Nullable<int> DataType
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="dataType", Storage="_DataType", DbType="Int NOT NULL")]
public int DataType
{
get
{
@ -18898,12 +18964,16 @@ namespace Model
{
if ((this._DataType != value))
{
this.OnDataTypeChanging(value);
this.SendPropertyChanging();
this._DataType = value;
this.SendPropertyChanged("DataType");
this.OnDataTypeChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DepatId", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="depatId", Storage="_DepatId", DbType="NVarChar(50)")]
public string DepatId
{
get
@ -18914,12 +18984,16 @@ namespace Model
{
if ((this._DepatId != value))
{
this.OnDepatIdChanging(value);
this.SendPropertyChanging();
this._DepatId = value;
this.SendPropertyChanged("DepatId");
this.OnDepatIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="userId", Storage="_UserId", DbType="NVarChar(50)")]
public string UserId
{
get
@ -18930,7 +19004,31 @@ namespace Model
{
if ((this._UserId != value))
{
this.OnUserIdChanging(value);
this.SendPropertyChanging();
this._UserId = value;
this.SendPropertyChanged("UserId");
this.OnUserIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="createdTime", Storage="_CreatedTime", DbType="DateTime")]
public System.Nullable<System.DateTime> CreatedTime
{
get
{
return this._CreatedTime;
}
set
{
if ((this._CreatedTime != value))
{
this.OnCreatedTimeChanging(value);
this.SendPropertyChanging();
this._CreatedTime = value;
this.SendPropertyChanged("CreatedTime");
this.OnCreatedTimeChanged();
}
}
}
@ -18946,12 +19044,16 @@ namespace Model
{
if ((this._IsSuccess != value))
{
this.OnIsSuccessChanging(value);
this.SendPropertyChanging();
this._IsSuccess = value;
this.SendPropertyChanged("IsSuccess");
this.OnIsSuccessChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(500)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string Remark
{
get
@ -18962,10 +19064,54 @@ namespace Model
{
if ((this._Remark != value))
{
this.OnRemarkChanging(value);
this.SendPropertyChanging();
this._Remark = value;
this.SendPropertyChanged("Remark");
this.OnRemarkChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Josn", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string Josn
{
get
{
return this._Josn;
}
set
{
if ((this._Josn != value))
{
this.OnJosnChanging(value);
this.SendPropertyChanging();
this._Josn = value;
this.SendPropertyChanged("Josn");
this.OnJosnChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_ActualManHourMonthSet")]

Binary file not shown.