SGGL_SHJ/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractReviewEdit.aspx.cs

481 lines
25 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractReviewEdit : PageBase
{
public string ContractReviewId
{
get
{
return (string)ViewState["ContractReviewId"];
}
set
{
ViewState["ContractReviewId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ContractReviewId = Request.Params["ContractReviewId"];
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
BLL.DepartService.InitDepartDropDownList(DropDepart, true);
#region
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropConstructionManager, null, Const.UnitId_SEDIN, null, true);//施工经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropPurchasingManager, null, Const.UnitId_SEDIN, null, true);//采购经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropHSSEManager, null, Const.UnitId_SEDIN, null, true);//HSE经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropControlManager, null, Const.UnitId_SEDIN, null, true); //控制经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropQAManager, null, Const.UnitId_SEDIN, null, true); //质量经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropFinancialManager, null, Const.UnitId_SEDIN, null, true);//财务经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropProjectManager, null, Const.UnitId_SEDIN, null, true); //项目经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropProjectManager2, null, Const.UnitId_SEDIN, null, true); //项目经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.dropCountersign_Construction, null, this.CurrUser.UnitId, Const.SGContractManageEngineer, false); ///施工管理部合同评审人员
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropCountersign_Law, null, this.CurrUser.UnitId, Const.Countersign_Law, false); ///法律合规部合同评审人员
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropCountersign_Law2, null, this.CurrUser.UnitId, Const.Countersign_Law, false); ///法律合规部合同评审人员
#endregion
#region
///绑定施工管理部正副主任
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(dropApproval_Construction, null, CurrUser.UnitId, Const.ConstructionMinister + "," + Const.ConstructionViceMinister, false);
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(dropApproval_Law, null, this.CurrUser.UnitId, Const.dropApproval_Law, false); ///法律合规部主任
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropGeneralAccountant, null, this.CurrUser.UnitId, Const.GeneralAccountant, false); //总会计师
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropGeneral_Law, null, this.CurrUser.UnitId, Const.General_Law, false); //总法律顾问
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropGeneralManager, null, this.CurrUser.UnitId, Const.GeneralManager, false); //总经理
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropDeputyGeneralManager, null, this.CurrUser.UnitId, Const.DeputyGeneralManager, false); //项目主管领导
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(DropChairman, null, this.CurrUser.UnitId, Const.Chairman, false);//董事长
#endregion
if (PHTGL_ActionPlanReviewService.IsSpecialProject(this.CurrUser.LoginProjectId))
{
BLL.Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(dropApproval_Construction, null, CurrUser.UnitId, Const.ConstructionLabor, false);
dropApproval_Construction.Label = "劳务管理组";
DropProjectManager2.Label = "运营管理部";
}
BindGrid();
BindFrom();
getButtonPower();
}
}
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT Con.ContractId,
Con.ProjectId,
Con.ContractName,
Con.ContractNum,
Con.Parties,
Con.Currency,
Con.ContractAmount,
Con.DepartId,
Con.Agent,
(CASE Con.ContractType WHEN '1' THEN '施工总承包分包合同'
WHEN '2' THEN '施工专业分包合同'
WHEN '3' THEN '施工劳务分包合同'
WHEN '4' THEN '试车服务合同'
WHEN '5' THEN '租赁合同' END) AS ContractType,
Con.Remarks,
Con.EPCCode,
Act.ProjectShortName,
Pro.ProjectCode,
Pro.ProjectName,
Dep.DepartName,
U.PersonName AS AgentName"
+ @" FROM PHTGL_Contract AS Con"
+ @" left join PHTGL_ActionPlanFormation as Act on Act.EPCCode=Con.EPCCode"
+ @" LEFT JOIN Base_Project AS Pro ON Pro.ProjectId = Con.ProjectId"
+ @" LEFT JOIN Base_Depart AS Dep ON Dep.DepartId = Con.DepartId"
+ @" LEFT JOIN Person_Persons AS U ON U.PersonId = Con.Agent WHERE 1=1 AND Con.ApproveState = @ContractCreat_Complete ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ContractCreat_Complete", Const.ContractCreat_Complete));
if (!(this.CurrUser.PersonId == Const.sysglyId))
{
strSql += " and Con.ProjectId =@ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 绑定表单
/// </summary>
private void BindFrom()
{
var newmodel = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
var _Contract = ContractService.GetContractById(newmodel.ContractId);
if (_Contract.ContractAmount >= 50000000)
{
DropGeneralAccountant.Hidden = false;
DropGeneral_Law.Hidden = false;
DropGeneralManager.Hidden = false;
DropChairman.Hidden = false;
}
if (_Contract.ContractAmount >= 20000000)
{
DropGeneralAccountant.Hidden = false;
DropGeneral_Law.Hidden = false;
DropGeneralManager.Hidden = false;
}
drpProjectId.Value = Convert.ToString(newmodel.ContractId);
dropCountersign_Construction.SelectedValue = Convert.ToString(newmodel.Countersign_Construction);
DropCountersign_Law.SelectedValue = Convert.ToString(newmodel.Countersign_Law);
DropCountersign_Law2.SelectedValue = Convert.ToString(newmodel.Countersign_Law2);
dropApproval_Construction.SelectedValue = Convert.ToString(newmodel.Approval_Construction);
dropApproval_Law.SelectedValue = Convert.ToString(newmodel.Approval_Law);
DropConstructionManager.SelectedValue = Convert.ToString(newmodel.Countersign_ConstructionManager);
DropHSSEManager.SelectedValue = Convert.ToString(newmodel.Countersign_HSSEManager);
DropQAManager.SelectedValue = Convert.ToString(newmodel.Countersign_QAManager);
DropPurchasingManager.SelectedValue = Convert.ToString(newmodel.Countersign_PurchasingManager);
DropControlManager.SelectedValue = Convert.ToString(newmodel.Countersign_ControlManager);
DropFinancialManager.SelectedValue = Convert.ToString(newmodel.Countersign_FinancialManager);
DropProjectManager.SelectedValue = Convert.ToString(newmodel.Approval_SubProjectManager);
DropProjectManager2.SelectedValue = Convert.ToString(newmodel.Approval_ProjectManager);
DropDeputyGeneralManager.SelectedValue = Convert.ToString(newmodel.Approval_DeputyGeneralManager);
DropGeneralAccountant.SelectedValue = Convert.ToString(newmodel.Approval_GeneralAccountant);
DropGeneralManager.SelectedValue = Convert.ToString(newmodel.Approval_GeneralManager);
DropGeneral_Law.SelectedValue = Convert.ToString(newmodel.Approval_GeneralLaw);
DropChairman.SelectedValue = Convert.ToString(newmodel.Approval_Chairman);
DropDepart.SelectedValue = Convert.ToString(newmodel.DepartId);
// DropProjectManager_SelectedIndexChanged(null, null);
Model.PHTGL_Contract table = BLL.ContractService.GetContractById(this.drpProjectId.Value);
txtContractNum.Text = BLL.ContractService.GetContractByProjectId(table.ProjectId).ContractNum;
txtIdea.Text = newmodel.Idea;
}
#endregion
#region
/// <summary>
/// 获取权限
/// </summary>
private void getButtonPower()
{
int[] ListCon = { Const.ContractCreat_Complete, Const.Contract_countersign, Const.Contract_countersign_Refuse };
int[] ListConRev = { Const.Contract_countersign_Complete, Const.ContractReviewing, Const.ContractReview_Complete, Const.ContractReview_Refuse };
var newmodel = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
if (Array.IndexOf(ListCon, newmodel.State) != -1)
{
ContentPanel2.Hidden = true;
if (newmodel.State == Const.Contract_countersign)
{
btnSave.Hidden = true;
btnSubmit.Hidden = true;
}
}
if (Array.IndexOf(ListConRev, newmodel.State) != -1)
{
ContentPanel1.Hidden = true;
if (newmodel.State == Const.ContractReviewing || newmodel.State == Const.ContractReview_Complete)
{
btnSave.Hidden = true;
btnSubmit.Hidden = true;
}
}
}
#endregion
#region
private void save()
{
Model.PHTGL_ContractReview newmodel = new Model.PHTGL_ContractReview();
//newmodel.SetSubReviewId = DropBidCode.SelectedValue;
newmodel.DocumentNumber = txtContractNum.Text;
newmodel.Countersign_Construction = dropCountersign_Construction.SelectedValue;
newmodel.Countersign_Law = DropCountersign_Law.SelectedValue;
newmodel.Countersign_Law2 = DropCountersign_Law2.SelectedValue;
newmodel.Approval_Construction = dropApproval_Construction.SelectedValue;
newmodel.Approval_Law = dropApproval_Law.SelectedValue;
newmodel.Countersign_ConstructionManager = DropConstructionManager.SelectedValue;
newmodel.Countersign_HSSEManager = DropHSSEManager.SelectedValue;
newmodel.Countersign_QAManager = DropQAManager.SelectedValue;
newmodel.Countersign_PurchasingManager = DropPurchasingManager.SelectedValue;
newmodel.Countersign_ControlManager = DropControlManager.SelectedValue;
newmodel.Countersign_FinancialManager = DropFinancialManager.SelectedValue;
newmodel.Approval_SubProjectManager = DropProjectManager.SelectedValue;
newmodel.Approval_ProjectManager = DropProjectManager2.SelectedValue;
newmodel.Approval_DeputyGeneralManager = DropDeputyGeneralManager.SelectedValue;
newmodel.Approval_GeneralAccountant = DropGeneralAccountant.SelectedValue;
newmodel.Approval_GeneralManager = DropGeneralManager.SelectedValue;
newmodel.Approval_Chairman = DropChairman.SelectedValue;
newmodel.Approval_GeneralLaw = DropGeneral_Law.SelectedValue;
newmodel.CreateUser = this.CurrUser.PersonId;
newmodel.Idea = txtIdea.Text;
newmodel.DepartId = DropDepart.SelectedValue;
if (ContractReviewId == null)
{
newmodel.ContractReviewId = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractReview));
newmodel.State = Const.ContractCreat_Complete;
ContractReviewId = newmodel.ContractReviewId;
newmodel.ContractId = drpProjectId.Value;
BLL.PHTGL_ContractReviewService.AddPHTGL_ContractReview(newmodel);
}
else
{
newmodel.ContractReviewId = ContractReviewId;
newmodel.State = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId).State;
newmodel.ContractId = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId).ContractId;
BLL.PHTGL_ContractReviewService.UpdatePHTGL_ContractReview(newmodel);
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (!DropIsNull(SimpleForm1))
{
return;
}
save();
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!DropIsNull(SimpleForm1))
{
return;
}
save();
CreateApproveView();
OAWebSevice.Pushoa();
ShowNotify("提交成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
/// <summary>
/// 改变审批流状态
/// </summary>
/// <param name="state"></param>
private void ChangeState(int state)
{
var table = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
if (table != null)
{
table.State = state;
PHTGL_ContractReviewService.UpdatePHTGL_ContractReview(table);
var _Att = BLL.ContractService.GetContractById(table.ContractId);
if (_Att != null)
{
_Att.ApproveState = state;
ContractService.UpdateContract(_Att);
}
}
}
private bool DropIsNull(Control c)
{
bool IsOk = true;
//遍历控件
//myDictionary.Clear();
foreach (Control childControl in c.Controls)
{
if (childControl is DropDownList)
{
DropDownList tb = (DropDownList)childControl;
if (tb.SelectedValue == Const._Null)
{
IsOk = false;
ShowNotify("请选择要审批的" + tb.Label, MessageBoxIcon.Warning);
return IsOk;
}
}
}
return IsOk;
}
/// <summary>
/// 创建审批流
/// </summary>
private void CreateApproveView()
{
var ConRev = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
if (ConRev.State == Const.ContractCreat_Complete) //会签审批
{
var Countersignermodel = PHTGL_ContractReviewService.GetApproveManModels__Countersigner(ContractReviewId);
for (int i = 0; i < Countersignermodel.Count; i++)
{
if (string.IsNullOrEmpty(Countersignermodel[i].userid))
{
continue;
}
Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve();
_Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve));
_Approve.ContractId = ContractReviewId;
_Approve.ApproveMan = Countersignermodel[i].userid;
_Approve.ApproveDate = "";
_Approve.State = 0;
_Approve.IsAgree = 0;
_Approve.ApproveIdea = "";
_Approve.ApproveType = Countersignermodel[i].Rolename;
_Approve.IsPushOa = 0;
_Approve.ApproveForm = PHTGL_ApproveService.ContractReview_Countersign;
BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve);
}
ChangeState(Const.Contract_countersign);
}
else if (ConRev.State == Const.Contract_countersign_Complete)//签订审批
{
var ApproveManModels = PHTGL_ContractReviewService.GetApproveManModels(ContractReviewId);
Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve();
_Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve));
_Approve.ContractId = ContractReviewId;
_Approve.ApproveMan = ApproveManModels.Find(x => x.Number == 11).userid;
_Approve.ApproveDate = "";
_Approve.State = 0;
_Approve.IsAgree = 0;
_Approve.ApproveIdea = "";
_Approve.ApproveType = ApproveManModels.Find(x => x.Number == 11).Rolename;
_Approve.IsPushOa = 0;
_Approve.ApproveForm = PHTGL_ApproveService.ContractReview;
BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve);
ChangeState(Const.ContractReviewing);
}
else if (ConRev.State == Const.ContractReview_Refuse || ConRev.State == Const.Contract_countersign_Refuse) //会签\签订审批被拒
{
string ApproveForm = ConRev.State == Const.Contract_countersign_Refuse ? PHTGL_ApproveService.ContractReview_Countersign : PHTGL_ApproveService.ContractReview;
int state = ConRev.State == Const.Contract_countersign_Refuse ? Const.Contract_countersign : Const.ContractReviewing;
var tbRefuseMan = PHTGL_ApproveService.GetRefuseEndMan(ContractReviewId);//获取审批拒绝的人员
var Countersignermodel = PHTGL_ContractReviewService.GetApproveManModels__Countersigner(ContractReviewId);
var ApproveMan = Countersignermodel.Find(x => x.Rolename == tbRefuseMan.Rows[0]["ApproveType"].ToString());
if (ApproveMan != null) //判断拒绝的人员是否属于会签
{
for (int i = 0; i < Countersignermodel.Count; i++)
{
if (string.IsNullOrEmpty(Countersignermodel[i].userid))
{
continue;
}
Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve();
_Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve));
_Approve.ContractId = ContractReviewId;
_Approve.ApproveMan = Countersignermodel[i].userid;
_Approve.ApproveDate = "";
_Approve.State = 0;
_Approve.IsAgree = 0;
_Approve.ApproveIdea = "";
_Approve.ApproveType = Countersignermodel[i].Rolename;
_Approve.IsPushOa = 0;
_Approve.ApproveForm = ApproveForm;
BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve);
}
}
else
{
Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve();
_Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve));
_Approve.ContractId = ContractReviewId;
_Approve.ApproveMan = tbRefuseMan.Rows[0]["ApproveMan"].ToString();
_Approve.ApproveDate = "";
_Approve.State = 0;
_Approve.IsAgree = 0;
_Approve.ApproveIdea = "";
_Approve.ApproveType = tbRefuseMan.Rows[0]["ApproveType"].ToString();
_Approve.IsPushOa = 0;
_Approve.ApproveForm = ApproveForm;
BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve);
}
ChangeState(state);
}
}
#endregion
#region
/// <summary>
/// 选择项目Id获取会签评审人员信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void DropDownBox1_TextChanged(object sender, EventArgs e)
{
if (this.drpProjectId.Value != null)
{
Model.PHTGL_Contract table = BLL.ContractService.GetContractById(this.drpProjectId.Value);
txtContractNum.Text = BLL.ContractService.GetContractByProjectId(table.ProjectId).ContractNum;
string UnitId = ProjectService.GetProjectByProjectId(table.ProjectId).UnitId;
#region
//施工经理
this.DropConstructionManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.ConstructionManager);
//安全经理HSE
this.DropHSSEManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.HSSEManager);
//质量经理
this.DropQAManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.QAManager);
//采购经理
this.DropPurchasingManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.PurchasingManager);
//控制经理
this.DropControlManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.ControlManager);
//财务经理
this.DropFinancialManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.FinancialManager);
//项目经理
this.DropProjectManager.SelectedValue = BLL.SitePerson_PersonService.GetPersonIdByProjectIdRoleID(table.ProjectId, BLL.Const.ProjectManager);
#endregion
#region
//总会计师
this.DropGeneralAccountant.SelectedValue = BLL.ProjectService.GetOfficeRoleID(UnitId, BLL.Const.GeneralAccountant);
//总法律顾问
this.DropGeneral_Law.SelectedValue = BLL.ProjectService.GetOfficeRoleID(UnitId, BLL.Const.General_Law);
//董事长
this.DropChairman.SelectedValue = BLL.ProjectService.GetOfficeRoleID(UnitId, BLL.Const.Chairman);
//总经理
this.DropGeneralManager.SelectedValue = BLL.ProjectService.GetOfficeRoleID(UnitId, BLL.Const.GeneralManager);
//项目主管领导
this.DropDeputyGeneralManager.SelectedValue = BLL.ProjectService.GetOfficeRoleID(UnitId, BLL.Const.DeputyGeneralManager);
#endregion
}
}
protected void DropProjectManager_SelectedIndexChanged(object sender, EventArgs e)
{
DropProjectManager2.SelectedValue = DropProjectManager.SelectedValue;
}
#endregion
#region
protected void btnAttach_Click(object sender, EventArgs e)
{
var model = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/ContractAttachUrl&menuId={1}", model.ContractId + "-Idea", BLL.Const.ContractFormation)));
}
#endregion
protected void btnEdit_Click(object sender, EventArgs e)
{
}
}
}