using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Pur.Entity.configureEntity; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using System.Collections; using Pur.require_plan; using Pur.Entity.pur_orderEntiy; using com.hnshituo.pur.vo; using Infragistics.Win.UltraWinEditors; using Pur.configure; using Infragistics.Win; using Bpm; using Pur.Pop_upWindow; using Pur.Entity; using System.Text.RegularExpressions; using CoreFS.SA06; using Pur.Entity.ck; using Core.Mes.Client.Comm.Server; using Pur.Entity.require_planEntiy; namespace Pur.pur_plan { public partial class FrmPur_Plan : FrmPmsBase { double q_b = 0;//利库量的小数部分 string QstrDataFlag = "";//是否启用数据权限,。判断当前用户登录后,能否做修改和删除操作 public FrmPur_Plan() { InitializeComponent(); this.IsLoadUserView = true; ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False; GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "Check"); ultraGrid2.DisplayLayout.Bands[1].Override.AllowUpdate = DefaultableBoolean.False; ck_Mtime.Checked = true; cop_planMouthStart.Value = DateTime.Now.AddMonths(-1); cop_planMouthEnd.Value = DateTime.Now < DateTime.Parse(DateTime.Now.ToString("yyyy/MM/26")) ? DateTime.Now.AddMonths(1) : DateTime.Now.AddMonths(2); ultraExpandableGroupBox1.Expanded = false; } //菜单按钮事件 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": get_PUR_PLAN_M(); break; case "Update": UpdPUR_PLAN_M(); break; case "Delete": DelPUR_PLAN_M(); break; case "getTaskList": getTaskList(); break; case "Report": Report(); break; case "CancelReport": CancelReport(); break; case "Process": Process(); break; case "UltraGridToExcel": UltraGridToExcel(); break; } } private void FrmPur_Plan_Load(object sender, EventArgs e) { DataTable dt1 = new DataTable(); dt1.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") }); dt1.Rows.Add("", "全部"); dt1.Rows.Add("1", "紧急"); dt1.Rows.Add("2", "常规"); ultraComboEditor1.DataSource = dt1; ultraComboEditor1.DisplayMember = "Desc"; ultraComboEditor1.ValueMember = "Code"; SetComboItemHeight(ultraComboEditor1);//设置comboxEditer高度 ultraComboEditor1.SelectedIndex = 0; DataTable dt2 = new DataTable(); dt2.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") }); dt2.Rows.Add("", "全部"); dt2.Rows.Add("1", "待提报"); dt2.Rows.Add("2", "审批中"); dt2.Rows.Add("3", "已审批"); dt2.Rows.Add("4", "审批不通过"); ultraComboEditor2.DataSource = dt2; ultraComboEditor2.DisplayMember = "Desc"; ultraComboEditor2.ValueMember = "Code"; SetComboItemHeight(ultraComboEditor2);//设置comboxEditer高度 ultraComboEditor2.SelectedIndex = 0; ck_isAlldepart.Checked = true; ultraExpandableGroupBox2.Expanded = false; getUltcmbBindData(); } /// /// 界面加载函数 /// /// protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } /// /// 导出Excel /// private void UltraGridToExcel() { try { //获取导出的采购计划行表 ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = true; ultraGrid2.DisplayLayout.Bands[1].Hidden = true; ArrayList alUltraGrid = new ArrayList(); alUltraGrid.Add(ultraGrid1); alUltraGrid.Add(ultraGrid2); ArrayList alSheeft = new ArrayList(); alSheeft.Add("采购单主表"); alSheeft.Add("采购单行表"); if (ultraGrid1.Rows.Count > 0) { GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "采购单");//导出excel } } catch (Exception e) { MessageUtil.ShowTips("导出失败" + e.Message); } finally { ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = false;//显示复选框 ultraGrid2.DisplayLayout.Bands[1].Hidden = false; } } /// /// 创建合同 /// //private void addorder() //{ // UltraGridRow uge = ultraGrid1.ActiveRow; // UltraGridRow ug2e = ultraGrid2.ActiveRow; // if (ug2e == null) // { // if (uge == null) // { // MessageUtil.ShowTips("没有选择采购计划"); // return; // } // else // { // MessageUtil.ShowTips("采购计划:" + uge.Cells["mrId"].Value.ToString() + "没有行信息不能生成合同!"); // return; // } // } // if (txt_PLAN_TYPE.Value == null) // { // MessageUtil.ShowTips("计划类型不能为空"); // return; // } // if (MessageUtil.ShowYesNoAndTips("创建后采购计划将转成合同草稿,是否继续?") == DialogResult.No) // { // return; // } // try // { // ArrayList list = new ArrayList(); // EntityPurPlanM Ppm = new EntityPurPlanM(); // Ppm.MrId = uge.Cells["mrId"].Value.ToString(); // DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "find", new object[] { Ppm, 0, 0 }); // int Id = this.execute("com.hnshituo.pur.order.service.OrderMService", "find_Max", new object[] { }); // OrderM Odm = new OrderM(); // //Id++; // //string str = Id.ToString(); // //while (str.Length < 4) // //{ // // str = "0" + str; // //} // //Odm.OrderId = DateTime.Now.ToString("yyyyMM") + txt_PLAN_TYPE.Value.ToString() + str; // Odm.Status = "0"; // Odm.Validflag = "1"; // Odm.CreateName = CoreUserInfo.UserInfo.GetUserName(); // Odm.CreateUserid = CoreUserInfo.UserInfo.GetUserID(); // Odm.CreateTime = DateTime.Now; // EntityPurPlanD Ppd = new EntityPurPlanD(); // Ppd.MrId = uge.Cells["mrId"].Value.ToString(); // Ppd.Validflag = "1"; // DataTable dt1 = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "find", new object[] { Ppd, 0, 0 }); // for (int i = 0; i < dt1.Rows.Count; i++) // { // //string lst = Odm.OrderId; // //int IdLin = this.execute("com.hnshituo.pur.order.service.OrderCService", "find_MaxC", new object[] { lst }); // OrderC odC = new OrderC(); // //IdLin = IdLin + i + 1; // //string strId = IdLin.ToString(); // //while (strId.Length < 4) // //{ // // strId = "0" + strId; // //} // //odC.OrderId = Odm.OrderId; // //odC.OrderLineSqe = lst + "-" + strId; // odC.ItemCode = dt1.Rows[i]["ItemCode"].ToString(); // odC.BuyerDeptDesc = dt1.Rows[i]["BuyerDeptDesc"].ToString(); // odC.ItemName = dt1.Rows[i]["ItemName"].ToString(); // odC.PurLineId = dt1.Rows[i]["MRLINEID"].ToString(); // //odC.ItemSpec = dt1.Rows[i]["ItemSpec"].ToString(); // //odC.ItemDesc = dt1.Rows[i]["ItemDesc"].ToString(); // odC.ItemUom = dt1.Rows[i]["ItemUom"].ToString(); // //odC.ItemUomConefficient = 1; // odC.ItemUomConefficient = Convert.ToDouble(dt1.Rows[i]["ItemUomConefficient"].ToString()); // //odC.ItemUseUom = dt1.Rows[i]["ItemUseUom"].ToString(); // odC.WeightUnit = dt1.Rows[i]["WeightUnit"].ToString(); // odC.BuyerDeptCode = dt1.Rows[i]["BuyerDeptCode"].ToString(); // odC.BuyerUnitCode = dt1.Rows[i]["BuyerUnitCode"].ToString(); // odC.BuyerUnitDesc = dt1.Rows[i]["BuyerUnitDesc"].ToString(); // odC.BuyerName = dt1.Rows[i]["BuyerName"].ToString(); // odC.Qty = Convert.ToDouble(dt1.Rows[i]["Qty"].ToString()); // odC.Validflag = "1"; // odC.ItemAttr = dt1.Rows[i]["ItemAttr"].ToString(); // odC.ItemAttrId = dt1.Rows[i]["ItemAttrId"].ToString(); // odC.ItemStandardsCode = dt1.Rows[i]["ItemStandardsCode"].ToString(); // odC.ItemStandardsId = dt1.Rows[i]["ItemStandardsId"].ToString(); // odC.ItemUnique = dt1.Rows[i]["ItemUnique"].ToString(); // odC.ItemUomId = dt1.Rows[i]["ItemUomId"].ToString(); // odC.CreateName = CoreUserInfo.UserInfo.GetUserName(); // odC.CreateUserid = CoreUserInfo.UserInfo.GetUserID(); // odC.CreateTime = DateTime.Now; // list.Add(odC); // } // CoreResult Result1 = this.execute("com.hnshituo.pur.order.service.OrderCService", "insert_order", new object[] { list, Odm }); // if (Result1.Resultcode == 0) // { // MessageUtil.ShowTips("创建成功,已保存为合同草稿:" + Odm.OrderId); // } // else // { // MessageBox.Show("新增记录失败:" + Result1.Resultmsg); // return; // } // } // catch (Exception e) // { // MessageUtil.ShowError("合同草稿创建失败!" + e); // } //} /// /// 查询采购计划主表 /// /// public void get_PUR_PLAN_M() { dataSet1.Clear(); record.Clear(); message.Clear(); EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity = getEnSelContion(); PurPlanMEntity.ValidDataPurviewIds = this.ValidDataPurviewIds; PurPlanMEntity.OperatorUserId = UserInfo.GetUserID(); PurPlanMEntity.BpmUserId = UserInfo.GetUserID(); //判断当前拥有此页面功能的角色是否启用数据权限,//0未启用 string QstrDataFlag = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getRoleDataFlag", new object[] { UserInfo.GetUserID(), "Pur.pur_plan.FrmPur_Plan" }); if (QstrDataFlag == "0")//0未启用 { if (ck_isAlldepart.Checked) { PurPlanMEntity.CreateUserid = this.UserInfo.GetUserID(); } } DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { PurPlanMEntity }); foreach (DataRow row in dt.Rows) { row["mrPeriodEnd"] = Convert.ToDateTime(row["mrPeriodEnd"]).ToString("yyyy/MM"); } //按创建时间降序 if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "CREATETIME DESC"; dt = dt.DefaultView.ToTable(); } GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//绑定物料分类表 ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } /// /// 查询采购计划详表 /// /// public void get_PUR_PLAN_D(EntityPurPlanD PurPlanDEntity) { DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "getPlanD", new object[] { PurPlanDEntity }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定采购计划行表 DataTable dt_require = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanDService", "getRequireByPlanD_ids", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() }); //删除父表中没有的需求订单行 for (int i = 0; i < dt_require.Rows.Count; ) { //if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString(), dt_require.Rows[i]["ITEMUNIQUE"].ToString() })) if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString() })) { dt_require.Rows.RemoveAt(i); } else { i++; } } GridHelper.CopyDataToDatatable(ref dt_require, ref dataTable3, true);//绑定采购计划行子表 //采购计划行标记颜色 for (int i = 0; i < ultraGrid2.Rows.Count; i++) { //导入进来的采购计划,设置已生成任务单量=采购计划量 //if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1") //{ // ultraGrid2.Rows[i].Cells["taskQty"].Value = ultraGrid2.Rows[i].Cells["Qty"].Value; //} //double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单 //double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单 //if (double.Parse(ultraGrid2.Rows[i].Cells["taskQty"].Value.ToString()) - breleaseqty1 + breleaseqty3 >= double.Parse(ultraGrid2.Rows[i].Cells["Qty"].Value.ToString())) if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1") { ultraGrid2.Rows[i].Cells["pickQty"].Value = 0; } if (double.Parse(ultraGrid2.Rows[i].Cells["pickQty"].Value.ToString())<=0) { ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red;// System.Drawing.Color.FromArgb(200, 128, 0); } else { ultraGrid2.Rows[i].Appearance.ForeColor = Color.Black; } } ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } /// /// 生成任务单 /// public void getTaskList() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("为选择采购计划信息"); return; } if (getPlanStatusNum() != "3") { MessageUtil.ShowTips("所选采购计划不是已审批状态,不能生成任务单"); return; } ultraGrid2.UpdateData(); DataTable dt = dataTable2.Clone(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value) { for (int j = 0; j < dataTable2.Rows.Count; j++) { if (ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString() == dataTable2.Rows[j]["MRLINEID"].ToString()) { DataRow dr = dataTable2.Rows[j]; //double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单 //double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单 if (double.Parse(dr["pickQty"].ToString())<=0) { MessageUtil.ShowTips("采购单行号【" + dr["MRLINEID"].ToString() + "】“剩余可生成任务单量需大于0!"); return; } dt.Rows.Add(dr.ItemArray); break; } } } } if (dt.Rows.Count < 1) { MessageUtil.ShowTips("请至少选择一条采购计划行"); return; } string[] str = new string[5];//运输条件 str[0] = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件 str[1] = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式 str[2] = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式 //str[3] = cmb_PAYMENT_CODE.Value== null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式 //str[4] = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式 frm_PurTaskM frm = new frm_PurTaskM(dt, ultraGrid1.ActiveRow.Cells["REQORGNAME"].Value.ToString(), str, this.ob); frm.ShowDialog(); EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD(); PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); PurPlanDEntity1.Validflag = "1"; dataTable3.Rows.Clear(); dataTable2.Clear(); get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表 } /// /// 修改 /// private void UpdPUR_PLAN_M() { if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表 { if (ultraGrid1.ActiveRow != null) { if (getPlanCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改"); return; } string strPlanStatus = getPlanStatusNum();//采购计划主表状态 if (strPlanStatus != "1" && strPlanStatus != "4") { MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划"); return; } String strMrId=ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); if (String.IsNullOrEmpty(strMrId)) { MessageUtil.ShowTips("计划号为空!"); return; } EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity.DeliveryCondition = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件 PurPlanMEntity.DeliveryType = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式 PurPlanMEntity.ReceiveType = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式 PurPlanMEntity.UpdateName = UserInfo.GetUserName(); PurPlanMEntity.UpdateTime = System.DateTime.Now; PurPlanMEntity.UpdateUserid = UserInfo.GetUserID(); PurPlanMEntity.MrId = strMrId; if (MessageUtil.ShowYesNoAndQuestion("是否确定修改?") == DialogResult.No) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "doUpdate", new object[] { PurPlanMEntity });//添加操作 if (crt.Resultcode != 0) { MessageUtil.ShowTips("修改失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("修改成功!"); get_PUR_PLAN_M();//刷新采购计划主表 ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId);//激活当前行 } else { MessageUtil.ShowTips("请选择采购计划主表信息"); return; } } else if (ultraTabControl1.SelectedTab.Key == "1")//修改采购计划详表 { if (ultraGrid2.ActiveRow != null && !ultraGrid2.ActiveRow.HasParent()) { if (getPlanLineCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改"); return; } string strPlanStatus = getPlanStatusNum();//采购计划主表状态 if (strPlanStatus != "1" && strPlanStatus != "4") { MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划"); return; } String strMrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); String strMrLineId=ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); ;//采购单行号 if (String.IsNullOrEmpty(strMrId)) { MessageUtil.ShowTips("采购计划号为空!"); return; } if (String.IsNullOrEmpty(strMrLineId)) { MessageUtil.ShowTips("采购计划行号为空!"); return; } EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity.MrId = strMrId; PurPlanDEntity.Validflag = "1"; PurPlanDEntity.MrLineId = strMrLineId; PurPlanDEntity.Remark = txt_REMARK.Text;//备注 PurPlanDEntity.BugPrice = double.Parse(txt_BUG_PRICE.Text);//计划价 PurPlanDEntity.PackageType = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式 PurPlanDEntity.PaymentCode = cmb_PAYMENT_CODE.Value == null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式 double bQTY_YC = 0;//输入预采数量 if (txt_QTY_YC.Value != null) { double.TryParse(txt_QTY_YC.Value.ToString(), out bQTY_YC); } PurPlanDEntity.QtyYc = bQTY_YC;//预采 if (ultDt_ASK_DELIVER_DATE.Value != null) PurPlanDEntity.AskDeliverDate = (DateTime)ultDt_ASK_DELIVER_DATE.Value; PurPlanDEntity.UpdateName = UserInfo.GetUserName(); PurPlanDEntity.UpdateTime = System.DateTime.Now; PurPlanDEntity.UpdateUserid = UserInfo.GetUserID(); if (MessageUtil.ShowYesNoAndQuestion("确定修改?") == DialogResult.No) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "doUpdate_d", new object[] { PurPlanDEntity });//添加操作 if (crt.Resultcode != 0) { MessageUtil.ShowTips("修改失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("修改成功!"); EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD(); PurPlanDEntity1.MrId = strMrId; PurPlanDEntity1.Validflag = "1"; get_PUR_PLAN_M();//刷新采购计划主表 ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanDEntity.MrId);//激活当前行 ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行 } else { MessageUtil.ShowTips("请选择采购计划行表信息"); return; } } } /// /// 删除 /// private void DelPUR_PLAN_M() { //if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表 //{ if (ultraGrid1.ActiveRow != null) { if (getPlanCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销"); return; } string strPlanStatus = getPlanStatusNum();//采购计划主表状态 if (strPlanStatus != "1" && strPlanStatus != "4") { MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能撤销采购计划"); return; } //string resStr = ""; //if (ultraGrid2.ActiveRow != null) //{ // resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断 // if (resStr != "") // { // MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能撤销"); // return; // } //} if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】? 若撤销,该采购计划下的脱单挂单利库将同步取消。") == DialogResult.No) { return; } EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity.Validflag = "0"; //PurPlanMEntity.Status = "0"; PurPlanMEntity.DeleteName = UserInfo.GetUserName(); PurPlanMEntity.DeleteTime = System.DateTime.Now; PurPlanMEntity.DeleteUserid = UserInfo.GetUserID(); PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "del_PlanM", new object[] { PurPlanMEntity });//删除操作 //CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "cancelPurPlan", new object[] { PurPlanMEntity });//添加操作 if (crt.Resultcode != 0) { MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("撤销成功!"); EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM(); PurPlanMEntity1.Validflag = "1"; get_PUR_PLAN_M();//刷新采购计划主表 } else { MessageUtil.ShowTips("请选择采购计划主表!"); } //} //else if (ultraTabControl1.SelectedTab.Key == "1")//删除采购计划详表 //{ // ultraGrid2.UpdateData(); // if (ultraGrid1.ActiveRow == null) // { return; } // string strPlanStatus = getPlanStatus();//采购计划主表状态 // if (strPlanStatus != "待提报") // { // MessageUtil.ShowTips("采购单主表状态为" + strPlanStatus + ",不能撤销采购计划"); // return; // } // if (getPlanLineCreateName() != this.UserInfo.GetUserName()) // { // MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能删除"); // return; // } // if (ultraGrid2.ActiveRow != null) // { // string resStr = ""; // resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断 // if (resStr != "") // { // MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能删除"); // return; // } // resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsBenefit", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断 // if (resStr != "") // { // if (MessageUtil.ShowYesNoAndQuestion(resStr + ",如果删除此采购单行号,此前的利库或利计划操作将取消!\n确定要删除吗") == DialogResult.No) // { // return; // } // } // else if (MessageUtil.ShowYesNoAndQuestion("确定删除采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】?") == DialogResult.No) // { // return; // } // ArrayList all = new ArrayList(); // for (int i = 0; i < ultraGrid2.Rows.Count; i++) // { // if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value) // { // EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); // PurPlanDEntity.Validflag = "0"; // PurPlanDEntity.DeleteName = UserInfo.GetUserName(); // PurPlanDEntity.DeleteTime = System.DateTime.Now; // PurPlanDEntity.MrLineId = ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString(); //采购单行号 // all.Add(PurPlanDEntity); // } // } // if (all.Count < 1)//删除当前激活行 // { // EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); // PurPlanDEntity.Validflag = "0"; // PurPlanDEntity.DeleteName = UserInfo.GetUserName(); // PurPlanDEntity.DeleteUserid = UserInfo.GetUserID(); // PurPlanDEntity.DeleteTime = System.DateTime.Now; // PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); //采购单行号 // all.Add(PurPlanDEntity); // } // CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "del_updata", new object[] { all });//添加操作 // if (crt.Resultcode != 0) // { // MessageUtil.ShowTips("删除失败 " + crt.Resultmsg); // return; // } // MessageUtil.ShowTips("删除成功!"); // EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD(); // PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); // PurPlanDEntity1.Validflag = "1"; // get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表 // } //} } /// /// 查看流程详情 /// private void Process() { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowWarning("请选择一条记录"); return; } if (getPlanStatusNum() == "1") { MessageUtil.ShowTips("提报后才能查看流程"); return; } string mrId = uge.Cells["MRId"].Value.ToString(); ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_PLAN_AUDIT, mrId); detail.ShowDialog(); } /// /// 判断数据库中是否存在相同的列 /// /// /// /// true存在 public bool isExsitRow(string strJavaPackName, object o) { DataTable dt = this.execute(strJavaPackName, "find", new object[] { o, 0, 0 }); if (dt != null && dt.Rows.Count > 0)//存在相同的行 { return true; } return false; } /// /// 单击数据列表赋值数据给控件 /// private void getControlBoxValue(object sender, object entity) { //获取要情况文本框的父容器 Control ctrBox = null; if (sender.Equals(ultraGrid1)) { ctrBox = ultraGroupBox6; } else if (sender.Equals(ultraGrid2)) { ctrBox = ultraTabPageControl2; } //清空控件 foreach (Control ctr in ctrBox.Controls) { if (ctr is Label) { continue; } if (ctr is UltraCheckEditor) { UltraCheckEditor ultcmb = (UltraCheckEditor)ctr; ultcmb.Checked = false; } ctr.Text = null; } if (sender.Equals(ultraGrid1)) { EntityPurPlanM PurPlanMEntity = (EntityPurPlanM)entity; cmb_DELIVERY_CONDITION.Value = PurPlanMEntity.DeliveryCondition;//运输条件 ultcmb_ELIVERY_TYPE.Value = PurPlanMEntity.DeliveryType;//运输方式 cmb_RECEIVE_TYPE.Value = PurPlanMEntity.ReceiveType;//接收方式 } else if (sender.Equals(ultraGrid2)) { EntityPurPlanD PurPlanDEntity = (EntityPurPlanD)entity; txt_REMARK.Text = PurPlanDEntity.Remark == null ? null : PurPlanDEntity.Remark.ToString();//备注 cmb_PACKAGE_TYPE.Value = PurPlanDEntity.PackageType;//包装方式 cmb_PAYMENT_CODE.Value = PurPlanDEntity.PaymentCode;//付款方式 txt_BUG_PRICE.Text = PurPlanDEntity.BugPrice == null ? null : PurPlanDEntity.BugPrice.ToString();//计划价 txt_QTY_YC.Value = PurPlanDEntity.QtyYc;//预采 ultDt_ASK_DELIVER_DATE.Value = ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value; } } /// /// 激活采购计划主表行 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { dataTable3.Rows.Clear(); dataTable2.Clear(); message.Clear(); record.Clear(); String strMrid= ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString().Trim(); if (String.IsNullOrEmpty(strMrid)) { MessageUtil.ShowTips("采购计划号为空"); return; } EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity.MrId = strMrid; PurPlanDEntity.Validflag = "1"; get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表 EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() }); getControlBoxValue(sender, PurPlanMEntity); getBindItemMiddleClass();//绑定物料分类筛选下拉类表 //加载采购计划评审意见 getOrderReview(strMrid); } /// /// 查询评审意见 /// /// private void getOrderReview(string strMrid) { DataTable dt11 = this.execute("com.hnshituo.pur.order.service.OrderMService", "getReviewMsg", new object[] { strMrid }); GridHelper.CopyDataToDatatable(dt11, dataTable7, true); GridHelper.RefreshAndAutoSize(ultraGrid3); } /// /// 激活采购计划详表 /// /// /// private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { if (!ultraGrid2.ActiveRow.HasParent()) { EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() }); getControlBoxValue(sender, PurPlanDEntity);//给控件赋值 txt_QTY_YC.Enabled = true; //查询脱挂单记录 record.Clear(); RequireReleaseInstockqty release = new RequireReleaseInstockqty(); release.Validflag = "1"; release.PurLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); DataTable dt1 = this.execute("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doQuery_List", new object[] { release }); GridHelper.CopyDataToDatatable(dt1, dataTable8, true); GridHelper.RefreshAndAutoSize(ultraGrid9); } else { txt_QTY_YC.Enabled = false; } } /// /// 单击采购计划主表 /// /// /// private void ultraGrid1_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e) { this.ultraTabControl1.SelectedTab = ultraTabPageControl1.Tab; } /// /// 单击采购计划详表 /// /// /// private void ultraGrid2_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e) { this.ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab; } /// /// 获取查询条件 /// /// private EntityPurPlanM getEnSelContion() { EntityPurPlanM entity = new EntityPurPlanM(); if (ultraTextEditor5.Text.Trim() != "") { entity.MrId = ultraTextEditor5.Text.ToString().Trim(); } if (ultraComboEditor1.Value != null && ultraComboEditor1.Value.ToString() != "") { entity.UrgencyType = ultraComboEditor1.Value.ToString().Trim(); } if (ultraComboEditor2.Value != null && ultraComboEditor2.Value.ToString() != "") { entity.Status = ultraComboEditor2.Value.ToString().Trim(); } if (ck_Mtime.Checked == true) { if (cop_planMouthStart.Text != "") { DateTime Start1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthStart.Value).ToString("yyyy/MM")); entity.MrPeriodStart = Start1; } if (cop_planMouthEnd.Text != "") { DateTime End1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthEnd.Value).ToString("yyyy/MM")); entity.MrPeriodEnd = End1; } } //entity.DeleteName = "1";//判断是否需要查待编的,1不显示,0显示 entity.Validflag = "1"; return entity; } /// /// 提报 /// private void Report() { string strStatus = getPlanStatusNum(); if (strStatus == "1" || strStatus == "4") { if (getPlanCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能提报"); return; } String strTxt = "物料:"; int ii = 0; foreach (UltraGridRow ugr in ultraGrid2.Rows) { double b = 0; double.TryParse(ugr.Cells["BUGPRICE"].Value.ToString(), out b); if (b == 0) { strTxt = strTxt + "," + ugr.Cells["ItemName"].Value.ToString(); ii = ii + 1; } } EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); PurPlanMEntity.Status = "2"; PurPlanMEntity.UpdateUserid = UserInfo.GetUserID(); PurPlanMEntity.UpdateName = UserInfo.GetUserName(); if (ii > 0) { if (MessageUtil.ShowYesNoAndQuestion(strTxt+"计划价格为0,确认提报?") != DialogResult.Yes) { return; } } else { if (MessageUtil.ShowYesNoAndQuestion("确认提报?") != DialogResult.Yes) { return; } } CoreResult re = setRequire(PurPlanMEntity); //CoreResult re = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//提报 //this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "update", new object[] { PurPlanMEntity });//添加操作 if (re.Resultcode != 0) { MessageUtil.ShowTips("提报失败:" + re.Resultmsg); return; } else { MessageUtil.ShowTips("提报成功!"); get_PUR_PLAN_M();//刷新采购计划主表 comm.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId); } } else { MessageUtil.ShowTips("采购单不是“待提报”状态,不能提报"); } } /// /// 取消提报 /// private void CancelReport() { if (getPlanCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能取消提报"); return; } string strStatus = getPlanStatusNum(); //if (strStatus == "3") //{ //MessageUtil.ShowTips("采购单已审批,不能取消提报"); //return; //} if (strStatus != "1") { string strTips = "确定取消提报?"; if (strStatus == "3") { strTips = "采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】已经审批通过了,取消了后需要重新审批,确定取消提报?"; } if (DialogResult.No.Equals(MessageUtil.ShowYesNoAndQuestion(strTips))) { return; } EntityPurPlanM PurPlanMEntity = new EntityPurPlanM(); PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); PurPlanMEntity.Status = "1"; PurPlanMEntity.UpdateUserid = UserInfo.GetUserID(); PurPlanMEntity.UpdateName = UserInfo.GetUserName(); CoreResult re = setRequireD(PurPlanMEntity); //CoreResult re = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//添加操作 if (re.Resultcode != 0) { MessageUtil.ShowTips("取消失败:" + re.Resultmsg); return; } else { MessageUtil.ShowTips("取消成功!"); get_PUR_PLAN_M();//刷新采购计划主表 } } else { MessageUtil.ShowTips("采购单已是“待提报”状态,无需取消"); } } /// /// 利库操作 /// private void StorageBenefit() { if (ultraGrid1.ActiveRow != null) { for (int i = 0; i < ultraGrid2.Rows.Count; i++) { for (int j = 0; j < ultraGrid2.Rows.Count; j++) { if (i != j) { if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString()) { MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; } } } } FrmStorageBenefit frm = new FrmStorageBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString()); frm.ShowDialog(); } else { MessageUtil.ShowTips("请选择采购单号!"); } } /// /// 取消利计划和利库操作 /// private void CancelPurPlanBenefit() { string strPlanStatus = getPlanStatusNum();//采购计划主表状态 if (strPlanStatus != "1" && strPlanStatus != "4") { MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能取消利库"); return; } //string resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrIdIsBenefit", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });//删除判断 //if (resStr != "") //{ if (ultraGrid2.ActiveRow != null) { if (MessageUtil.ShowYesNoAndQuestion("确定要取消采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】利库吗") == DialogResult.No) { return; } //} EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); PurPlanDEntity.Validflag = "0"; PurPlanDEntity.UpdateName = UserInfo.GetUserName(); PurPlanDEntity.UpdateTime = System.DateTime.Now; PurPlanDEntity.UpdateUserid = UserInfo.GetUserID(); CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "CancelPurPlanBenefit", new object[] { PurPlanDEntity });//添加操作 if (crt.Resultcode != 0) { MessageUtil.ShowTips("取消失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("取消成功!"); EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD(); PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); PurPlanDEntity1.Validflag = "1"; get_PUR_PLAN_D(PurPlanDEntity1);//查询采购计划详表 ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行 } } /// /// 利计划操作 /// private void PlanBenefit() { if (ultraGrid1.ActiveRow != null) { for (int i = 0; i < ultraGrid2.Rows.Count; i++) { for (int j = 0; j < ultraGrid2.Rows.Count; j++) { if (i != j) { if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString()) { MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; } } } } frm_PlanBenefit frm = new frm_PlanBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString()); frm.ShowDialog(); } else { MessageUtil.ShowTips("请选择采购单号!"); } } /// /// 点击切换编辑区的tab页 /// /// /// private void ultraGrid2_Click(object sender, EventArgs e) { ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab; } /// /// 设置UltraComboEditor中的中文和非中文统一高度。 /// /// public static void SetComboItemHeight(UltraComboEditor cmb) { foreach (ValueListItem item in cmb.Items) { if (item.DisplayText != null) { if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+")) { item.Appearance.FontData.SizeInPoints = 9.0F; } else { item.Appearance.FontData.SizeInPoints = 10.5F; } } } } /// /// 获取采购单主表状态 /// /// public string getPlanStatus() { string strTaskStatus = ""; EntityPurPlanM M_PurPlanM = new EntityPurPlanM(); M_PurPlanM.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); M_PurPlanM.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { M_PurPlanM }); if (dt.Rows.Count > 0) { strTaskStatus = dt.Rows[0]["STATUS"].ToString(); } return strTaskStatus; } /// /// 获取采购单主表状态 /// /// public string getPlanStatusNum() { string strTaskStatus = ""; EntityPurPlanM M_PurPlanM = new EntityPurPlanM(); M_PurPlanM = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() }); if (M_PurPlanM != null) { strTaskStatus = M_PurPlanM.Status.ToString(); } return strTaskStatus; } /// /// 获取采购单主表创建人 /// /// public string getPlanCreateName() { string strCreateName = ""; EntityPurPlanM M_PurPlanM = new EntityPurPlanM(); M_PurPlanM = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() }); if (M_PurPlanM != null) { strCreateName = M_PurPlanM.CreateName.ToString(); } return strCreateName; } /// /// 获取采购单行表创建人 /// /// public string getPlanLineCreateName() { string strCreateName = ""; EntityPurPlanD M_PurPlanD = new EntityPurPlanD(); M_PurPlanD = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() }); if (M_PurPlanD != null) { strCreateName = M_PurPlanD.CreateName.ToString(); } return strCreateName; } /// /// 显示采购计划激活行的物料 /// private void showItemUgridRow(UltraGrid ugr) { for (int i = 0; i < ugr.Rows.Count; i++) { if (ugr.Rows[i].Cells["ITEMCODE"].Value.ToString() != ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString() || ugr.Rows[i].Cells["WEIGHTUNIT"].Value.ToString().Trim() != ultraGrid2.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString().Trim()) { ugr.Rows[i].Hidden = true;//隐藏 } else { ugr.Rows[i].Hidden = false; } } } /// /// 绑定下拉列表的数据 /// private void getUltcmbBindData() { //接收方式 DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1101" }, this.ob); removeNotValiflagData(dt); getUltcmbBindValueList(dt, cmb_RECEIVE_TYPE); //运输条件 DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1105" }, this.ob); removeNotValiflagData(dt1); getUltcmbBindValueList(dt1, cmb_DELIVERY_CONDITION); //运输方式 DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1102" }, this.ob); removeNotValiflagData(dt2); getUltcmbBindValueList(dt2, ultcmb_ELIVERY_TYPE); //付款方式 DataTable dt3 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1104" }, this.ob); removeNotValiflagData(dt3); getUltcmbBindValueList(dt3, cmb_PAYMENT_CODE); ultraGrid2.DisplayLayout.Bands[0].Columns["PAYMENTCODE"].EditorComponent = cmb_PAYMENT_CODE; //包装方式 DataTable dt4 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1107" }, this.ob); removeNotValiflagData(dt4); getUltcmbBindValueList(dt4, cmb_PACKAGE_TYPE); ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].EditorComponent = cmb_PACKAGE_TYPE; } /// /// 移除无效数据 /// /// private void removeNotValiflagData(DataTable dt) { for (int i = 0; i < dt.Rows.Count; ) { if (dt.Rows[i]["VALIDFLAG"].ToString() == "0") { dt.Rows.RemoveAt(i); } else { i++; } } } /// /// 绑定所有的下拉列表的数据 /// private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb) { for (int i = 0; i < dt.Rows.Count; i++) { ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim()); ultcmb.Items.Add(vlItem); } } /// /// 提报补充预采需求 /// private CoreResult setRequire(EntityPurPlanM ppm) { ArrayList alrem = new ArrayList(); ArrayList alReqD = new ArrayList(); ArrayList alReqR = new ArrayList(); ArrayList alrpr = new ArrayList(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { RequirePlanM rem = new RequirePlanM(); RequirePlanD ReqD = new RequirePlanD(); ReqPurPlanR ReqR = new ReqPurPlanR(); RequireReceive rpr = new RequireReceive(); double bQTYYC = 0; double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC); if (bQTYYC > 0) { //生成需求单号 string strYcMrId = this.execute("com.hnshituo.pur.utils.service.UtilsService", "genMrId", new object[] { 1 }); rem.CreateName = UserInfo.GetUserName(); rem.CreateUserid = UserInfo.GetUserID(); rem.CreateTime = DateTime.Now; rem.Status = "3"; //ReqM.ReqOrgId = txt_REQ_ORG_ID.Text; //ReqM.ReqOrgName = txt_REQORGNAME.Text; rem.MrPeriodEnd = Convert.ToDateTime(ultraGrid1.ActiveRow.Cells["MRPERIODEND"].Value.ToString()).Date; //rem.MrPeriodStart = Convert.ToDateTime(txt_MRPERIODSTART.Text).Date; rem.UrgencyType = "1"; rem.ReqOrgName = UserInfo.GetDepartment();//申请者机构名称 rem.ReqOrgId = UserInfo.GetDeptid();//申请者机构ID rem.Validflag = "1"; rem.RequireType = "122103";//生产性物料预采,系统自动生成,RPA160700003-002 RPA160700003-001 rem.MrId = strYcMrId; EntityPurPlanD ppd = new EntityPurPlanD(); ppd = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString() });//添加操作 ReqD = EntityHelper.CopyEntity(ppd); ReqD.MrLineId = strYcMrId + "-001"; ReqD.MrId = strYcMrId; ReqD.Remark = "由预采补充需求计划行信息"; ReqD.BuyerDeptCode = ""; ReqD.BuyerDeptDesc = ""; ReqD.BuyerUnitCode = ""; ReqD.BuyerUnitDesc = ""; ReqD.Validflag = "1"; ReqD.FlagGeneratedPurPlan = "4"; ReqD.Qty = bQTYYC; ReqD.QtyPur = bQTYYC; ReqD.BudgetAmt = bQTYYC * (ReqD.BugPrice == null ? 0 : ReqD.BugPrice); ReqD.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); ReqD.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID(); ReqD.CreateTime = DateTime.Now; ReqD.FlagGeneratedPurPlan = "1"; //2016年2月28新增leitao ReqD.DeliveryLocationFlag = "0"; ReqD.DeliveryLocation = ""; ReqD.DeliveryLocationCode = ""; ReqD.AuditFlag = "1"; ReqD.AuditMsg = "默认审批通过"; //插入关系表 ReqR.PurLineId = ppd.MrLineId; ReqR.CreateTime = DateTime.Now; ReqR.RequireLineId = ReqD.MrLineId; ReqR.ID = ReqD.MrLineId + ppd.MrLineId; rpr = EntityHelper.CopyEntity(ReqD); rpr.PurLineId = ppd.MrLineId; rpr.Id = ReqD.MrLineId + ppd.MrLineId; rpr.Status = "2"; rpr.LastDeliveryDate = ppd.AskDeliverDate; rpr.LjhTime = System.DateTime.Now; rpr.Purtype = "3"; rpr.OriQty = bQTYYC; rpr.OriQtyPur = bQTYYC; rpr.Qty = bQTYYC; rpr.QtyPur = bQTYYC; alrem.Add(rem); alReqD.Add(ReqD); alReqR.Add(ReqR); alrpr.Add(rpr); } else//不用补预采需求 { } } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作 return crt; } /// /// 撤销提报,删除预采需求 /// /// /// private CoreResult setRequireD(EntityPurPlanM ppm) { ArrayList alrem = new ArrayList(); ArrayList alReqD = new ArrayList(); ArrayList alReqR = new ArrayList(); ArrayList alrpr = new ArrayList(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { double bQTYYC = 0; double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC); if (bQTYYC > 0) { if (ultraGrid2.Rows[i].HasChild()) { for (int j = 0; j < ultraGrid2.Rows[i].ChildBands[0].Rows.Count; j++) { if (ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["Remark"].Value.ToString() == "由预采补充需求计划行信息") { RequirePlanM rem = new RequirePlanM(); RequirePlanD ReqD = new RequirePlanD(); ReqPurPlanR ReqR = new ReqPurPlanR(); RequireReceive rpr = new RequireReceive(); ReqD.MrLineId = ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["MrLineId"].Value.ToString(); ReqD.MrId = ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString(); alrem.Add(rem); alReqD.Add(ReqD); alReqR.Add(ReqR); alrpr.Add(rpr); //alReqD.Add(ReqD); break; } } } } } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作 return crt; } //绑定查询的物料分类 private void getBindItemMiddleClass() { DataTable dt= comm.getDtGroupBy_reDt(dataTable2, "basename"); comm.setUltraComboEditorBind(txt_ItemMiddleClass, dt, "basename", "basecode", "全部", ""); } private void ck_Mtime_CheckedChanged(object sender, EventArgs e) { cop_planMouthStart.Enabled = ck_Mtime.Checked; cop_planMouthEnd.Enabled = ck_Mtime.Checked; } #region 行编辑区 /// /// 按照物料为别过滤物料 /// /// /// private void btn_selectD_Click(object sender, EventArgs e) { if (txt_ItemMiddleClass.Value == null) { return; } EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString(); PurPlanDEntity.Validflag = "1"; PurPlanDEntity.ItemCode = txt_ItemMiddleClass.Value.ToString(); get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表 } private void btn_deleteD_Click(object sender, EventArgs e) { if (ultraGrid1.ActiveRow != null) { if (getPlanCreateName() != this.UserInfo.GetUserName()) { MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销"); return; } string strPlanStatus = getPlanStatusNum();//采购计划主表状态 if (strPlanStatus != "1" && strPlanStatus != "4") { MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能编辑采购计划"); return; } if (ultraGrid2.ActiveRow == null) { MessageUtil.ShowTips("请选择采购计划行"); return; } String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim(); if (String.IsNullOrEmpty(strPurLineId)) { MessageUtil.ShowTips("请选择的采购计划行号为空"); return; } if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划行【" + strPurLineId + "】? 若撤销,该采购计划行下的脱单挂单利库将同步取消。") == DialogResult.No) { return; } EntityPurPlanD PurPlanDEntity = new EntityPurPlanD(); PurPlanDEntity.Validflag = "0"; //PurPlanMEntity.Status = "0"; PurPlanDEntity.DeleteName = UserInfo.GetUserName(); PurPlanDEntity.DeleteTime = System.DateTime.Now; PurPlanDEntity.DeleteUserid = UserInfo.GetUserID(); PurPlanDEntity.MrLineId = strPurLineId; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "doDelete_d", new object[] { PurPlanDEntity });//删除操作 if (crt.Resultcode != 0) { MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("撤销成功!"); EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM(); PurPlanMEntity1.Validflag = "1"; get_PUR_PLAN_M();//刷新采购计划主表 } else { MessageUtil.ShowTips("请选择采购计划主表!"); } } private void btn_addD_Click(object sender, EventArgs e) { if (ultraGrid2.ActiveRow == null) { MessageUtil.ShowTips("请选择采购计划行"); return; } String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim(); if (String.IsNullOrEmpty(strPurLineId)) { MessageUtil.ShowTips("请选择的采购计划行号为空"); return; } } #endregion private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.Cells["status"].Value.ToString().StartsWith("审批不通过")) { e.Row.Appearance.ForeColor = Color.Red; } else { e.Row.Appearance.ForeColor = Color.Black; } } } }