提交代码

This commit is contained in:
高飞 2023-11-25 16:03:59 +08:00
parent 3798809740
commit 206d2c5c43
11 changed files with 149 additions and 6 deletions

View File

@ -0,0 +1,2 @@
alter table [dbo].[WBS_ControlItemInit] add IsJDItem bit null
GO

View File

@ -51,6 +51,7 @@ namespace BLL
newControlItem.Standard = controlItem.Standard;
newControlItem.ClauseNo = controlItem.ClauseNo;
newControlItem.CheckAcceptType = controlItem.CheckAcceptType;
newControlItem.IsJDItem = controlItem.IsJDItem;
db.WBS_ControlItemInit.InsertOnSubmit(newControlItem);
db.SubmitChanges();
@ -75,6 +76,7 @@ namespace BLL
newControlItem.Standard = controlItem.Standard;
newControlItem.ClauseNo = controlItem.ClauseNo;
newControlItem.CheckAcceptType = controlItem.CheckAcceptType;
newControlItem.IsJDItem = controlItem.IsJDItem;
db.SubmitChanges();
}

View File

@ -827,6 +827,45 @@ namespace BLL
}
}
/// <summary>
/// 更新分部分项工程实际完成时间
/// </summary>
/// <param name="WorkPackage"></param>
public static void UpdateWorkPackageRealEndDate2(string workPackageId)
{
using (var db = new Model.SGGLDB(Funs.ConnString))
{
var workPackage = db.WBS_WorkPackage.FirstOrDefault(x => x.WorkPackageId == workPackageId);
if (workPackage != null)
{
workPackage.RealEndDate = DateTime.Now;
UpdateWorkPackages(db, workPackage, null, null, null, workPackage.RealEndDate);
db.SubmitChanges();
var unitWork = db.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkId == workPackage.UnitWorkId);
//获取是否存在其他未完成的分部分项
var notEndOthenWorkPackage = db.WBS_WorkPackage.FirstOrDefault(x => x.UnitWorkId == unitWork.UnitWorkId && x.IsApprove == true && x.RealEndDate == null);
if (notEndOthenWorkPackage == null)
{
if (workPackage.RealEndDate != null)
{
if (unitWork.RealEndDate == null)
{
unitWork.RealEndDate = workPackage.RealEndDate;
}
else
{
if (unitWork.RealEndDate < workPackage.RealEndDate)
{
unitWork.RealEndDate = workPackage.RealEndDate;
}
}
}
}
}
db.SubmitChanges();
}
}
#region ID获取wbs节点及父节点字符串
/// <summary>
/// 根据工作包ID获取wbs节点及父节点字符串

View File

@ -967,6 +967,12 @@ namespace FineUIPro.Web.CQMS.Check
foreach (var item in list)
{
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleById(item.ControlItemAndCycleId);
Model.WBS_ControlItemInit cInit = BLL.ControlItemInitService.GetControlItemInitByCode(c.InitControlItemCode);
bool isJDItem = false;
if (cInit != null && cInit.IsJDItem.HasValue)
{
isJDItem = cInit.IsJDItem.Value;
}
if (c != null)
{
if (!string.IsNullOrEmpty(c.HGForms) || !string.IsNullOrEmpty(c.SHForms))
@ -980,8 +986,19 @@ namespace FineUIPro.Web.CQMS.Check
{
c.RealEndDate = DateTime.Now;
BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
if (isJDItem) //进度完成项
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate2(c.WorkPackageId);
}
else //非进度完成项
{
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(c.WorkPackageId);
if (workPackage.RealEndDate == null) //分部分项还未生成实际完成时间
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate(c.WorkPackageId);
}
}
}
else //检查多次
{
List<Model.Check_SpotCheckDetail> details = BLL.SpotCheckDetailService.GetSpotCheckDetailsByControlItemAndCycleId(c.ControlItemAndCycleId);
@ -989,12 +1006,23 @@ namespace FineUIPro.Web.CQMS.Check
{
c.RealEndDate = DateTime.Now;
BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
if (isJDItem) //进度完成项
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate2(c.WorkPackageId);
}
else //非进度完成项
{
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(c.WorkPackageId);
if (workPackage.RealEndDate == null) //分部分项还未生成实际完成时间
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate(c.WorkPackageId);
}
}
}
}
}
}
}
if (!isExitForms) //不存在有表格需上传的明细记录
{
isShow = false;

View File

@ -77,6 +77,11 @@
<f:TextBox ID="txtClauseNo" runat="server" Label="条款号" LabelWidth="160px"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:CheckBox runat="server" ID="cbIsJDItem" Label="进度完成项" LabelWidth="160px"></f:CheckBox>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">

View File

@ -102,6 +102,10 @@ namespace FineUIPro.Web.CQMS.WBS
this.txtSHForms.Text = controlItem.SHForms;
this.txtStandard.Text = controlItem.Standard;
this.txtClauseNo.Text = controlItem.ClauseNo;
if (controlItem.IsJDItem == true)
{
this.cbIsJDItem.Checked = true;
}
}
}
}
@ -130,6 +134,7 @@ namespace FineUIPro.Web.CQMS.WBS
newControlItem.SHForms = this.txtSHForms.Text.Trim();
newControlItem.Standard = this.txtStandard.Text.Trim();
newControlItem.ClauseNo = this.txtClauseNo.Text.Trim();
newControlItem.IsJDItem = this.cbIsJDItem.Checked;
if (Request.Params["type"] == "add")
{
BLL.ControlItemInitService.AddControlItemInit(newControlItem);

View File

@ -147,6 +147,15 @@ namespace FineUIPro.Web.CQMS.WBS {
/// </remarks>
protected global::FineUIPro.TextBox txtClauseNo;
/// <summary>
/// cbIsJDItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbIsJDItem;
/// <summary>
/// Toolbar1 控件。
/// </summary>

View File

@ -88,6 +88,7 @@
<f:RenderField Width="100px" ColumnID="ClauseNo" DataField="ClauseNo" FieldType="String"
HeaderText="条款号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:CheckBoxField Width="100px" RenderAsStaticField="true" TextAlign="Center" DataField="IsJDItem" HeaderText="进度完成项" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />

View File

@ -455,7 +455,7 @@ namespace FineUIPro.Web.CQMS.WBS
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT ControlItemCode,WorkPackageCode,ControlItemContent,ControlPoint,ControlItemDef,Weights,HGForms,SHForms,Standard,ClauseNo"
string strSql = @"SELECT ControlItemCode,WorkPackageCode,ControlItemContent,ControlPoint,ControlItemDef,Weights,HGForms,SHForms,Standard,ClauseNo,IsJDItem"
+ @" FROM WBS_ControlItemInit ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " where WorkPackageCode = @WorkPackageCode";

View File

@ -296714,6 +296714,8 @@ namespace Model
private string _CheckAcceptType;
private System.Nullable<bool> _IsJDItem;
private EntityRef<WBS_WorkPackageInit> _WBS_WorkPackageInit;
#region
@ -296742,6 +296744,8 @@ namespace Model
partial void OnClauseNoChanged();
partial void OnCheckAcceptTypeChanging(string value);
partial void OnCheckAcceptTypeChanged();
partial void OnIsJDItemChanging(System.Nullable<bool> value);
partial void OnIsJDItemChanged();
#endregion
public WBS_ControlItemInit()
@ -296974,6 +296978,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsJDItem", DbType="Bit")]
public System.Nullable<bool> IsJDItem
{
get
{
return this._IsJDItem;
}
set
{
if ((this._IsJDItem != value))
{
this.OnIsJDItemChanging(value);
this.SendPropertyChanging();
this._IsJDItem = value;
this.SendPropertyChanged("IsJDItem");
this.OnIsJDItemChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_ControlItemInit_WBS_WorkPackageInit", Storage="_WBS_WorkPackageInit", ThisKey="WorkPackageCode", OtherKey="WorkPackageCode", IsForeignKey=true)]
public WBS_WorkPackageInit WBS_WorkPackageInit
{

View File

@ -327,6 +327,12 @@ namespace Mvc.Controllers
//更新明细记录
//判断明细是否需要上传资料
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleByIdForApi(item.ControlItemAndCycleId);
Model.WBS_ControlItemInit cInit = BLL.ControlItemInitService.GetControlItemInitByCode(c.InitControlItemCode);
bool isJDItem = false;
if (cInit != null && cInit.IsJDItem.HasValue)
{
isJDItem = cInit.IsJDItem.Value;
}
if (c != null)
{
if (string.IsNullOrEmpty(c.HGForms) && string.IsNullOrEmpty(c.SHForms))
@ -345,8 +351,19 @@ namespace Mvc.Controllers
{
c.RealEndDate = DateTime.Now;
BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
if (isJDItem) //进度完成项
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate2(c.WorkPackageId);
}
else //非进度完成项
{
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(c.WorkPackageId);
if (workPackage.RealEndDate == null) //分部分项还未生成实际完成时间
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate(c.WorkPackageId);
}
}
}
else //检查多次
{
List<Model.Check_SpotCheckDetail> details = BLL.SpotCheckDetailService.GetSpotCheckDetailsByControlItemAndCycleId(c.ControlItemAndCycleId);
@ -354,11 +371,22 @@ namespace Mvc.Controllers
{
c.RealEndDate = DateTime.Now;
BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
if (isJDItem) //进度完成项
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate2(c.WorkPackageId);
}
else //非进度完成项
{
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(c.WorkPackageId);
if (workPackage.RealEndDate == null) //分部分项还未生成实际完成时间
{
BLL.WorkPackageService.UpdateWorkPackageRealEndDate(c.WorkPackageId);
}
}
}
}
}
}
item.State = BLL.Const.SpotCheck_Audit5;
item.HandleMan = spotCheck1.CreateMan;
BLL.SpotCheckDetailService.UpdateSpotCheckDetailForApi(item);