2022-09-05 16:36:31 +08:00
using BLL ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
2024-03-11 23:25:08 +08:00
using Model ;
2022-09-05 16:36:31 +08:00
namespace FineUIPro.Web.PHTGL.BiddingManagement
{
public partial class BidDocumentsReviewDetail : PageBase
{
#region 定 义 属 性
/// <summary>
/// 合同ID
/// </summary>
public string BidDocumentsReviewId
{
get
{
return ( string ) ViewState [ "BidDocumentsReviewId" ] ;
}
set
{
ViewState [ "BidDocumentsReviewId" ] = value ;
}
}
/// <summary>
/// 最末的审批节点
/// </summary>
public int EndApproveType
{
get
{
return ( int ) ViewState [ "EndApproveType" ] ;
}
set
{
ViewState [ "EndApproveType" ] = value ;
}
}
/// <summary>
/// 审批人字典
/// </summary>
public Dictionary < int , string > Dic_ApproveMan
{
get
{
return ( Dictionary < int , string > ) ViewState [ "Dic_ApproveMan" ] ;
}
set
{
ViewState [ "Dic_ApproveMan" ] = value ;
}
}
public List < ApproveManModel > ApproveManModels
{
get
{
return ( List < ApproveManModel > ) Session [ "ApproveManModels" ] ;
}
set
{
Session [ "ApproveManModels" ] = value ;
}
}
public Model . PHTGL_Approve pHTGL_Approve
{
get
{
return ( Model . PHTGL_Approve ) Session [ "pHTGL_Approve" ] ;
}
set
{
Session [ "pHTGL_Approve" ] = value ;
}
}
#endregion
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
BidDocumentsReviewId = Request . Params [ "BidDocumentsReviewId" ] ;
EndApproveType = 5 ;
// this.btnClose.OnClientClick = ActiveWindow.GetHideRefreshReference();
//获取招标实施计划基本信息
var _Bid = PHTGL_BidDocumentsReviewService . GetPHTGL_BidDocumentsReviewById ( BidDocumentsReviewId ) ;
var _ActionPlanFormation = BLL . PHTGL_ActionPlanFormationService . GetPHTGL_ActionPlanFormationById ( _Bid . ActionPlanID ) ;
//获取审批人字典
Dic_ApproveMan = PHTGL_BidDocumentsReviewService . Get_DicApproveman ( _Bid . ProjectId , _Bid . BidDocumentsReviewId ) ;
ApproveManModels = PHTGL_BidDocumentsReviewService . GetApproveManModels ( _Bid . ProjectId , _Bid . BidDocumentsReviewId ) ;
//获取当前登录人审批信息
pHTGL_Approve = BLL . PHTGL_ApproveService . GetPHTGL_ApproveByUserId ( BidDocumentsReviewId , this . CurrUser . PersonId ) ;
this . txtProjectCode . Text = _ActionPlanFormation . EPCCode ;
this . txtProjectName . Text = _ActionPlanFormation . ProjectShortName ;
this . txtCreateUser . Text = BLL . Person_PersonsService . GetPersonsNameById ( _Bid . CreateUser ) ;
if ( PHTGL_ApproveService . IsApproveMan ( BidDocumentsReviewId , this . CurrUser . PersonId ) )
{
BindGrid ( ) ;
}
else if ( this . CurrUser . PersonId = = Const . sysglyId | | this . CurrUser . PersonId = = Const . hfnbdId )
{
BindGrid ( ) ;
}
else if ( _Bid . CreateUser = = this . CurrUser . PersonId )
{
BindGrid ( ) ;
}
if ( pHTGL_Approve ! = null )
{
btnAgree . Enabled = true ;
btnDisgree . Enabled = true ;
}
if ( _Bid . State = = Const . ContractReview_Refuse )
{
btnAgree . Enabled = false ;
btnDisgree . Enabled = false ;
}
}
}
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid ( )
{
string strSql = @ " select u.PersonName as ApproveMan,
App . ApproveDate ,
( CASE App . IsAgree WHEN '1' THEN ' 不 同 意 '
WHEN '2' THEN ' 同 意 ' END ) AS IsAgree ,
App . ApproveIdea ,
App . ApproveId ,
App . ApproveType
from PHTGL_Approve as App "
+ @" left join Person_Persons AS U ON U.PersonId = App.ApproveMan WHERE 1=1 and App.IsAgree <>0 and app.ContractId= @ContractId order by convert(datetime ,App.ApproveDate) " ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ContractId" , BidDocumentsReviewId ) ) ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
//Grid1.RecordCount = tb.Rows.Count;
//var table = this.GetPagedDataTable(Grid1, tb);
Grid1 . DataSource = tb ;
Grid1 . DataBind ( ) ;
}
protected void btnAttachUrl_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( WindowAtt . GetShowReference ( String . Format ( "~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/BidDocumentsAttachUrl&menuId={1}" , this . BidDocumentsReviewId , BLL . Const . BidDocumentsReviewIdMenuid ) ) ) ;
}
/// <summary>
/// 判断是否所以会签人员都已经同意
/// </summary>
/// <returns></returns>
private bool IsCountersignerAllAgree ( )
{
bool IsNext = false ;
string strsql = "select count(*) from PHTGL_Approve where State='0' and ApproveMan !='' and ContractId='" + pHTGL_Approve . ContractId + "'" ;
DataTable tb = SQLHelper . RunSqlGetTable ( strsql ) ;
if ( tb ! = null & & tb . Rows . Count > 0 )
{
if ( tb . Rows [ 0 ] [ 0 ] . ToString ( ) = = "0" )
{
IsNext = true ;
}
}
return IsNext ;
}
#region 分 页 排 序
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
BindGrid ( ) ;
}
protected void btnAgree_Click ( object sender , EventArgs e )
{
var number = ApproveManModels . Find ( x = > x . Rolename = = pHTGL_Approve . ApproveType ) . Number ;
if ( number < = 2 )
{
CountersignerSave ( true ) ;
OAWebSevice . DoneRequest ( pHTGL_Approve . ApproveId ) ;
}
else
{
ApprovemanSave ( true ) ;
OAWebSevice . DoneRequest ( pHTGL_Approve . ApproveId ) ;
}
OAWebSevice . Pushoa ( ) ;
}
protected void btnDisgree_Click ( object sender , EventArgs e )
{
var number = ApproveManModels . Find ( x = > x . Rolename = = pHTGL_Approve . ApproveType ) . Number ;
if ( number < = 2 )
{
CountersignerSave ( false ) ;
OAWebSevice . DoneRequest ( pHTGL_Approve . ApproveId ) ;
OAWebSevice . Pushoa_Creater ( pHTGL_Approve . ApproveId ) ;
}
else
{
ApprovemanSave ( false ) ;
OAWebSevice . DoneRequest ( pHTGL_Approve . ApproveId ) ;
OAWebSevice . Pushoa_Creater ( pHTGL_Approve . ApproveId ) ;
}
}
protected void btnSave_Click ( object sender , EventArgs e )
{
}
/// <summary>
/// 会签人员保存
/// </summary>
void CountersignerSave ( bool IsAgree )
{
pHTGL_Approve . ApproveDate = Funs . GetNewDateTimeOrNow ( "" ) . ToString ( ) ;
pHTGL_Approve . State = 1 ;
pHTGL_Approve . IsAgree = IsAgree ? 2 : 1 ;
string txtIdea = "" ;
if ( IsAgree )
{
txtIdea = "同意" ;
}
else
{
txtIdea = "不同意" ;
}
pHTGL_Approve . ApproveIdea = txtApproveIdea . Text . Trim ( ) = = "" ? txtIdea : txtApproveIdea . Text ; BLL . PHTGL_ApproveService . UpdatePHTGL_Approve ( pHTGL_Approve ) ;
ChangeState ( Const . ContractReviewing ) ;
if ( IsAgree )
{
if ( IsCountersignerAllAgree ( ) )
{
Model . PHTGL_Approve _Approve = new Model . PHTGL_Approve ( ) ;
//_Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve));
_Approve . ContractId = pHTGL_Approve . ContractId ;
_Approve . ApproveMan = ApproveManModels . Find ( e = > e . Number = = 3 ) . userid ;
_Approve . ApproveDate = "" ;
_Approve . State = 0 ;
_Approve . IsAgree = 0 ;
_Approve . ApproveIdea = "" ;
_Approve . ApproveType = ApproveManModels . Find ( e = > e . Number = = 3 ) . Rolename ;
_Approve . IsPushOa = 0 ;
_Approve . ApproveForm = PHTGL_ApproveService . BidDocumentsReview ;
var IsExitmodel = PHTGL_ApproveService . GetPHTGL_ApproveByContractIdAndType ( _Approve . ContractId , _Approve . ApproveType ) ;
if ( IsExitmodel = = null )
{
_Approve . ApproveId = SQLHelper . GetNewID ( typeof ( Model . PHTGL_Approve ) ) ;
BLL . PHTGL_ApproveService . AddPHTGL_Approve ( _Approve ) ;
}
else
{
_Approve . ApproveId = IsExitmodel . ApproveId ;
BLL . PHTGL_ApproveService . UpdatePHTGL_Approve ( _Approve ) ;
}
ChangeState ( Const . ContractReviewing ) ;
}
}
else
{
ChangeState ( Const . ContractReview_Refuse ) ;
var model = PHTGL_ApproveService . GetPHTGL_ApproveByContractId ( pHTGL_Approve . ContractId ) ;
if ( model ! = null )
{
for ( int i = 0 ; i < model . Count ; i + + )
{
Model . PHTGL_Approve _Approve = model [ i ] ;
_Approve . State = 1 ;
_Approve . IsAgree = 1 ;
_Approve . ApproveIdea = "其他会签人员已经拒绝" ;
PHTGL_ApproveService . UpdatePHTGL_Approve ( _Approve ) ;
OAWebSevice . DoneRequest ( _Approve . ApproveId ) ;
}
}
}
ShowNotify ( "审批成功!" , MessageBoxIcon . Success ) ;
if ( ! string . IsNullOrEmpty ( Request . Params [ "PHTUrl" ] ) )
{
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
PageContext . RegisterStartupScript ( "closeActiveTab();" ) ;
}
else
{
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
}
}
void ApprovemanSave ( bool IsAgree )
{
pHTGL_Approve . ApproveDate = Funs . GetNewDateTimeOrNow ( "" ) . ToString ( ) ;
pHTGL_Approve . State = 1 ;
//pHTGL_Approve.IsAgree = Convert.ToInt32(CBIsAgree.SelectedValueArray[0]);
pHTGL_Approve . IsAgree = IsAgree ? 2 : 1 ;
string txtIdea = "" ;
if ( IsAgree )
{
txtIdea = "同意" ;
}
else
{
txtIdea = "不同意" ;
}
pHTGL_Approve . ApproveIdea = txtApproveIdea . Text . Trim ( ) = = "" ? txtIdea : txtApproveIdea . Text ;
BLL . PHTGL_ApproveService . UpdatePHTGL_Approve ( pHTGL_Approve ) ;
int thisApproveTypeNumber = ApproveManModels . Find ( e = > e . Rolename = = pHTGL_Approve . ApproveType ) . Number ;
int nextApproveType = thisApproveTypeNumber + 1 ;
if ( IsAgree )
{
if ( thisApproveTypeNumber < EndApproveType )
{
Model . PHTGL_Approve _Approve = new Model . PHTGL_Approve ( ) ;
_Approve . ContractId = pHTGL_Approve . ContractId ;
_Approve . ApproveMan = ApproveManModels . Find ( e = > e . Number = = nextApproveType ) . userid ;
_Approve . ApproveDate = "" ;
_Approve . State = 0 ;
_Approve . IsAgree = 0 ;
_Approve . ApproveIdea = "" ;
_Approve . ApproveType = ApproveManModels . Find ( e = > e . Number = = nextApproveType ) . Rolename ;
_Approve . IsPushOa = 0 ;
_Approve . ApproveForm = PHTGL_ApproveService . BidDocumentsReview ;
var IsExitmodel = PHTGL_ApproveService . GetPHTGL_ApproveByContractIdAndType ( _Approve . ContractId , _Approve . ApproveType ) ;
if ( IsExitmodel = = null )
{
_Approve . ApproveId = SQLHelper . GetNewID ( typeof ( Model . PHTGL_Approve ) ) ;
BLL . PHTGL_ApproveService . AddPHTGL_Approve ( _Approve ) ;
}
else
{
_Approve . ApproveId = IsExitmodel . ApproveId ;
BLL . PHTGL_ApproveService . UpdatePHTGL_Approve ( _Approve ) ;
}
ChangeState ( Const . ContractReviewing ) ;
}
else
{
2024-10-27 16:30:44 +08:00
//var Bid = PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(BidDocumentsReviewId);
//Model.PHTGL_BidApproveUserReview newtable = new Model.PHTGL_BidApproveUserReview();
//newtable.ApproveUserReviewID = SQLHelper.GetNewID(typeof(Model.PHTGL_BidApproveUserReview));
//newtable.BidDocumentsReviewId = BidDocumentsReviewId;
//newtable.ProjectId = Bid.ProjectId;
//newtable.ActionPlanID = Bid.ActionPlanID;
//newtable.State = Const.ContractCreating;
//PHTGL_BidApproveUserReviewService.AddPHTGL_BidApproveUserReview(newtable);
2022-09-05 16:36:31 +08:00
ChangeState ( Const . ContractReview_Complete ) ;
}
}
else
{
ChangeState ( Const . ContractReview_Refuse ) ;
}
ShowNotify ( "提交成功,流程转入下一节点!" , MessageBoxIcon . Success ) ;
if ( ! string . IsNullOrEmpty ( Request . Params [ "PHTUrl" ] ) )
{
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
PageContext . RegisterStartupScript ( "closeActiveTab();" ) ;
}
else
{
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
}
}
/// <summary>
/// 改变审批流状态
/// </summary>
/// <param name="state"></param>
private void ChangeState ( int state )
{
var _Bid = PHTGL_BidDocumentsReviewService . GetPHTGL_BidDocumentsReviewById ( BidDocumentsReviewId ) ;
_Bid . State = state ;
PHTGL_BidDocumentsReviewService . UpdatePHTGL_BidDocumentsReview ( _Bid ) ;
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort ( object sender , FineUIPro . GridSortEventArgs e )
{
BindGrid ( ) ;
}
#endregion
}
}