2023-11-25 12:34:55 +08:00
using BLL ;
using MiniExcelLibs ;
using Model ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.IO ;
using System.Linq ;
namespace FineUIPro.Web.common
{
public partial class mainMenu_HJGL3 : PageBase
{
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
this . InitTreeMenu ( ) ; //加载树
2023-11-30 18:46:59 +08:00
this . txtWeldingDate . Text = string . Format ( "{0:yyyy-MM-dd}" , DateTime . Now ) ;
2023-11-25 12:34:55 +08:00
BindGrid1 ( ) ;
}
}
2023-11-30 18:46:59 +08:00
protected void WeldingDateText_OnTextChanged ( object sender , EventArgs e )
{
BindGrid1 ( ) ;
BindGrid2 ( this . tvControlItem . SelectedNodeID ) ;
}
2023-11-25 12:34:55 +08:00
#region 加 载 树 装 置 - 单 位 - 工 作 区
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu ( )
{
this . tvControlItem . Nodes . Clear ( ) ;
TreeNode rootNode1 = new TreeNode ( ) ;
rootNode1 . NodeID = "1" ;
rootNode1 . Text = "建筑工程" ;
rootNode1 . CommandName = "建筑工程" ;
rootNode1 . Selectable = false ;
this . tvControlItem . Nodes . Add ( rootNode1 ) ;
TreeNode rootNode2 = new TreeNode ( ) ;
rootNode2 . NodeID = "2" ;
rootNode2 . Text = "安装工程" ;
rootNode2 . CommandName = "安装工程" ;
rootNode2 . Expanded = true ;
this . tvControlItem . Nodes . Add ( rootNode2 ) ;
var pUnits = ( from x in Funs . DB . Project_ProjectUnit where x . ProjectId = = this . CurrUser . LoginProjectId select x ) . ToList ( ) ;
// 获取当前用户所在单位
var currUnit = pUnits . FirstOrDefault ( x = > x . UnitId = = this . CurrUser . UnitId ) ;
var unitWorkList = ( from x in Funs . DB . WBS_UnitWork
where x . ProjectId = = this . CurrUser . LoginProjectId
& & x . SuperUnitWork = = null & & x . UnitId ! = null & & x . ProjectType ! = null
select x ) . ToList ( ) ;
List < Model . WBS_UnitWork > unitWork1 = null ;
List < Model . WBS_UnitWork > unitWork2 = null ;
//// 当前为施工单位,只能操作本单位的数据
//if (currUnit != null && currUnit.UnitType == Const.ProjectUnitType_2)
//{
// unitWork1 = (from x in unitWorkList
// where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "1"
// select x).ToList();
// unitWork2 = (from x in unitWorkList
// where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "2"
// select x).ToList();
//}
//else
//{
unitWork1 = ( from x in unitWorkList where x . ProjectType = = "1" select x ) . ToList ( ) ;
unitWork2 = ( from x in unitWorkList where x . ProjectType = = "2" select x ) . ToList ( ) ;
//}
if ( unitWork1 . Count ( ) > 0 )
{
foreach ( var q in unitWork1 )
{
int a = ( from x in Funs . DB . HJGL_Pipeline where x . ProjectId = = this . CurrUser . LoginProjectId & & x . UnitWorkId = = q . UnitWorkId select x ) . Count ( ) ;
var unitNamesUnitIds = BLL . UnitService . getUnitNamesUnitIds ( q . UnitId ) ;
TreeNode tn1 = new TreeNode ( ) ;
tn1 . NodeID = q . UnitWorkId ;
tn1 . Text = q . UnitWorkName + "【" + a . ToString ( ) + "】" + "管线" ;
tn1 . ToolTip = "施工单位:" + unitNamesUnitIds ;
tn1 . EnableClickEvent = true ;
rootNode1 . Nodes . Add ( tn1 ) ;
}
}
if ( unitWork2 . Count ( ) > 0 )
{
foreach ( var q in unitWork2 )
{
int a = ( from x in Funs . DB . HJGL_Pipeline where x . ProjectId = = this . CurrUser . LoginProjectId & & x . UnitWorkId = = q . UnitWorkId select x ) . Count ( ) ;
var unitNamesUnitIds = BLL . UnitService . getUnitNamesUnitIds ( q . UnitId ) ;
TreeNode tn2 = new TreeNode ( ) ;
tn2 . NodeID = q . UnitWorkId ;
tn2 . Text = q . UnitWorkName + "【" + a . ToString ( ) + "】" + "管线" ;
tn2 . ToolTip = "施工单位:" + unitNamesUnitIds ;
tn2 . EnableClickEvent = true ;
rootNode2 . Nodes . Add ( tn2 ) ;
}
}
}
#endregion
#region 点 击 TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand ( object sender , TreeCommandEventArgs e )
{
if ( this . tvControlItem . SelectedNodeID . Length > 1 )
{
this . BindGrid2 ( this . tvControlItem . SelectedNodeID ) ;
}
}
#endregion
#region 数 据 绑 定
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid1 ( )
{
2023-11-30 18:46:59 +08:00
string strSql = @ "select ProjectId,TotalDin,TodayFinishSize,FinishSize,CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(TotalDin,0) WHEN 0 THEN 0
2023-11-25 12:34:55 +08:00
ELSE 100.0 * ISNULL ( FinishSize , 0 ) / ( 1.0 * TotalDin ) END ) AS DECIMAL ( 8 , 2 ) ) ) ) + '%'
AS Rate from
2023-11-30 18:46:59 +08:00
( select b . ProjectId , CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint WHERE ProjectId = b . ProjectId ) AS DECIMAL ( 12 , 3 ) ) AS TotalDin ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE jot . ProjectId = b . ProjectId AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS TodayFinishSize ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE jot . ProjectId = b . ProjectId AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate < = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS FinishSize
2023-11-25 12:34:55 +08:00
from Base_Project b ) v where ProjectId = @ProjectId ";
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , ( CurrUser ! = null ) ? CurrUser . LoginProjectId : "" ) ) ;
2023-11-30 18:46:59 +08:00
listStr . Add ( new SqlParameter ( "@WeldingDate" , this . txtWeldingDate . Text . Trim ( ) ) ) ;
2023-11-25 12:34:55 +08:00
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
Grid1 . RecordCount = tb . Rows . Count ;
tb = GetFilteredTable ( Grid1 . FilteredData , tb ) ;
var table = GetPagedDataTable ( Grid1 , tb ) ;
Grid1 . DataSource = table ;
Grid1 . DataBind ( ) ;
2023-11-26 17:43:05 +08:00
decimal totalDin = Funs . GetNewDecimalOrZero ( this . Grid1 . Rows [ 0 ] . Values [ 0 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize = Funs . GetNewDecimalOrZero ( this . Grid1 . Rows [ 0 ] . Values [ 2 ] . ToString ( ) ) ;
2023-11-26 17:43:05 +08:00
decimal notCompleteDin = totalDin - finishSize ;
this . lbNotCompleteDinTotal . Text = notCompleteDin . ToString ( ) ;
2023-11-25 12:34:55 +08:00
}
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid2 ( string unitWorkId )
{
2023-11-30 18:46:59 +08:00
string strSql = @ "select '工厂预制' as PipeArea,UnitWorkId,TotalDin,TodayFinishSize,FinishSize,CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(TotalDin,0) WHEN 0 THEN 0
2023-11-25 12:34:55 +08:00
ELSE 100.0 * ISNULL ( FinishSize , 0 ) / ( 1.0 * TotalDin ) END ) AS DECIMAL ( 8 , 2 ) ) ) ) + '%'
AS Rate from
2023-11-30 18:46:59 +08:00
( select b . UnitWorkId , CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 预 制 口 ' ) AS DECIMAL ( 12 , 3 ) ) AS TotalDin ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 预 制 口 ' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS TodayFinishSize ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 预 制 口 ' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate < = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS FinishSize
2023-11-27 16:06:24 +08:00
from WBS_UnitWork b ) v where UnitWorkId = @UnitWorkId
union
2023-12-01 12:56:11 +08:00
select ' 现 场 施 工 ' as PipeArea , UnitWorkId , TotalDin , TodayFinishSize , FinishSize , CONVERT ( NVARCHAR ( 10 ) , ( CAST ( ( CASE ISNULL ( TotalDin , 0 ) WHEN 0 THEN 0
2023-11-27 16:06:24 +08:00
ELSE 100.0 * ISNULL ( FinishSize , 0 ) / ( 1.0 * TotalDin ) END ) AS DECIMAL ( 8 , 2 ) ) ) ) + '%'
AS Rate from
2023-11-30 18:46:59 +08:00
( select b . UnitWorkId , CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '2' ) + ( SELECT ISNULL ( SUM ( ISNULL ( Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 安 装 口 ' ) AS DECIMAL ( 12 , 3 ) ) AS TotalDin ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '2' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate = @WeldingDate ) + ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 安 装 口 ' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS TodayFinishSize ,
CAST ( ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '2' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate < = @WeldingDate ) + ( SELECT ISNULL ( SUM ( ISNULL ( jot . Size , 0 ) ) , 0 ) FROM dbo . HJGL_WeldJoint jot left join dbo . HJGL_Pipeline pipeline on jot . PipelineId = pipeline . PipelineId left join dbo . HJGL_WeldingDaily d on d . WeldingDailyId = jot . WeldingDailyId WHERE pipeline . UnitWorkId = b . UnitWorkId and PipeArea = '1' and jot . JointAttribute = ' 安 装 口 ' AND jot . WeldingDailyId IS NOT NULL and d . WeldingDate < = @WeldingDate ) AS DECIMAL ( 12 , 3 ) ) AS FinishSize
2023-11-27 16:06:24 +08:00
from WBS_UnitWork b ) v where UnitWorkId = @UnitWorkId ";
2023-11-25 12:34:55 +08:00
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@UnitWorkId" , unitWorkId ) ) ;
2023-11-30 18:46:59 +08:00
listStr . Add ( new SqlParameter ( "@WeldingDate" , this . txtWeldingDate . Text . Trim ( ) ) ) ;
2023-11-25 12:34:55 +08:00
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
Grid2 . RecordCount = tb . Rows . Count ;
tb = GetFilteredTable ( Grid2 . FilteredData , tb ) ;
var table = GetPagedDataTable ( Grid2 , tb ) ;
Grid2 . DataSource = table ;
Grid2 . DataBind ( ) ;
2023-11-30 18:46:59 +08:00
if ( Grid2 . RecordCount > 0 )
{
decimal totalDin1 = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 0 ] . Values [ 1 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize1 = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 0 ] . Values [ 3 ] . ToString ( ) ) ;
2023-11-30 18:46:59 +08:00
decimal notCompleteDin1 = totalDin1 - finishSize1 ;
this . lbNotCompleteDin1 . Text = notCompleteDin1 . ToString ( ) ;
decimal totalDin2 = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 1 ] . Values [ 1 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize2 = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 1 ] . Values [ 3 ] . ToString ( ) ) ;
2023-11-30 18:46:59 +08:00
decimal notCompleteDin2 = totalDin2 - finishSize2 ;
this . lbNotCompleteDin2 . Text = notCompleteDin2 . ToString ( ) ;
}
2023-11-25 12:34:55 +08:00
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
2023-11-27 16:06:24 +08:00
protected void btnQuery1_Click ( object sender , EventArgs e )
{
if ( this . tvControlItem . SelectedNodeID . Length > 1 )
{
2023-11-30 18:46:59 +08:00
if ( string . IsNullOrEmpty ( this . txtPlanEndDate1 . Text . Trim ( ) ) )
2023-11-27 16:06:24 +08:00
{
2023-11-30 18:46:59 +08:00
ShowNotify ( "请输入计划完成日期!" , MessageBoxIcon . Warning ) ;
2023-11-27 16:06:24 +08:00
return ;
}
if ( string . IsNullOrEmpty ( this . txtWorkEfficiency1 . Text . Trim ( ) ) )
{
ShowNotify ( "请输入日工效!" , MessageBoxIcon . Warning ) ;
return ;
}
decimal totalDin = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 0 ] . Values [ 1 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 0 ] . Values [ 3 ] . ToString ( ) ) ;
2023-11-27 16:06:24 +08:00
decimal notCompleteDin = totalDin - finishSize ;
this . lbNotCompleteDin1 . Text = notCompleteDin . ToString ( ) ;
2023-11-30 18:46:59 +08:00
TimeSpan ts = ( TimeSpan ) ( Funs . GetNewDateTime ( this . txtPlanEndDate1 . Text . Trim ( ) ) - Funs . GetNewDateTime ( this . txtWeldingDate . Text . Trim ( ) ) ) ;
decimal leaveDay = Convert . ToDecimal ( ts . Days ) ;
2023-11-27 16:06:24 +08:00
decimal workEfficiency = Funs . GetNewDecimalOrZero ( this . txtWorkEfficiency1 . Text . Trim ( ) ) ;
if ( notCompleteDin > 0 )
{
if ( leaveDay = = 0 )
{
ShowNotify ( "剩余工期( 天) 为0! " , MessageBoxIcon . Warning ) ;
return ;
}
if ( workEfficiency = = 0 )
{
ShowNotify ( "日工效为0! " , MessageBoxIcon . Warning ) ;
return ;
}
2023-11-30 18:46:59 +08:00
this . lbDayNeedSize1 . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay ) ) . ToString ( ) ;
2023-11-27 16:06:24 +08:00
this . lbNeedWelderNum1 . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay / workEfficiency ) ) . ToString ( ) ;
}
else
{
ShowNotify ( "工厂预制未完成达因为0! " , MessageBoxIcon . Warning ) ;
return ;
}
}
else
{
ShowNotify ( "请选择单位工程" , MessageBoxIcon . Warning ) ;
return ;
}
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery2_Click ( object sender , EventArgs e )
2023-11-25 12:34:55 +08:00
{
if ( this . tvControlItem . SelectedNodeID . Length > 1 )
{
2023-11-30 18:46:59 +08:00
if ( string . IsNullOrEmpty ( this . txtPlanEndDate2 . Text . Trim ( ) ) )
2023-11-25 12:34:55 +08:00
{
2023-11-30 18:46:59 +08:00
ShowNotify ( "请输入计划完成日期!" , MessageBoxIcon . Warning ) ;
2023-11-25 12:34:55 +08:00
return ;
}
2023-11-30 18:46:59 +08:00
if ( string . IsNullOrEmpty ( this . txtWorkEfficiency2 . Text . Trim ( ) ) )
2023-11-25 12:34:55 +08:00
{
ShowNotify ( "请输入日工效!" , MessageBoxIcon . Warning ) ;
return ;
}
2023-11-27 16:06:24 +08:00
decimal totalDin = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 1 ] . Values [ 1 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize = Funs . GetNewDecimalOrZero ( this . Grid2 . Rows [ 1 ] . Values [ 3 ] . ToString ( ) ) ;
2023-11-25 12:34:55 +08:00
decimal notCompleteDin = totalDin - finishSize ;
2023-11-27 16:06:24 +08:00
this . lbNotCompleteDin2 . Text = notCompleteDin . ToString ( ) ;
2023-11-30 18:46:59 +08:00
TimeSpan ts = ( TimeSpan ) ( Funs . GetNewDateTime ( this . txtPlanEndDate2 . Text . Trim ( ) ) - Funs . GetNewDateTime ( this . txtWeldingDate . Text . Trim ( ) ) ) ;
decimal leaveDay = Convert . ToDecimal ( ts . Days ) ;
2023-11-27 16:06:24 +08:00
decimal workEfficiency = Funs . GetNewDecimalOrZero ( this . txtWorkEfficiency2 . Text . Trim ( ) ) ;
2023-11-25 12:34:55 +08:00
if ( notCompleteDin > 0 )
{
if ( leaveDay = = 0 )
{
ShowNotify ( "剩余工期( 天) 为0! " , MessageBoxIcon . Warning ) ;
return ;
}
if ( workEfficiency = = 0 )
{
ShowNotify ( "日工效为0! " , MessageBoxIcon . Warning ) ;
return ;
}
2023-11-30 18:46:59 +08:00
this . lbDayNeedSize2 . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay ) ) . ToString ( ) ;
2023-11-27 16:06:24 +08:00
this . lbNeedWelderNum2 . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay / workEfficiency ) ) . ToString ( ) ;
2023-11-25 12:34:55 +08:00
}
else
{
2023-12-01 12:56:11 +08:00
ShowNotify ( "现场施工未完成达因为0! " , MessageBoxIcon . Warning ) ;
2023-11-25 12:34:55 +08:00
return ;
}
}
else
{
ShowNotify ( "请选择单位工程" , MessageBoxIcon . Warning ) ;
return ;
}
}
2023-11-26 17:43:05 +08:00
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQueryTotal_Click ( object sender , EventArgs e )
{
2023-11-30 18:46:59 +08:00
if ( string . IsNullOrEmpty ( this . txtPlanEndDate . Text . Trim ( ) ) )
2023-11-26 17:43:05 +08:00
{
2023-11-30 18:46:59 +08:00
ShowNotify ( "请输入计划完成日期!" , MessageBoxIcon . Warning ) ;
2023-11-26 17:43:05 +08:00
return ;
}
if ( string . IsNullOrEmpty ( this . txtWorkEfficiencyTotal . Text . Trim ( ) ) )
{
ShowNotify ( "请输入日工效!" , MessageBoxIcon . Warning ) ;
return ;
}
decimal totalDin = Funs . GetNewDecimalOrZero ( this . Grid1 . Rows [ 0 ] . Values [ 0 ] . ToString ( ) ) ;
2023-12-01 12:11:50 +08:00
decimal finishSize = Funs . GetNewDecimalOrZero ( this . Grid1 . Rows [ 0 ] . Values [ 2 ] . ToString ( ) ) ;
2023-11-26 17:43:05 +08:00
decimal notCompleteDin = totalDin - finishSize ;
2023-11-30 18:46:59 +08:00
TimeSpan ts = ( TimeSpan ) ( Funs . GetNewDateTime ( this . txtPlanEndDate . Text . Trim ( ) ) - Funs . GetNewDateTime ( this . txtWeldingDate . Text . Trim ( ) ) ) ;
decimal leaveDay = Convert . ToDecimal ( ts . Days ) ;
2023-11-26 17:43:05 +08:00
decimal workEfficiency = Funs . GetNewDecimalOrZero ( this . txtWorkEfficiencyTotal . Text . Trim ( ) ) ;
if ( notCompleteDin > 0 )
{
if ( leaveDay = = 0 )
{
ShowNotify ( "剩余工期( 天) 为0! " , MessageBoxIcon . Warning ) ;
return ;
}
if ( workEfficiency = = 0 )
{
ShowNotify ( "日工效为0! " , MessageBoxIcon . Warning ) ;
return ;
}
2023-11-30 18:46:59 +08:00
this . lbDayNeedSize . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay ) ) . ToString ( ) ;
2023-11-26 17:43:05 +08:00
this . lbNeedWelderNumTotal . Text = Convert . ToInt32 ( Math . Ceiling ( notCompleteDin / leaveDay / workEfficiency ) ) . ToString ( ) ;
}
else
{
ShowNotify ( "未完成达因为0! " , MessageBoxIcon . Warning ) ;
return ;
}
}
2023-11-25 12:34:55 +08:00
}
}