using BLL; using System; using System.Collections.Generic; using System.Linq; namespace FineUIPro.Web.CQMS.QuantityManagement { public partial class BaseEdit : PageBase { #region 定义变量 /// /// 主键 /// public string BaseId { get { return (string)ViewState["BaseId"]; } set { ViewState["BaseId"] = value; } } /// /// 办理类型 /// public string State { get { return (string)ViewState["State"]; } set { ViewState["State"] = value; } } #endregion #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); this.BaseId = Request.Params["BaseId"]; plApprove1.Hidden = true; plApprove2.Hidden = true; rblIsAgree.Hidden = true; rblIsAgree.SelectedValue = "true"; BLL.DrawingService.InitDrawingChangeDropDownList(drpDrawingNo, this.CurrUser.LoginProjectId, true); BLL.TeamGroupService.InitTeamGroupProjectDropDownList(drpWorkTeam, this.CurrUser.LoginProjectId, true); var Base = BLL.BaseService.GetBaseById(this.BaseId); if (Base != null) { Model.QuantityManagement_Drawing drawing = BLL.DrawingService.GetDrawingById(Base.DrawingId); Model.QuantityManagement_Change change = BLL.ChangeService.GetChangeById(Base.DrawingId); this.BaseId = Base.BaseId; plApprove1.Hidden = false; plApprove2.Hidden = false; var dt = BaseApproveService.getListData(BaseId); gvApprove.DataSource = dt; gvApprove.DataBind(); if (drawing != null) { this.txtWorkSection.Text = drawing.WorkSection; this.drpDrawingNo.SelectedValue = Base.DrawingId; this.txtDrawingName.Text = drawing.DrawingName; } else if (change != null) { this.txtWorkSection.Text = change.WorkSection; this.drpDrawingNo.SelectedValue = Base.DrawingId; this.txtDrawingName.Text = change.ChangeName; } this.txtPart.Text = Base.Part; this.txtProjectContent.Text = Base.ProjectContent; this.txtUnit.Text = Base.Unit; if (Base.Amount != null) { this.txtAmount.Text = Base.Amount.ToString(); } if (!string.IsNullOrEmpty(Base.WorkTeam)) { this.drpWorkTeam.SelectedValue = Base.WorkTeam; } if (!string.IsNullOrEmpty(Base.State)) { State = Base.State; } else { State = BLL.Const.Base_Compile; this.rblIsAgree.Visible = false; } if (State != BLL.Const.Base_Complete) { //Funs.Bind(drpHandleType, BaseService.GetDHandleTypeByState(State)); BaseService.Init(drpHandleType, State, false); } if (State == BLL.Const.Base_Compile) { this.rblIsAgree.Visible = false; UserService.InitUserDropDownList2(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty); this.drpHandleMan.SelectedIndex = 1; } else { UserService.InitUserDropDownList2(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty); this.rblIsAgree.Visible = true; if (drpHandleType.SelectedValue == BLL.Const.Base_ReCompile) { var HandleMan = BLL.BaseApproveService.GetComplie(this.BaseId); if (HandleMan != null) { this.drpHandleMan.SelectedValue = UserService.GetUserNameByUserId(HandleMan.ApproveMan); } } } //设置流程上是否有同意不同意 if (State == Const.Base_Audit1) { rblIsAgree.Hidden = false; } else { rblIsAgree.Hidden = true; } } else { State = Const.Base_Compile; BaseService.Init(drpHandleType, State, false); UserService.InitUserDropDownList2(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty); } //是否同意触发 if (!rblIsAgree.Hidden) { HandleType(); } } } #endregion /// /// 待办事项的下拉框的处理 /// public void HandleType() { drpHandleType.Items.Clear(); BaseService.Init(drpHandleType, State, false); string res = null; List list = new List(); list.Add(Const.Base_ReCompile); var count = drpHandleType.Items.Count; List listitem = new List(); if (rblIsAgree.SelectedValue.Equals("true")) { for (int i = 0; i < count; i++) { res = drpHandleType.Items[i].Value; if (list.Contains(res)) { var item = (drpHandleType.Items[i]); listitem.Add(item); } } if (listitem.Count > 0) { for (int i = 0; i < listitem.Count; i++) { drpHandleType.Items.Remove(listitem[i]); } } } else { for (int i = 0; i < count; i++) { res = drpHandleType.Items[i].Value; if (!list.Contains(res)) { var item = drpHandleType.Items[i]; listitem.Add(item); } } if (listitem.Count > 0) { for (int i = 0; i < listitem.Count; i++) { drpHandleType.Items.Remove(listitem[i]); } } } if (count > 0) { drpHandleType.SelectedIndex = 0; HandleMan(); } } /// /// 办理人员的自动筛选 /// protected void HandleMan() { drpHandleMan.Items.Clear(); if (!string.IsNullOrEmpty(drpHandleType.SelectedText)) { UserService.InitUserDropDownList2(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty); if (drpHandleMan.Items.Count > 0) { drpHandleMan.SelectedIndex = 0; } if (drpHandleType.SelectedText.Contains("重新编制")) { UserService.InitUserDropDownList2(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty); var HandleMan = BLL.BaseApproveService.GetComplie(this.BaseId); if (HandleMan != null) { this.drpHandleMan.SelectedValue = HandleMan.ApproveMan; } } if (drpHandleType.SelectedValue == BLL.Const.Base_Complete) { drpHandleMan.Items.Clear(); drpHandleMan.Enabled = false; drpHandleMan.Required = false; } else { drpHandleMan.Enabled = true; drpHandleMan.Required = true; } } } protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e) { HandleMan(); } protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e) { HandleType(); } protected void drpDrawingNo_SelectedIndexChanged(object sender, EventArgs e) { Model.QuantityManagement_Drawing drawing = BLL.DrawingService.GetDrawingById(this.drpDrawingNo.SelectedValue); Model.QuantityManagement_Change change = BLL.ChangeService.GetChangeById(this.drpDrawingNo.SelectedValue); if (drawing != null) { this.txtWorkSection.Text = drawing.WorkSection; this.txtDrawingName.Text = drawing.DrawingName; this.txtAmount.NoNegative = true; } else if (change != null) { this.txtWorkSection.Text = change.WorkSection; this.txtDrawingName.Text = change.ChangeName; this.txtAmount.NoNegative = false; } else { this.txtWorkSection.Text = string.Empty; this.txtDrawingName.Text = string.Empty; this.txtAmount.NoNegative = true; } } #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.drpDrawingNo.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择图号", MessageBoxIcon.Warning); return; } if (this.drpWorkTeam.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择计划作业队", MessageBoxIcon.Warning); return; } Model.QuantityManagement_Drawing drawing = BLL.DrawingService.GetDrawingById(this.drpDrawingNo.SelectedValue); if (drawing != null) { decimal d = Funs.GetNewDecimalOrZero(this.txtAmount.Text.Trim()); if (d < 0) { Alert.ShowInTop("图纸工程量总数不能为负数", MessageBoxIcon.Warning); return; } } Model.QuantityManagement_Base newBase = new Model.QuantityManagement_Base(); newBase.ProjectId = this.CurrUser.LoginProjectId; newBase.DrawingId = this.drpDrawingNo.SelectedValue; newBase.Part = this.txtPart.Text.Trim(); newBase.ProjectContent = this.txtProjectContent.Text.Trim(); newBase.Unit = this.txtUnit.Text.Trim(); newBase.Amount = Funs.GetNewDecimal(this.txtAmount.Text.Trim()); newBase.WorkTeam = this.drpWorkTeam.SelectedValue; newBase.State = drpHandleType.SelectedValue.Trim(); if (string.IsNullOrEmpty(this.BaseId)) { newBase.BaseId = SQLHelper.GetNewID(typeof(Model.QuantityManagement_Base)); newBase.CompileMan = this.CurrUser.UserId; newBase.CompileDate = DateTime.Now; //var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == newBase.BaseId); //if (sour == null || string.IsNullOrEmpty(sour.AttachUrl)) //{ // Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); // return; //} BLL.BaseService.AddBase(newBase); Model.QuantityManagement_BaseApprove approve1 = new Model.QuantityManagement_BaseApprove(); approve1.BaseId = newBase.BaseId; approve1.ApproveDate = DateTime.Now; approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = BLL.Const.Base_Compile; BLL.BaseApproveService.AddBaseApprove(approve1); Model.QuantityManagement_BaseApprove approve = new Model.QuantityManagement_BaseApprove(); approve.BaseId = newBase.BaseId; if (this.drpHandleMan.SelectedValue != "") { approve.ApproveMan = this.drpHandleMan.SelectedValue; } approve.ApproveType = this.drpHandleType.SelectedValue; BLL.BaseApproveService.AddBaseApprove(approve); } else { newBase.BaseId = this.BaseId; //var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.BaseId); //if (sour == null || string.IsNullOrEmpty(sour.AttachUrl)) //{ // Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); // return; //} Model.QuantityManagement_BaseApprove approve1 = BLL.BaseApproveService.GetBaseApproveByBaseId(BaseId); if (approve1 != null) { approve1.ApproveDate = DateTime.Now; approve1.ApproveIdea = txtOpinions.Text.Trim(); approve1.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue); BLL.BaseApproveService.UpdateBaseApprove(approve1); } if (this.drpHandleMan.SelectedValue != null) { Model.QuantityManagement_BaseApprove approve = new Model.QuantityManagement_BaseApprove(); approve.BaseId = BaseId; approve.ApproveMan = this.drpHandleMan.SelectedValue; approve.ApproveType = this.drpHandleType.SelectedValue; if (this.drpHandleType.SelectedValue == BLL.Const.Base_Complete) { approve.ApproveDate = DateTime.Now.AddMinutes(1); } BLL.BaseApproveService.AddBaseApprove(approve); } BLL.BaseService.UpdateBase(newBase); } ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.BaseMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnSave)) { this.btnSave.Hidden = false; } } } #endregion /// /// 把状态转换代号为文字形式 /// /// /// protected string ConvertState(object state) { if (state != null) { if (state.ToString() == BLL.Const.Base_ReCompile) { return "重新编制"; } else if (state.ToString() == BLL.Const.Base_Compile) { return "编制"; } else if (state.ToString() == BLL.Const.Base_Audit1) { return "审核"; } else if (state.ToString() == BLL.Const.Base_Complete) { return "审批完成"; } else { return ""; } } return ""; } } }