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 定义变量 /// /// 方案审查主键 /// public string WorkOrderId { get { return (string)ViewState["WorkOrderId"]; } set { ViewState["WorkOrderId"] = value; } } #endregion #region 定义集合 /// /// 定义会签意见集合 /// public static List approves = new List(); #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; } /// /// 审批列表 /// 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"); } /// /// 保存验证 /// /// /// 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); } } /// /// 编辑时候保存 /// 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 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 添加时候的保存 /// /// 保存方案审查 /// /// 保存类型 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 list = new List(); 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(); } } } }