SGGL_HBAZ/SGGL/FineUIPro.Web/CQMS/Information/WorkOrderEdit.aspx.cs

534 lines
23 KiB
C#
Raw Normal View History

2025-02-12 09:27:47 +08:00
using BLL;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.Information
{
public partial class WorkOrderEdit : PageBase
{
#region
/// <summary>
/// 方案审查主键
/// </summary>
public string WorkOrderId
{
get
{
return (string)ViewState["WorkOrderId"];
}
set
{
ViewState["WorkOrderId"] = value;
}
}
#endregion
#region
/// <summary>
/// 定义会签意见集合
/// </summary>
public static List<Model.CQMS_WorkOrderApprove> approves = new List<Model.CQMS_WorkOrderApprove>();
#endregion
public int ContactImg
{
get
{
return Convert.ToInt32(ViewState["ContactImg"]);
}
set
{
ViewState["ContactImg"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.SecretLevelService.InitSecretLevelDropDownList(drpSecretLevel, true);
UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);
ContactImg = 0;
//CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.WorkOrderMenuId);
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
WorkOrderId = Request.Params["workOrderId"];
if (!string.IsNullOrWhiteSpace(WorkOrderId))
{
HFWorkOrderId.Text = WorkOrderId;
Model.CQMS_WorkOrder workOrder = WorkOrderService.GetWorkOrderByWorkOrderId(WorkOrderId);
txtWorkOrderCode.Text = workOrder.WorkOrderCode;
if (!string.IsNullOrEmpty(workOrder.SecretLevelId))
{
drpSecretLevel.SelectedValue = workOrder.SecretLevelId;
}
if (!string.IsNullOrEmpty(workOrder.UnitId))
{
drpUnit.SelectedValue = workOrder.UnitId;
}
this.txtContractNo.Text = workOrder.ContractNo;
this.txtTaskTheme.Text = workOrder.TaskTheme;
this.txtContentDescription.Text = workOrder.ContentDescription;
this.txtImplementationRequirements.Text = workOrder.ImplementationRequirements;
if (workOrder.CompileDate != null)
{
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", workOrder.CompileDate);
}
if (workOrder.Edition != null)
{
txtEdition.Text = workOrder.Edition.ToString();
}
bindApprove();
if (workOrder.State == Const.WorkOrder_Compile)
{
agree.Hidden = true;
options.Hidden = true;
optio.Hidden = true;
WorkOrderService.Init(drpHandleType, Const.WorkOrder_Compile, false);
UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false);
}
else if (workOrder.State == Const.VisaApplication_ReCompile) //重报
{
this.trNext.Hidden = true;
agree.Hidden = true;
options.Hidden = true;
optio.Hidden = true;
}
else if (workOrder.State == Const.WorkOrder_Audit1)
{
NoEdit();
WorkOrderService.Init(drpHandleType, Const.WorkOrder_Audit1, false);
this.drpHandleMan.Enabled = false;
this.drpHandleMan.Required = false;
this.drpHandleMan.Items.Clear();
}
}
else
{
agree.Hidden = true;
txtEdition.Text = "0";
options.Hidden = true;
optio.Hidden = true;
plApprove2.Hidden = true;
WorkOrderService.Init(drpHandleType, Const.WorkOrder_Compile, false);
UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false);
//txtWorkOrderCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.CQMS_WorkOrder", "Code", CurrUser.LoginProjectId);
}
}
}
private void NoEdit()
{
txtWorkOrderCode.Enabled = false;
drpSecretLevel.Enabled = false;
drpUnit.Enabled = false;
txtContractNo.Enabled = false;
txtTaskTheme.Enabled = false;
txtContentDescription.Enabled = false;
txtImplementationRequirements.Enabled = false;
txtCompileDate.Enabled = false;
txtEdition.Enabled = false;
ContactImg = -1;
}
/// <summary>
/// 审批列表
/// </summary>
private void bindApprove()
{
var list = WorkOrderApproveService.getListData(WorkOrderId);
gvApprove.DataSource = list;
gvApprove.DataBind();
}
public string man(Object man)
{
string appman = string.Empty;
if (UserService.GetUserByUserId(man.ToString()) != null)
{
appman = UserService.GetUserByUserId(man.ToString()).UserName;
}
return appman;
}
#region /
protected void btnSave_Click(object sender, EventArgs e)
{
//validate(Const.BtnSave, "save");
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.WorkOrderMenuId, Const.BtnSave))
{
SaveWorkOrder("save");
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
validate(Const.BtnSubmit, "submmit");
}
/// <summary>
/// 保存验证
/// </summary>
/// <param name="buttonName"></param>
/// <param name="tip"></param>
public void validate(string buttonName, string tip)
{
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.WorkOrderMenuId, buttonName))
{
string err = string.Empty;
if (this.drpSecretLevel.SelectedValue == BLL.Const._Null)
{
err += "请选择密级,";
}
if (this.drpUnit.SelectedValue == BLL.Const._Null)
{
err += "请选择分包单位,";
}
//if (!AttachFileService.Getfile(HFWorkOrderId.Text, Const.WorkOrderMenuId))
//{
// err += "请上传附件,";
//}
//if (trOne.Nodes[0].Nodes.Count == 0 && trTwo.Nodes.Count == 0 && trThree.Nodes.Count == 0 &&
// trFour.Nodes.Count == 0 && trFive.Nodes.Count == 0 && trSixe.Nodes.Count == 0)
//{
// err += "请选择总包会签人员,";
//}
if (!string.IsNullOrWhiteSpace(err))
{
err = err.Substring(0, err.LastIndexOf(","));
err += "!";
}
if (!string.IsNullOrWhiteSpace(err))
{
Alert.ShowInTop(err, MessageBoxIcon.Warning);
return;
}
if (!string.IsNullOrWhiteSpace(WorkOrderId))
{//更新时操作
if (tip == "save")
{
EditConstructSol("save");
}
else
{
EditConstructSol("submit");
}
}
else
{
if (tip == "save")
{
SaveWorkOrder("save");
}
else
{
SaveWorkOrder("submit");
}
//添加时操作
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
if (tip == "save")
{
tip = "保存成功!";
}
else
{
tip = "提交成功!";
}
Alert.ShowInTop(tip, MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 编辑时候保存
/// </summary>
private void EditConstructSol(string saveType)
{
Model.CQMS_WorkOrder workOrder = new Model.CQMS_WorkOrder();
workOrder.WorkOrderCode = txtWorkOrderCode.Text.Trim();
workOrder.SecretLevelId = this.drpSecretLevel.SelectedValue;
workOrder.ProjectId = CurrUser.LoginProjectId;
workOrder.UnitId = this.drpUnit.SelectedValue;
workOrder.ContractNo = this.txtContractNo.Text.Trim();
workOrder.TaskTheme = this.txtTaskTheme.Text.Trim();
workOrder.ContentDescription = this.txtContentDescription.Text.Trim();
workOrder.ImplementationRequirements = this.txtImplementationRequirements.Text.Trim();
int edtion = Convert.ToInt32(txtEdition.Text);
workOrder.Edition = edtion;
if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
{
workOrder.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
}
if (!string.IsNullOrEmpty(WorkOrderId))
{
workOrder.WorkOrderId = WorkOrderId;
Model.CQMS_WorkOrder workOrder1 = WorkOrderService.GetWorkOrderByWorkOrderId(WorkOrderId);
if (saveType == "submit")
{
Model.CQMS_WorkOrderApprove approve = WorkOrderApproveService.GetConstructSoluAppByApproveMan(WorkOrderId, CurrUser.UserId, Convert.ToInt32(workOrder1.Edition));
if (approve != null)
{
approve.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue);
approve.ApproveIdea = this.txtOptions.Text.Trim();
approve.ApproveDate = DateTime.Now;
WorkOrderApproveService.UpdateWorkOrderApprove(approve);
}
if (workOrder1.State == BLL.Const.WorkOrder_Compile)
{
workOrder.State = this.drpHandleType.SelectedValue;
Model.CQMS_WorkOrderApprove reApprove = new Model.CQMS_WorkOrderApprove();
reApprove.WorkOrderId = workOrder.WorkOrderId;
reApprove.ApproveMan = this.drpHandleMan.SelectedValue;
reApprove.ApproveType = this.drpHandleType.SelectedValue;
reApprove.Edition = edtion;
WorkOrderApproveService.AddWorkOrderApprove(reApprove);
}
else if (workOrder1.State == BLL.Const.WorkOrder_ReCompile)
{
//获取上个版次不同意的审批记录
List<Model.CQMS_WorkOrderApprove> lastNotAggreeApproves = BLL.WorkOrderApproveService.GetNotAggreeApprovesByWorkOrderIdAndEdtion(WorkOrderId, workOrder1.Edition.Value - 1);
workOrder.State = lastNotAggreeApproves[0].ApproveType;
foreach (var item in lastNotAggreeApproves)
{
Model.CQMS_WorkOrderApprove reApprove = new Model.CQMS_WorkOrderApprove();
reApprove.WorkOrderId = workOrder.WorkOrderId;
reApprove.ApproveMan = item.ApproveMan;
reApprove.ApproveType = item.ApproveType;
reApprove.Edition = edtion;
WorkOrderApproveService.AddWorkOrderApprove(reApprove);
}
}
else if (workOrder1.State == BLL.Const.WorkOrder_Audit1)
{
if (this.rblIsAgree.SelectedValue == "true") //同意
{
workOrder.State = this.drpHandleType.SelectedValue;
Model.CQMS_WorkOrderApprove reApprove = new Model.CQMS_WorkOrderApprove();
reApprove.WorkOrderId = workOrder.WorkOrderId;
if (!string.IsNullOrEmpty(this.drpHandleMan.SelectedValue))
{
reApprove.ApproveMan = this.drpHandleMan.SelectedValue;
}
reApprove.ApproveType = this.drpHandleType.SelectedValue;
reApprove.Edition = edtion;
WorkOrderApproveService.AddWorkOrderApprove(reApprove);
}
else //不同意
{
workOrder.State = Const.VisaApplication_ReCompile;
workOrder.Edition = edtion + 1;
Model.CQMS_WorkOrderApprove reApprove = new Model.CQMS_WorkOrderApprove();
reApprove.WorkOrderId = workOrder.WorkOrderId;
reApprove.ApproveMan = workOrder1.CompileMan;
reApprove.ApproveType = Const.WorkOrder_ReCompile;
reApprove.Edition = edtion + 1;
WorkOrderApproveService.AddWorkOrderApprove(reApprove);
}
}
WorkOrderService.UpdateWorkOrder(workOrder);
}
LogService.AddSys_Log(CurrUser, workOrder.WorkOrderCode, WorkOrderId, Const.WorkOrderMenuId, "修改工程签证工作委托单");
}
}
#endregion
#region
/// <summary>
/// 保存方案审查
/// </summary>
/// <param name="saveType">保存类型</param>
private void SaveWorkOrder(string saveType)
{
//if (tvHSE.CheckedNodes.Count == 0 || (tvHSE.CheckedNodes.Count > 0 && tvHSE.CheckedNodes[0].Value == "0"))
//{
// ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('请选择HSE会签人员')", true);
// return;
//}
Model.CQMS_WorkOrder workOrder = new Model.CQMS_WorkOrder();
workOrder.WorkOrderCode = txtWorkOrderCode.Text.Trim();
workOrder.SecretLevelId = this.drpSecretLevel.SelectedValue;
workOrder.ProjectId = CurrUser.LoginProjectId;
workOrder.UnitId = this.drpUnit.SelectedValue;
workOrder.ContractNo = this.txtContractNo.Text.Trim();
workOrder.TaskTheme = this.txtTaskTheme.Text.Trim();
workOrder.ContentDescription = this.txtContentDescription.Text.Trim();
workOrder.ImplementationRequirements = this.txtImplementationRequirements.Text.Trim();
int edtion = Convert.ToInt32(txtEdition.Text);
workOrder.Edition = edtion;
if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
{
workOrder.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
}
if (saveType == "submit")
{
workOrder.State = Const.WorkOrder_Audit1;
}
else
{
workOrder.State = Const.WorkOrder_Compile;
}
if (!string.IsNullOrEmpty(HFWorkOrderId.Text))
{
workOrder.WorkOrderId = HFWorkOrderId.Text;
}
else
{
workOrder.WorkOrderId = SQLHelper.GetNewID(typeof(Model.CQMS_WorkOrder));
}
workOrder.CompileMan = CurrUser.UserId;
workOrder.Edition = Convert.ToInt32(txtEdition.Text);
//if (!string.IsNullOrEmpty(HFWorkOrderId.Text))
//{
// WorkOrderService.UpdateWorkOrder(workOrder);
//}
//else
//{
WorkOrderService.AddWorkOrder(workOrder);
//}
if (saveType == "submit")
{
Model.CQMS_WorkOrderApprove approve1 = new Model.CQMS_WorkOrderApprove();
approve1.WorkOrderId = workOrder.WorkOrderId;
approve1.ApproveDate = DateTime.Now;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = Const.WorkOrder_Compile;
approve1.Edition = Convert.ToInt32(txtEdition.Text);
WorkOrderApproveService.AddWorkOrderApprove(approve1);
Model.CQMS_WorkOrderApprove approve2 = new Model.CQMS_WorkOrderApprove();
approve2.WorkOrderId = workOrder.WorkOrderId;
approve2.ApproveMan = this.drpHandleMan.SelectedValue;
approve2.ApproveType = Const.WorkOrder_Audit1;
approve2.Edition = Convert.ToInt32(txtEdition.Text);
WorkOrderApproveService.AddWorkOrderApprove(approve2);
}
else
{
Model.CQMS_WorkOrderApprove approve1 = new Model.CQMS_WorkOrderApprove();
approve1.WorkOrderId = workOrder.WorkOrderId;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = Const.WorkOrder_Compile;
approve1.Edition = Convert.ToInt32(txtEdition.Text);
WorkOrderApproveService.AddWorkOrderApprove(approve1);
}
LogService.AddSys_Log(CurrUser, workOrder.WorkOrderCode, WorkOrderId, Const.WorkOrderMenuId, "添加工程签证工作委托单");
//}
//提交
//if (saveType == "submit")
//{
// countersign(workOrder.WorkOrderId);
//}
//LogService.AddSys_Log(CurrUser, workOrder.WorkOrderCode, WorkOrderId, Const.WorkOrderMenuId, "编制工程签证工作委托单");
}
#endregion
protected void imgBtnFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(HFWorkOrderId.Text)) //新增记录
{
HFWorkOrderId.Text = SQLHelper.GetNewID(typeof(Model.CQMS_WorkOrder));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/WorkOrder&menuId={2}",
ContactImg, HFWorkOrderId.Text, Const.WorkOrderMenuId)));
}
protected void btnapprove_Click(object sender, EventArgs e)
{
//HFWorkOrderId.Text
var approve = WorkOrderApproveService.GetWorkOrderApproveByApproveMan(HFWorkOrderId.Text, CurrUser.UserId);
if (approve != null)
{
var approveId = approve.WorkOrderApproveId;
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/WorkOrder&menuId={2}",
0, approveId, Const.WorkOrderMenuId)));
}
}
protected void gvApprove_RowCommand(object sender, GridCommandEventArgs e)
{
object[] keys = gvApprove.DataKeys[e.RowIndex];
string fileId = string.Empty;
if (keys == null)
{
return;
}
else
{
fileId = keys[0].ToString();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/WorkOrder&menuId={2}",
-1, fileId, Const.WorkOrderMenuId)));
}
protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpHandleType.SelectedValue == BLL.Const.WorkOrder_Complete) //审批完成
{
this.drpHandleMan.Enabled = false;
this.drpHandleMan.Required = false;
this.drpHandleMan.Items.Clear();
}
else
{
this.drpHandleMan.Enabled = true;
this.drpHandleMan.Required = true;
UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false);
}
}
protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.rblIsAgree.SelectedValue == "false")
{
this.drpHandleType.SelectedValue = BLL.Const.WorkOrder_ReCompile;
this.drpHandleMan.Enabled = true;
this.drpHandleMan.Required = true;
Model.CQMS_WorkOrderApprove approve = BLL.WorkOrderApproveService.GetCompile(this.WorkOrderId);
if (approve != null)
{
List<Model.Sys_User> list = new List<Model.Sys_User>();
Model.Sys_User compileMan = BLL.UserService.GetUserByUserId(approve.ApproveMan);
list.Add(compileMan);
drpHandleMan.DataValueField = "UserId";
drpHandleMan.DataTextField = "UserName";
this.drpHandleMan.DataSource = list;
this.drpHandleMan.DataBind();
}
}
else
{
this.drpHandleType.SelectedValue = BLL.Const.WorkOrder_Complete;
this.drpHandleMan.Enabled = false;
this.drpHandleMan.Required = false;
this.drpHandleMan.Items.Clear();
}
}
}
}