using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using Model;
namespace FineUIPro.Mobile.PHTGL.BiddingManagement
{
public partial class SetSubReviewDetail : PageBaseMobile
{
#region 定义属性
///
/// 合同ID
///
public string SetSubReviewID
{
get
{
return (string)ViewState["SetSubReviewID"];
}
set
{
ViewState["SetSubReviewID"] = value;
}
}
///
/// 最末的审批节点
///
public int EndApproveType
{
get
{
return (int)ViewState["EndApproveType"];
}
set
{
ViewState["EndApproveType"] = value;
}
}
///
/// 审批人字典
///
public Dictionary Dic_ApproveMan
{
get
{
return (Dictionary)ViewState["Dic_ApproveMan"];
}
set
{
ViewState["Dic_ApproveMan"] = value;
}
}
public List ApproveManModels
{
get
{
return (List)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;
}
}
public string PersonId
{
get
{
PersonId = Request.Params["PersonId"];
return (string)ViewState["PersonId"];
}
set
{
ViewState["PersonId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetSubReviewID = Request.Params["SetSubReviewID"];
EndApproveType = 4;
//获取审批人字典
Dic_ApproveMan = PHTGL_SetSubReviewService.Get_DicApproveman(SetSubReviewID);
ApproveManModels = PHTGL_SetSubReviewService.GetApproveManModels(SetSubReviewID);
//获取当前登录人审批信息
pHTGL_Approve = BLL.PHTGL_ApproveService.GetPHTGL_ApproveByUserId(SetSubReviewID, PersonId);
//数据加载
Bind();
var _SetSubReview = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(SetSubReviewID);
if (PHTGL_ApproveService.IsApproveMan(SetSubReviewID, PersonId))
{
BindGrid();
}
else if (PersonId == Const.sysglyId || PersonId == Const.hfnbdId)
{
BindGrid();
}
else if (_SetSubReview.CreateUser == PersonId)
{
BindGrid();
}
if (pHTGL_Approve != null)
{
btnAgree.Enabled = true;
btnDisgree.Enabled = true;
}
if (!BLL.AttachFileService.Getfile(SetSubReviewID, BLL.Const.SetSubReview))
{
btnAttachUrl.Hidden = true;
}
}
}
#region 数据绑定
private void Bind()
{
if (!string.IsNullOrEmpty(SetSubReviewID))
{
var _SetSubReview = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(SetSubReviewID);
var BidUser = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(_SetSubReview.ApproveUserReviewID);
var BidDocument = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(BidUser.BidDocumentsReviewId);
if (_SetSubReview != null)
{
txtSetSubReviewCode.Text = _SetSubReview.SetSubReviewCode;
txtProjectName.Text = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(BidDocument.ActionPlanID).ProjectShortName;
txtBidContent.Text = BidDocument.BidContent;
Bidding_StartTime.SelectedDate = BidDocument.Bidding_StartTime;
this.txtCreateUser.Text = BLL.Person_PersonsService.GetPersonsNameById(_SetSubReview.CreateUser);
}
}
}
private void BindGrid_MinPrice()
{
string strSql = @" SELECT ID
,SetSubReviewID
,Company
,ReviewResults
,SortIndex
,Remarks"
+ @" FROM PHTGL_SetSubReview_Sch1 where 1=1 AND SetSubReviewID = @SetSubReviewID ";
List listStr = new List();
if (string.IsNullOrEmpty(SetSubReviewID))
{
listStr.Add(new SqlParameter("@SetSubReviewID", ""));
}
else
{
listStr.Add(new SqlParameter("@SetSubReviewID", SetSubReviewID));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid_MinPrice.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid_MinPrice, tb);
Grid_MinPrice.DataSource = tb;
Grid_MinPrice.DataBind();
}
private void BindGrid_ConEvaluation()
{
string strSql = @" SELECT ID
,SetSubReviewID
,Company
,Price_ReviewResults
,Skill_ReviewResults
,Business_ReviewResults
,Synthesize_ReviewResults
,SortIndex
,Remarks"
+ @" FROM PHTGL_SetSubReview_Sch2 where 1=1 AND SetSubReviewID = @SetSubReviewID ";
List listStr = new List();
if (string.IsNullOrEmpty(SetSubReviewID))
{
listStr.Add(new SqlParameter("@SetSubReviewID", ""));
}
else
{
listStr.Add(new SqlParameter("@SetSubReviewID", SetSubReviewID));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid_ConEvaluation.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid_ConEvaluation, tb);
Grid_ConEvaluation.DataSource = table;
Grid_ConEvaluation.DataBind();
}
private void BindSchGrid()
{
var _SetSubReview = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(SetSubReviewID);
switch (_SetSubReview.Type)
{
case PHTGL_SetSubReviewService.Type_ConEvaluation:
BindGrid_ConEvaluation();
Grid_MinPrice.Hidden = true;
break;
case PHTGL_SetSubReviewService.Type_MinPrice:
BindGrid_MinPrice();
Grid_ConEvaluation.Hidden = true;
break;
default:
Grid_MinPrice.Hidden = true;
Grid_ConEvaluation.Hidden = true;
break;
}
}
///
/// 数据绑定
///
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 SitePerson_Person 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 listStr = new List();
listStr.Add(new SqlParameter("@ContractId", SetSubReviewID));
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();
BindSchGrid();
}
#endregion
#region 分页 排序
///
/// 改变索引事件
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region 保存提交
protected void btnAgree_Click(object sender, EventArgs e)
{
ApprovemanSave(true);
OAWebSevice.DoneRequest(pHTGL_Approve.ApproveId);
OAWebSevice.Pushoa();
}
protected void btnDisgree_Click(object sender, EventArgs e)
{
ApprovemanSave(false);
OAWebSevice.DoneRequest(pHTGL_Approve.ApproveId);
OAWebSevice.Pushoa_Creater(pHTGL_Approve.ApproveId);
}
///
/// 审批人员保存
///
///
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.SetSubReview;
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_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());
}
}
///
/// 改变审批流状态
///
///
private void ChangeState(int state)
{
var _SetSubReview = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(SetSubReviewID);
_SetSubReview.State = state;
PHTGL_SetSubReviewService.UpdatePHTGL_SetSubReview(_SetSubReview);
}
#endregion
#region 附件
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SetSubReviewAttachUrl&menuId={1}", this.SetSubReviewID, BLL.Const.SetSubReview)));
//SetSubReview setSubReview = new SetSubReview();
//setSubReview.Print(SetSubReviewID);
}
protected void btnAttachUrl2_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SetSubReviewAttachUrl&menuId={1}", this.SetSubReviewID + "report", BLL.Const.SetSubReview)));
}
#endregion
}
}