using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using com.hnshituo.pur.vo; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using Pur.Entity; using Pur.Entity.require_planEntiy; namespace Pur.require_plan { public partial class FrmPurRequirePlanReceive2 : FrmPmsBase { String strCustom = ""; public string tips="0"; public string[] strViewsCol; public FrmPurRequirePlanReceive2() { InitializeComponent(); } public FrmPurRequirePlanReceive2(OpeBase OB, string[] strViews,String Custom) { this.strCustom = Custom; this.ob = OB; this.strViewsCol = strViews; InitializeComponent(); } private void FrmPurRequirePlanReceive2_Load(object sender, EventArgs e) { ultraTabControl1.SelectedTab=ultraTabControl1.Tabs[0]; ultraTabControl2.Tabs[1].Visible = false; txt_Status.SelectedIndex = 0; ultraComboEditor2.SelectedIndex = 0; ck_ctime.Checked=true; CK_isAll.Checked = false; txtMrPeriodStart.Value = DateTime.Now.AddMonths(-1); txtMrPeriodEnd.Value = DateTime.Now.AddDays(1); GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { "CHECK" }); GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], new string[] { "CHECK" }); GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], new string[] {}); doQuery(); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "doQuery": // 刷新 doQuery(); break; case "doCreate": // 编制 doCreate(); break; case "cancelCreate": //取消编制 cancelCreate(); break; case "doExit": // 退出 this.Close(); break; } } // 刷新待编制和已编制 private void doQuery() { dataTable1.Clear(); dataTable2.Clear(); dataTable3.Clear(); try { this.Cursor = Cursors.WaitCursor; //string str = Core.Mes.Client.Comm.Tool.EntityHelper.StrGetControlvalueFromMod("tg_128_st", "cxuser", "cxuser", "PUR_REQUIRE_PLAN_M", "suppone_entity", new string[] { "txt_" }, true, txt_MRID.Parent); //str = Core.Mes.Client.Comm.Tool.EntityHelper.StrGetControlvalueFromMod("tg_128_st", "cxuser", "cxuser", "PUR_REQUIRE_PLAN_D", "suppone_entity", new string[] { "txt_" }, true, txt_MRLINEID.Parent); RequirePlanM RqPM = new RequirePlanM(); if (txt_Status.Value != null) { RqPM.Status = txt_Status.Value.ToString(); } if (ultraTextEditor1.Text != null) { RqPM.MrId = ultraTextEditor1.Text; } if (ultraComboEditor2.Value != null) { RqPM.UrgencyType = ultraComboEditor2.Value.ToString(); } if (ck_ctime.Checked == true) { if (txtMrPeriodStart.Text != "") { RqPM.CreateTime = Convert.ToDateTime(txtMrPeriodStart.Value); } if (txtMrPeriodEnd.Text != "") { RqPM.DeleteTime = Convert.ToDateTime(txtMrPeriodEnd.Value); } } if (CK_isAll.Checked) { RqPM.DeleteName = "3";//待编制子计划查询 } else { RqPM.DeleteName = "2";//全部子计划查询 } RqPM.Validflag = "1"; RqPM.ValidDataPurviewIds = strViewsCol;//我能看到那些部门的 RqPM.BpmUserId = UserInfo.GetUserID(); DataTable dt = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "find_status", new object[] { RqPM }); foreach (DataRow row in dt.Rows) { row["mrPeriodEnd"] = Convert.ToDateTime(row["mrPeriodEnd"]).ToString("yyyy/MM"); } GridHelper.CopyDataToDatatable(dt, dataTable1, true); GridHelper.RefreshAndAutoSize(ultraGrid1); RqPM.DeleteName = "4";//已编制主计划查询查询 DataTable dt2 = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "find_status", new object[] { RqPM }); foreach (DataRow row in dt2.Rows) { row["mrPeriodEnd"] = Convert.ToDateTime(row["mrPeriodEnd"]).ToString("yyyy/MM"); } GridHelper.CopyDataToDatatable(dt2, dataTable2, true); GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception ex) { MessageUtil.ShowTips("加载数据失败:" + ex); } finally { this.Cursor = Cursors.Default; } } // 编制 private void doCreate() { try { String strtenantId1 = ""; int i = 0; ultraGrid1.UpdateData(); ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGrid1.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHECK")) == true) { string strMrId = row.GetCellValue("MrId").ToString().Trim(); RequirePlanM pm = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "findById", new object[] { strMrId }); //头是否处于可删该的状态 if (pm.Status == "0" || pm.Status == "2" || pm.Status == "3") { MessageUtil.ShowTips("需求子计划头【" + strMrId + "】为已编制,或请刷新后再操作!"); return; } string strtenantId = pm.TenantId; if (String.IsNullOrEmpty(strtenantId)) { MessageUtil.ShowTips("需求子计划头【" + strMrId + "】未维护审批流程类型!"); return; } if (i == 0) { strtenantId1 = strtenantId; } else { if (strtenantId1 != strtenantId) { MessageUtil.ShowTips("只能合并审批流程一致的需求子计划,需求子计划头【" + strMrId + "】审批流程类型不一致!"); return; } } RequirePlanD pd = new RequirePlanD(); pd.MrId = strMrId; pd.Validflag = "1"; List listd = this.execute>("com.hnshituo.pur.requireplan.service.RequirePlanDService","find", new object[] { pd, 0, 0 }); if (listd.Count <= 0) { MessageUtil.ShowTips("需求子计划头【" + strMrId + "】无需求计划行,请先添加物料后再操作!"); return; } i++; list.Add(strMrId); } } if (list.Count <= 0) { MessageUtil.ShowTips("请选择需要汇总的需求子计划头!"); return; } FrmPurRequirePlanSummmary frm = new FrmPurRequirePlanSummmary(this.ob, list, 1,strCustom); frm.ShowDialog(); if (frm.Tips == "1") { doQuery(); tips = "1"; } } catch (Exception ex) { MessageUtil.ShowTips("操作失败:"+ex.Message); } } //取消编制 private void cancelCreate() { ultraGrid2.UpdateData(); ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHECK")) == true) { String strMrId = row.GetCellValue("mrId").ToString().Trim(); RequirePlanM pm = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "findById", new object[] { strMrId }); if (pm.CreateUserid != UserInfo.GetUserID()) { MessageUtil.ShowTips("无权限,只能操作自己的提交的需求计划"); return; } if (pm.Status != "1" && pm.Status != "4") { MessageUtil.ShowTips("需求计划头【" + strMrId + "】为已编制、审批中或已审批状态之一,暂无权限进行增删改,或请刷新后再操作!"); return; } pm.DeleteName = UserInfo.GetUserName(); pm.DeleteTime = DateTime.Now; pm.DeleteUserid = UserInfo.GetUserID(); list.Add(pm); } } if (list.Count <= 0) { MessageUtil.ShowTips("请选择需撤销的编制后需求主计划!"); } if (MessageUtil.ShowYesNoAndQuestion("确定撤销上述" + list.Count + "个已编制需求计划?") != DialogResult.Yes) { return; } CoreResult re = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "doDeleteM_batch", new object[] { list,strCustom}); if (re.Resultcode != 0) { MessageUtil.ShowTips("操作失败:" + re.Resultmsg); } else { MessageUtil.ShowTips("操作成功"); tips = "1"; ; } } //激活子计划Grid private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null || ultraTabControl1.SelectedTab != ultraTabControl1.Tabs[0]) { return; } String strMrId = row.GetCellValue("mrId").ToString().Trim(); getDetail(strMrId); } //激活主计划Grid private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGrid2.ActiveRow; if (row == null || ultraTabControl1.SelectedTab != ultraTabControl1.Tabs[1]) { return; } String strMrId = row.GetCellValue("mrId").ToString().Trim(); getDetail(strMrId); RequirePlanM RqPM = new RequirePlanM(); RqPM.MrId = strMrId; DataTable dt = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanMService", "find_SourcePlan", new object[] { RqPM }); foreach (DataRow row1 in dt.Rows) { row1["mrPeriodEnd"] = Convert.ToDateTime(row1["mrPeriodEnd"]).ToString("yyyy/MM"); } GridHelper.CopyDataToDatatable(dt, dataTable4, true); GridHelper.RefreshAndAutoSize(ultraGrid4); } //查询从表 private void getDetail(String strMrId) { dataSet3.Clear(); dataSet4.Clear(); RequirePlanD rpd = new RequirePlanD(); rpd.Validflag = "1"; rpd.MrId = strMrId; DataTable dt1 = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanDService", "get_RequirePlanDlike", new object[] { rpd }); GridHelper.CopyDataToDatatable(dt1, dataTable3, true); GridHelper.RefreshAndAutoSize(ultraGrid3); } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0]) { CK_isAll.Enabled = true; ultraToolbarsManager1.Tools[1].SharedProps.Enabled = true; ultraToolbarsManager1.Tools[2].SharedProps.Enabled = false; ultraTabControl2.Tabs[1].Visible = false; //this.ToolBarItemEnable(this, "doQuery", true); //this.ToolBarItemEnable(this, "doCreate", true); //this.ToolBarItemEnable(this, "cancelCreate", false); //this.ToolBarItemEnable(this, "doExit", true); } else { CK_isAll.Enabled = false; ultraToolbarsManager1.Tools[1].SharedProps.Enabled = false; ultraToolbarsManager1.Tools[2].SharedProps.Enabled = true; ultraTabControl2.Tabs[1].Visible = true; //this.ToolBarItemEnable(this, "doQuery", true); //this.ToolBarItemEnable(this, "doCreate", false); //this.ToolBarItemEnable(this, "cancelCreate", true); //this.ToolBarItemEnable(this, "doExit", true); } } private void ck_ctime_CheckedChanged(object sender, EventArgs e) { txtMrPeriodEnd.Enabled = ck_ctime.Checked; txtMrPeriodStart.Enabled = ck_ctime.Checked; } private void FrmPurRequirePlanReceive2_Shown(object sender, EventArgs e) { //this.ToolBarItemEnable(this, "doQuery", true); //this.ToolBarItemEnable(this, "doCreate", true); //this.ToolBarItemEnable(this, "cancelCreate", false); //this.ToolBarItemEnable(this, "doExit", true); } } }