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 CoreFS.CA06; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.PipeLeaveFactory.YdmObject; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.YdmBase; using Core.StlMes.Client.PipeLeaveFactory.Tool; using Core.Mes.Client.Comm; namespace Core.StlMes.Client.PipeLeaveFactory { public partial class frmPipeTrainMonth : FrmBase { /// /// 用户销售组织权限 /// private string[] _salgPermissions = null; private string _ordLnDlyPk = ""; public frmPipeTrainMonth() { InitializeComponent(); this.IsLoadUserView = true; } /// /// 初始化 /// /// /// private void frmPipeTrainMonth_Load(object sender, EventArgs e) { udtStart.DateTime = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToShortDateString()); udtEnd.DateTime = Convert.ToDateTime(DateTime.Now.ToShortDateString()); _salgPermissions = BaseHelper.InitPermissions(this.ValidDataPurviewIds, this.ob); InitDrop(); //字段位置 BaseHelper.InitCellPosition(ultraGrid1, new string[] { "PREP_WGT", "PLAN_WGT_SUM", "DELVRY_QTY", "STORAGE_WGT", "STORAGE_COUNT", "STORAGE_METER", "PLAN_WGT", "PLAN_COUNT", "PAYDOWN_WGT", "PAYDOWN_COUNT", "SEND_WGT", "BEEN_WGT" }); BaseHelper.InitCellPosition(ultraGrid3, new string[] { "ActWeightBeen", "DELVRY_QTY", "PREP_WT", "BEEN_WT", "PAYDOWN_NUM", "PLAN_NUM", "PAYDOWNWEIGHT", "PLAN_COUNT", "NOTSEND_COUNT", "SEND_COUNT", "PLANWEIGHT", "STORAGE_METER", "STORAGE_UNIT", "STORAGE_COUNT" }); BaseHelper.InitCellPosition(ultraGrid2, new string[] { "ActWeightBeen", "PLAN_WT", "PLAN_NUM" }); BaseHelper.InitCellPosition(ultraGrid4, new string[] { "ActWeightBeen","PLAN_WT", "PLAN_NUM" }); //字段可读 BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" }); BaseHelper.setOtherColumnReadOnly(ultraGrid3, new string[] { "CHC", "PLAN_COUNT" }); BaseHelper.setOtherColumnReadOnly(ultraGrid4, new string[] { "CHC" }); //字段颜色 BaseHelper.setUltraGridColumnColor(ultraGrid3, new string[] { "PLAN_COUNT" }, Color.FromArgb(255, 255, 128)); //字段显示格式 BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "PREP_WGT", "PLAN_WGT_SUM", "DELVRY_QTY", "STORAGE_WGT", "STORAGE_METER", "PLAN_WGT", "PAYDOWN_WGT", "SEND_WGT", "BEEN_WGT" }); BaseHelper.setUltraGridColumnMaxInput(ultraGrid3, new string[] { "ActWeightBeen", "DELVRY_QTY", "PREP_WT", "BEEN_WT", "PAYDOWNWEIGHT", "PLAN_COUNT", "NOTSEND_COUNT", "SEND_COUNT", "PLANWEIGHT", "STORAGE_METER", "STORAGE_COUNT" }); BaseHelper.setUltraGridColumnMaxInput(ultraGrid2, new string[] { "ActWeightBeen", "PLAN_WT", "PLAN_NUM" }); BaseHelper.setUltraGridColumnMaxInput(ultraGrid4, new string[] { "ActWeightBeen", "PLAN_WT", "PLAN_NUM" }); //统计字段(重量) BaseHelper.GridColumnSum(ultraGrid3, new string[] { "ActWeightBeen", "DELVRY_QTY", "PREP_WT", "PLAN_COUNT", "BEEN_WT", "PAYDOWNWEIGHT", "PLANWEIGHT", "STORAGE_METER", "SEND_COUNT", "STORAGE_COUNT" }); BaseHelper.GridColumnSum(ultraGrid2, new string[] { "ActWeightBeen", "PLAN_WT"}); BaseHelper.GridColumnSum(ultraGrid4, new string[] { "ActWeightBeen","PLAN_WT"}); BaseHelper.GridColumnSum(ultraGrid1, new string[] { "PREP_WGT", "DELVRY_QTY", "STORAGE_WGT", "STORAGE_METER", "PLAN_WGT", "PAYDOWN_WGT","SEND_WGT", "BEEN_WGT" }); //统计字段(支) BaseHelper.GridColumnCount(ultraGrid3, new string[] { "PAYDOWN_NUM", "PLAN_NUM", "NOTSEND_COUNT", "STORAGE_UNIT",}); BaseHelper.GridColumnCount(ultraGrid2, new string[] { "PLAN_NUM" }); BaseHelper.GridColumnCount(ultraGrid4, new string[] { "PLAN_NUM" }); BaseHelper.GridColumnCount(ultraGrid1, new string[] { "PLAN_WGT_SUM", "STORAGE_COUNT", "PLAN_COUNT", "PAYDOWN_COUNT" }); } private void InitDrop() { BaseHelper.InitMonth(ComMonth); BaseHelper.InitMonth(cmbMonth); BaseHelper.InitYear(cmbYear); BaseHelper.InitYear(ComYear); ComMonth.Value = string.Format("{0:00}", DateTime.Now.Month); cmbMonth.Value = string.Format("{0:00}", DateTime.Now.Month); ComYear.Value = DateTime.Now.Year.ToString(); cmbYear.Value = DateTime.Now.Year.ToString(); BaseHelper.InitOrderUnit(cmbCustomer, _salgPermissions, this.ob); BaseHelper.InitOrderUnit(ComRevice, _salgPermissions, this.ob); //专用线 YdmBaseClass.InitComboEditor(cmbSpcl, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryPrivateSid", "SPCL_LN_NO", ob, false); YdmBaseClass.InitComboEditor(TxtLine, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryPrivateSid", "SPCL_LN_NO", ob, false); //到站 YdmBaseClass.InitComboEditor(cmbStation, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryArriveStation", "STATION_NO", ob, false); YdmBaseClass.InitComboEditor(ComStation, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryArriveStation", "STATION_NO", ob, false); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Add": DoSave(); break; case "Delete": DoDelete(); break; case "Down"://下发 DoDown(); break; case "Refresh": DoRefresh(); break; case "Export": Export(); break; case "CancelDoDown": CancelDoDown(); break; case "PlanClose": doPlanClose(); break; case "Close": this.Close(); break; } } private void Export() { if (ultraTabControl1.SelectedTab.Key.Equals("0")) { GridHelper.ulGridToExcel(ultraGrid3, "可发货资源信息"); } else { GridHelper.ulGridToExcel(ultraGrid4, "发货出厂计划信息"); } } string planno = ""; /// /// 计划开始结束时间 /// private void GetDateTime() { DateTime d1 = new DateTime(cmbYear.Value == null ? DateTime.Now.Year : Convert.ToInt32(cmbYear.Value.ToString()), cmbMonth.Value == null ? DateTime.Now.Month : Convert.ToInt32(cmbMonth.Value.ToString()), 1); DateTime d2 = d1.AddMonths(1).AddSeconds(-1); PlanStartTime.Value = d1.ToString("yyyy-MM-dd"); PlanEndTime.Value = d2.ToString("yyyy-MM-dd"); } //刷新 private void DoRefresh() { InitDrop(); } /// /// Check选择事件 /// /// /// private void Chk_CheckedChanged(object sender, EventArgs e) { if (chkCustomer.Checked) { cmbCustomer.Enabled = true; } else { cmbCustomer.Enabled = false; } if (ChcTime.Checked) { cmbYear.Enabled = true; cmbMonth.Enabled = true; } else { cmbYear.Enabled = false; cmbMonth.Enabled = false; } if (chkSpcl.Checked) { cmbSpcl.Enabled = true; } else { cmbSpcl.Enabled = false; } if (chkStation.Checked) { cmbStation.Enabled = true; } else { cmbStation.Enabled = false; } if (ChcOrderNo.Checked) { TxtOrderNo.Enabled = true; } else { TxtOrderNo.Enabled = false; } if (chkCustomer.Checked) { cmbCustomer.Enabled = true; } else { cmbCustomer.Enabled = false; } if (ChcDelivyTime.Checked) { ComYear.Enabled = true; ComMonth.Enabled = true; } else { ComYear.Enabled = false; ComMonth.Enabled = false; } if (ChcStatus.Checked) { ComStatus.Enabled = true; } else { ComStatus.Enabled = false; } if (ChcStation.Checked) { ComStation.Enabled = true; } else { ComStation.Enabled = false; } if (ChcLine.Checked) { TxtLine.Enabled = true; } else { TxtLine.Enabled = false; } if (ChcOrderNo1.Checked) { TxtOrderNo1.Enabled = true; } else { TxtOrderNo1.Enabled = false; } if (ChcRecive.Checked) { ComRevice.Enabled = true; } else { ComRevice.Enabled = false; } } /// /// 查询合同主信息 /// private void QueryOrderM() { string beginTime = "2000-01-01"; string endTime = "2200-01-01"; string orderStart = "1000-01-01"; string orderEnd = "9999-12-31"; if (ChcTime.Checked) { DateTime d1 = new DateTime(Convert.ToInt32(cmbYear.Value.ToString()), Convert.ToInt32(cmbMonth.Value.ToString()), 1); DateTime d2 = d1.AddMonths(1).AddSeconds(-1); beginTime = d1.ToString("yyyy-MM-dd"); endTime = d2.ToString("yyyy-MM-dd"); } if (uchkDate.Checked) { orderStart = udtStart.DateTime.ToString("yyyy-MM-dd"); orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd"); } string spcl = ""; if (chkSpcl.Checked && cmbSpcl.Value != null) { spcl = cmbSpcl.Value.ToString(); } string station = ""; if (chkStation.Checked && cmbStation.Value != null) { station = cmbStation.Value.ToString(); } string orderNo = ""; if (ChcOrderNo.Checked) { orderNo = TxtOrderNo.Text.Trim(); } string reciveNm = ""; if (chkCustomer.Checked) { reciveNm = cmbCustomer.Value.ToString(); } if (!ChcTime.Checked && spcl.Equals("") && station.Equals("") && orderNo.Equals("") && reciveNm.Equals("") && !Acasing.Checked && !Steelpipe.Checked) { MessageUtil.ShowTips("请至少选择一个条件!"); return; } ArrayList param = new ArrayList(); param.Add(beginTime); param.Add(endTime); param.Add(orderNo); DataTable dt = new DataTable(); //if (Acasing.Checked) //{ // dt = ServerHelper.GetData("com.steering.pss.ydm.acasleavefactory.FrmCasTrainMonth.queryOrderInfo", new object[] { param, spcl, station, reciveNm, this.ValidDataPurviewIds }, this.ob); //} //else //{ dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth.queryOrderInfo", new object[] { param, spcl, station, reciveNm, this.ValidDataPurviewIds, this.CustomInfo, orderStart, orderEnd }, this.ob); //} GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); if (dt == null || dt.Rows.Count == 0) { GridHelper.ClearGridDataSourceData(ultraGrid3); } //foreach (UltraGridRow ugr in ultraGrid1.Rows) //{ // double pcwt = double.Parse(ugr.Cells["PLAN_WGT"].Value.ToString());//排产量 // double jkwt = double.Parse(ugr.Cells["PAYDOWN_WGT"].Value.ToString());//缴库量 // double kcwt = double.Parse(ugr.Cells["STORAGE_WGT"].Value.ToString());//库存量 // double ybjhwt = double.Parse(ugr.Cells["BEEN_WGT"].Value.ToString());//已编计划量 // double jhlP = pcwt - ybjhwt;//排产量与已编计划量之差 // double jhlj = jkwt - ybjhwt;//缴库量与已编计划量之差 // if (jhlP <= 0) // { // jhlP = 0; // } // if (jhlj <= 0) { jhlj = 0; } // if (pcwt - jkwt > 0) // { // if (pcwt - kcwt > 0) // { // ugr.Cells["PREP_WGT"].Value = jhlP.ToString("f3"); // ugr.Cells["PLAN_WGT_SUM"].Value = jhlP.ToString("f3"); // } // else // { // ugr.Cells["PREP_WGT"].Value = kcwt.ToString("f3"); // ugr.Cells["PLAN_WGT_SUM"].Value = kcwt.ToString("f3"); // } // } // else if (pcwt - jkwt < 0) // { // if (jkwt - kcwt > 0) // { // ugr.Cells["PREP_WGT"].Value = jhlj.ToString("f3"); // ugr.Cells["PLAN_COUNT"].Value = jhlj.ToString("f3"); // } // else // { // ugr.Cells["PREP_WGT"].Value = kcwt.ToString("f3"); // ugr.Cells["PLAN_WGT_SUM"].Value = kcwt.ToString("f3"); // } // } // else // { // ugr.Cells["PREP_WGT"].Value = kcwt.ToString("f3"); // ugr.Cells["PLAN_WGT_SUM"].Value = kcwt.ToString("f3"); // } //} } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) { return; } string beginTime = "2000-01-01"; string endTime = "2200-01-01"; string orderStart = "1000-01-01"; string orderEnd = "9999-12-31"; if (ChcTime.Checked) { DateTime d1 = new DateTime(Convert.ToInt32(cmbYear.Value.ToString()), Convert.ToInt32(cmbMonth.Value.ToString()), 1); DateTime d2 = d1.AddMonths(1).AddSeconds(-1); beginTime = d1.ToString("yyyy-MM-dd"); endTime = d2.ToString("yyyy-MM-dd"); } if (uchkDate.Checked) { orderStart = udtStart.DateTime.ToString("yyyy-MM-dd"); orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd"); } string spcl = ugr.Cells["SPCL_LN_NO"].Text.Trim(); string stationNo = ugr.Cells["STATION_NO"].Text.Trim(); string custNo = ugr.Cells["CUSTOMER_NO"].Text.Trim(); string reciveNo = ugr.Cells["RECEIV_NO"].Text.Trim(); string slagNo = ugr.Cells["SALE_ORG"].Text.Trim(); string deptId = ugr.Cells["CREATE_DEPT"].Text.Trim(); string transitTyp = ugr.Cells["TRANSIT_TYP"].Text.Trim(); string prdcls = ugr.Cells["PRD_CLS"].Text; string suppUnit = ugr.Cells["SUPPLY_UNIT"].Text; QueryOrderC(beginTime, endTime, spcl, stationNo, custNo, reciveNo, slagNo, deptId, transitTyp, prdcls, orderStart, orderEnd, suppUnit); if (!_ordLnDlyPk.Equals("")) { foreach (UltraGridRow ugrc in ultraGrid3.Rows) { if (ugrc.Cells["ORD_LN_DLY_PK"].Text.Equals(_ordLnDlyPk)) { ugrc.Activate(); _ordLnDlyPk = ""; return; } } } } private void QueryOrderC(string beginTime, string endTime, string spclNo, string stationNo, string custNo, string reciveNo, string slagNo, string deptId, string transitTyp, string prdcls, string orderStart, string orderEnd, string suppUnit) { ArrayList param = new ArrayList(); param.Add(beginTime); param.Add(endTime); param.Add(orderStart); param.Add(orderEnd); param.Add(spclNo); param.Add(stationNo); param.Add(custNo); param.Add(reciveNo); param.Add(slagNo); param.Add(deptId); string orderNo = ""; if (ChcOrderNo.Checked) { orderNo = TxtOrderNo.Text.Trim(); } param.Add(orderNo); param.Add(transitTyp); param.Add(suppUnit); DataTable dt = new DataTable(); if (Acasing.Checked) { param.Add(prdcls); dt = ServerHelper.GetData("com.steering.pss.ydm.acasleavefactory.FrmCasTrainMonth.queryOrderInfoC", new object[] { param }, this.ob); } else { dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth.queryOrderInfoC", new object[] { param }, this.ob); } GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); foreach (UltraGridRow ugr in ultraGrid3.Rows) { double pcwt = double.Parse(ugr.Cells["PLANWEIGHT"].Value.ToString());//排产量 double jkwt = double.Parse(ugr.Cells["PAYDOWNWEIGHT"].Value.ToString());//缴库量 double kcwt = double.Parse(ugr.Cells["STORAGE_COUNT"].Value.ToString());//库存量 double ybjhwt = double.Parse(ugr.Cells["BEEN_WT"].Value.ToString());//已编计划量 double tdwt=double.Parse(ugr.Cells["ActWeightBeen"].Value.ToString());//提单量 double yfwt = double.Parse(ugr.Cells["SEND_COUNT"].Value.ToString());//已发量 double jhlP = pcwt - ybjhwt;//排产量与已编计划量之差 double jhlj = jkwt - ybjhwt;//缴库量与已编计划量之差 double kbwt = kcwt + tdwt - ybjhwt;//可编量 //double kbjhl = 0 ;//可计划量 if (jhlP <= 0) { jhlP = 0; } if (jhlj <= 0) { jhlj = 0; } if (kbwt <= 0) { kbwt = 0; } if (pcwt - jkwt > 0) { if (pcwt - kcwt - ybjhwt > 0) { ugr.Cells["PREP_WT"].Value = jhlP.ToString("f3"); ugr.Cells["PLAN_COUNT"].Value = jhlP.ToString("f3"); } else { ugr.Cells["PREP_WT"].Value = kbwt.ToString("f3"); ugr.Cells["PLAN_COUNT"].Value = kbwt.ToString("f3"); } } else if (pcwt - jkwt < 0) { if (jkwt - kcwt - ybjhwt > 0) { ugr.Cells["PREP_WT"].Value = jhlj.ToString("f3"); ugr.Cells["PLAN_COUNT"].Value = jhlj.ToString("f3"); } else { ugr.Cells["PREP_WT"].Value = kbwt.ToString("f3"); ugr.Cells["PLAN_COUNT"].Value = kbwt.ToString("f3"); } } else { ugr.Cells["PREP_WT"].Value = kbwt.ToString("f3"); ugr.Cells["PLAN_COUNT"].Value = kbwt.ToString("f3"); } } } /// /// 查询 /// private void DoQuery() { if (ultraTabControl1.SelectedTab.Key.Equals("0")) { //if (!ChcTime.Checked && !ChcOrderNo.Checked && !chkSpcl.Checked && !chkStation.Checked && !chkCustomer.Checked && !ChcTransitTyp.Checked) //{ // MessageUtil.ShowTips("数据量大,至少选择一个查询条件!"); // return; //} QueryOrderM(); } else { QuerySendM(); } } /// /// 查询计划主表 /// private void QuerySendM() { ArrayList param = new ArrayList(); string planTime = ""; if (ChcDelivyTime.Checked && ComYear.Value != null && ComMonth.Value != null) { planTime = ComYear.Value.ToString() + ComMonth.Value.ToString(); } string status = ""; if (ChcStatus.Checked && ComStatus.Value != null) { status = ComStatus.Value.ToString(); } string station = ""; if (ChcStation.Checked && ComStation.Value != null) { station = ComStation.Value.ToString(); } string spcl = ""; if (ChcLine.Checked && TxtLine.Value != null) { spcl = TxtLine.Value.ToString(); } string ordeNo = ""; if (ChcOrderNo1.Checked) { ordeNo = TxtOrderNo1.Text.Trim(); } string reciveNm = ""; if (ChcRecive.Checked) { reciveNm = ComRevice.Text.Trim(); } string trainType = ""; if (ChcTrainType.Checked && ComTrainType.Value != null) { trainType = ComTrainType.Value.ToString(); } param.Add(planTime); param.Add(status); param.Add(station); param.Add(spcl); param.Add(ordeNo); param.Add(reciveNm); param.Add(trainType); DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth.querySendPlanM", new object[] { param, this.ValidDataPurviewIds, this.CustomInfo}, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true); if (dt == null || dt.Rows.Count == 0) { GridHelper.ClearGridDataSourceData(ultraGrid4); } } private void QuerySendC(string sendPlanNo) { DataTable dtc = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth.querySendPlanC", new string[] { sendPlanNo }, this.ob); GridHelper.CopyDataToDatatable(ref dtc, ref dataTable4, true); } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid2.ActiveRow; if (ugr == null) { return; } QuerySendC(ugr.Cells["SEND_PLAN_NO"].Text.Trim()); } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { if (e.Cell.Row.Cells["PLAN_COUNT"].Value == null) { e.Cell.Row.Cells["PLAN_COUNT"].Value = e.Cell.Row.Cells["PREP_WT"].Value.ToString(); return; } else { ultraGrid3.UpdateData(); string planCount = e.Cell.Row.Cells["PLAN_COUNT"].Value.ToString(); string prepWt = e.Cell.Row.Cells["PREP_WT"].Value.ToString(); if (planCount.Equals("")) { e.Cell.Row.Cells["PLAN_COUNT"].Value = 0; return; } if (!StringUtil.IsNumber(planCount)) { e.Cell.Row.Cells["PLAN_COUNT"].Value = e.Cell.Row.Cells["PREP_WT"].Value.ToString(); return; } if (Convert.ToDouble(planCount) > Convert.ToDouble(prepWt)) { e.Cell.Row.Cells["PLAN_COUNT"].Value = e.Cell.Row.Cells["PREP_WT"].Value.ToString(); return; } } } /// /// 新增 /// private void DoSave() { ultraGrid1.UpdateData(); ultraGrid3.UpdateData(); UltraGridRow ugrM = ultraGrid1.ActiveRow; //IQueryable ugrCs = ultraGrid3.Rows.AsQueryable().Where(" CHC = 'True'"); List ugrCs = ComHelper.UltraGridGetOtherRowsNoHidden(ultraGrid3, "CHC"); if (ugrM == null || ugrCs.Count() == 0) { MessageUtil.ShowTips("请选择要新增计划的合同!"); return; } if (ugrM.Cells["TRANSIT_TYP"].Text.Equals("")) { MessageUtil.ShowTips("请维护出厂方式信息!"); return; } if (ugrM.Cells["TRANSIT_TYP"].Text.Equals("110502")) { if (ugrM.Cells["STATION_NO"].Text.Equals("")) { MessageUtil.ShowTips("出厂方式为铁运,则到站信息不能为空,请维护!"); return; } } ArrayList baseData = new ArrayList(); ArrayList childData = new ArrayList(); double totalwt = 0; double totalnum = 0; double totallen = 0; foreach (UltraGridRow ugrc in ugrCs) { YdmZcSendplanCEntity comc = GetChildData(ugrc); if (comc == null) { return; } string lnStatus = ""; string lnPkStatus = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new object[] { comc.OrdLnPk.ToString() }, this.ob); if (dt != null && dt.Rows.Count > 0) { lnPkStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString(); } DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderHeadStatus", new object[] { comc.OrdPk.ToString() }, this.ob); if (dt1 != null && dt1.Rows.Count > 0) { lnStatus = dt1.Rows[0]["ORDER_STS"].ToString(); } if (lnStatus == "12020702" || lnPkStatus == "12020702") { MessageUtil.ShowTips("新增计划失败!合同已发齐,无法编制计划!"); return; } if (lnStatus == "12020802" || lnPkStatus == "12020802") { MessageUtil.ShowTips("新增计划失败! 合同已结齐,无法编制计划!"); return; } if (lnStatus == "12020901" || lnPkStatus == "12020901") { MessageUtil.ShowTips("新增计划失败!合同已结案,无法编制计划!"); return; } if (comc.PlanNum != "") { totalnum += Convert.ToDouble(comc.PlanNum); } if (comc.PlanTotlLen != "") { totallen += Convert.ToDouble(comc.PlanTotlLen); } if (comc.PlanWt != "") { totalwt += Convert.ToDouble(comc.PlanWt); } _ordLnDlyPk = comc.OrdLnDlyPk.ToString(); childData.Add(JSONFormat.Format(comc)); } YdmZcSendplanMEntity ydm = GetBaseData(ugrM); if (ydm == null) { return; } ydm.SendPlanNo = planno; ydm.PlanWt = totalwt.ToString(); ydm.PlanNum = totalnum.ToString(); ydm.PlanTotlLen = totallen.ToString(); ydm.SupplyUnit = ugrM.Cells["SUPPLY_UNIT"].Text; ydm.SupplyUnitDesc = ugrM.Cells["SUPPLY_UNIT_DESC"].Text; baseData.Add(JSONFormat.Format(ydm)); if (MessageBox.Show("是否新增计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; if (baseData.Count > 0 || childData.Count > 0) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth"; ccp.MethodName = "saveYdmSendPlan"; ccp.ServerParams = new object[] { baseData, childData }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageBox.Show("新增计划成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None); DoQuery(); foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (ugr.Cells["CUSTOMER_NO"].Text.Equals(ydm.CustomerNo.ToString()) && ugr.Cells["RECEIV_NO"].Text.Equals(ydm.ReceivNo.ToString()) && ugr.Cells["SALE_ORG"].Text.Equals(ydm.SaleOrg.ToString()) && ugr.Cells["CREATE_DEPT"].Text.Equals(ydm.ManagementNo.ToString())) { ugr.Activate(); } } } } /// /// 新增主记录数据 /// /// 父行 /// 返回值 private YdmZcSendplanMEntity GetBaseData(UltraGridRow ugr) { YdmZcSendplanMEntity com = new YdmZcSendplanMEntity(); com.SaleOrg = ugr.Cells["SALE_ORG"].Text; com.SaleOrgDesc = ugr.Cells["SALE_ORG_DESC"].Text; com.CustomerNo = ugr.Cells["CUSTOMER_NO"].Text; com.CustomerNm = ugr.Cells["CUSTOMER_NM"].Text; com.ReceivNo = ugr.Cells["RECEIV_NO"].Text; com.ReceivNm = ugr.Cells["RECEIV_NM"].Text; com.TransType = ugr.Cells["TRANSIT_TYP"].Text; ; com.StationNo = ugr.Cells["STATION_NO"].Text; com.StationNm = ugr.Cells["STATION_NM"].Text; com.SpclLnNo = ugr.Cells["SPCL_LN_NO"].Text; com.SpclLnNm = ugr.Cells["SPCL_LN_NM"].Text; com.ManagementNo = ugr.Cells["CREATE_DEPT"].Text; com.ManagementName = ugr.Cells["DEPARTNAME"].Text; com.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(com.ManagementNo, ob); com.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(com.ManagementNo, ob); com.PlanStartTime = DateTime.Parse(PlanStartTime.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); com.PlanEndTime = DateTime.Parse(PlanEndTime.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); if (Convert.ToDateTime(com.PlanStartTime) > Convert.ToDateTime(com.PlanEndTime)) { MessageUtil.ShowTips("计划结束时间不能早于计划开始时间!"); return null; } com.PlanYearMonth = DateTime.Now.ToString("yyyyMM"); com.CreateName = this.UserInfo.GetUserName(); com.UpdateName = this.UserInfo.GetUserName(); return com; } /// /// 新增子记录数据 /// /// 父行 /// 返回值 private YdmZcSendplanCEntity GetChildData(UltraGridRow ugr) { //计划量 string planwt = ugr.Cells["PLAN_COUNT"].Value.ToString(); if (planwt == "") { MessageUtil.ShowWarning("请输入计划量!"); return null; } if (planwt == "0") { MessageUtil.ShowWarning("计划量不能零!"); ugr.Cells["CHC"].Value = false; return null; } YdmZcSendplanCEntity com = new YdmZcSendplanCEntity(); string sale = ugr.Cells["SALE_ORG"].Value.ToString(); string salecode = ""; switch (sale) { case "100101": salecode = "X"; break; case "100102": salecode = "M"; break; case "100103": salecode = "G"; break; case "100105": salecode = "H"; break; default: break; } if (ugr.Cells["TRANSIT_TYP"].Text.Equals("") && ugr.Cells["STATION_NM"].Text.Trim() == "") { MessageUtil.ShowWarning("火运到站不能为空!"); return null; } string Daytime = DateTime.Now.ToString("yyMM") + "00"; com.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString(); com.OrderSeq = ugr.Cells["ORDER_SEQ"].Value.ToString(); com.DeliveryNo = ugr.Cells["DELIVERY_NO"].Value.ToString(); //com.SendPlanNo = com.OrderNo + "," + salecode + "2" + "M" + Daytime + "," + com.OrderSeq + ""; com.SendPlanNo = salecode + "2" + "M" + Daytime; planno = com.SendPlanNo; com.Produccode = ugr.Cells["PRODUCCODE"].Value.ToString(); com.Producname = ugr.Cells["PRODUCNAME"].Value.ToString(); com.PrdCls = ugr.Cells["PRD_CLS"].Value.ToString(); com.Psc = ugr.Cells["PSC"].Value.ToString(); com.PscDesc = ugr.Cells["PSC_DESC"].Value.ToString(); com.SpecCode = ugr.Cells["SPEC_CODE"].Value.ToString(); com.SpecName = ugr.Cells["SPEC_NAME"].Value.ToString(); com.LenNo = ugr.Cells["LEN_NO"].Value.ToString(); com.LenDesc = ugr.Cells["LEN_DESC"].Value.ToString(); com.PlanWt = planwt; com.PlanNum = ""; com.PlanTotlLen = ""; com.CreateName = this.UserInfo.GetUserName(); com.UpdateName = this.UserInfo.GetUserName(); com.OrdPk = ugr.Cells["ORD_PK"].Value.ToString(); com.OrdLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString(); com.OrdLnDlyPk = ugr.Cells["ORD_LN_DLY_PK"].Value.ToString(); com.DelvryBdate = ugr.Cells["DELVRY_BDATE"].Value.ToString(); com.DelvryEdate = ugr.Cells["DELVRY_EDATE"].Value.ToString(); return com; } /// /// 撤销计划 /// private void DoDelete() { ultraGrid2.UpdateData(); ArrayList param = new ArrayList(); IQueryable ugrs = ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (ugrs == null || ugrs.Count() == 0) { MessageUtil.ShowTips("请选择需要撤销的计划号!"); return; } string sendPlanNo = ""; foreach (UltraGridRow ugr in ugrs) { param.Add(ugr.Cells["SEND_PLAN_NO"].Text); sendPlanNo = ugr.Cells["SEND_PLAN_NO"].Text; } if (MessageBox.Show("是否撤销计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth"; ccp.MethodName = "deltePlanSend"; ccp.ServerParams = new object[] { param, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销计划成功!")) { QuerySendM(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (ugr.Cells["SEND_PLAN_NO"].Text.Equals(sendPlanNo)) { ugr.Activate(); } } } } } /// /// 下发 /// private void DoDown() { ultraGrid2.UpdateData(); ArrayList param = new ArrayList(); IQueryable ugrs = ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (ugrs == null || ugrs.Count() == 0) { MessageUtil.ShowTips("请选择需要下发的计划号!"); return; } string sendPlanNo = ""; foreach (UltraGridRow ugr in ugrs) { param.Add(ugr.Cells["SEND_PLAN_NO"].Text); sendPlanNo = ugr.Cells["SEND_PLAN_NO"].Text; } if (MessageBox.Show("是否下发计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth"; ccp.MethodName = "doDown"; ccp.ServerParams = new object[] { param, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("下发计划成功!")) { QuerySendM(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (ugr.Cells["SEND_PLAN_NO"].Text.Equals(sendPlanNo)) { ugr.Activate(); } } } } } /// /// 取消下发 /// private void CancelDoDown() { ultraGrid2.UpdateData(); ArrayList param = new ArrayList(); IQueryable ugrs = ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (ugrs == null || ugrs.Count() == 0) { MessageUtil.ShowTips("请选择撤销下发的计划号!"); return; } string sendPlanNo = ""; foreach (UltraGridRow ugr in ugrs) { param.Add(ugr.Cells["SEND_PLAN_NO"].Text); sendPlanNo = ugr.Cells["SEND_PLAN_NO"].Text; } if (MessageBox.Show("是否撤销下发的计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth"; ccp.MethodName = "canceldoDown"; ccp.ServerParams = new object[] { param, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销下发计划成功!")) { QuerySendM(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (ugr.Cells["SEND_PLAN_NO"].Text.Equals(sendPlanNo)) { ugr.Activate(); } } } } } private void frmPipeStow_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Down")) { toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelDoDown")) { toolMenu.Toolbars[0].Tools["CancelDoDown"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("PlanClose")) { toolMenu.Toolbars[0].Tools["PlanClose"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (e.Tab.TabControl.SelectedTab.Key.Equals("0")) { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Down")) { toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelDoDown")) { toolMenu.Toolbars[0].Tools["CancelDoDown"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("PlanClose")) { toolMenu.Toolbars[0].Tools["PlanClose"].InstanceProps.Visible = DefaultableBoolean.False; } } else { if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Down")) { toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelDoDown")) { toolMenu.Toolbars[0].Tools["CancelDoDown"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("PlanClose")) { toolMenu.Toolbars[0].Tools["PlanClose"].InstanceProps.Visible = DefaultableBoolean.True; } } } /// /// 交货日期更改事件 /// /// /// private void DelvryTime_ValueChanged(object sender, EventArgs e) { GetDateTime(); } private void ultraGrid3_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { //try //{ // ultraGrid3.UpdateData(); // foreach (UltraGridRow row in ultraGrid3.Rows) // { // row.Cells["CHC"].Value = row.Selected; // } //} //catch { } foreach (UltraGridRow uRow in ultraGrid3.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { //try //{ // ultraGrid2.UpdateData(); // foreach (UltraGridRow row in ultraGrid2.Rows) // { // row.Cells["CHK"].Value = row.Selected; // } //} //catch { } foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } /// /// 按回车键触发查询按钮 /// /// /// private void ContPublic_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { DoQuery(); } } /// /// 计划关闭 /// private void doPlanClose() { ultraGrid2.UpdateData(); //UltraGridRow ugr = ultraGrid2.ActiveRow(); ArrayList param = new ArrayList(); IQueryable ugrs = ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (ugrs == null || ugrs.Count() == 0) { MessageUtil.ShowTips("请选择要关闭的计划号!"); return; } string sendPlanNo = ""; foreach (UltraGridRow ugr in ugrs) { DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth.querySendPlanBillM", new object[] { ugr.Cells["SEND_PLAN_NO"].Text }, this.ob); if (dt.Rows.Count > 0) { for (int z = 0; z < dt.Rows.Count; z++) { if (dt.Rows[z]["BILL_STATUS"].ToString().Equals("3")) { MessageUtil.ShowTips("该计划向下有提单是执行状态未关闭,不能进行次操作!"); return; } if (int.Parse(dt.Rows[z]["BILL_STATUS"].ToString()) < 3) { MessageUtil.ShowTips("该计划向下有提单未执行,请先撤销提单!"); return; //if (MessageBox.Show("该计划向下有提单未执行,是否关闭计划释放提单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; } } } //else //{ // MessageUtil.ShowTips(); // return //} //ArrayList param = new ArrayList(); param.Add(ugr.Cells["SEND_PLAN_NO"].Text); sendPlanNo = ugr.Cells["SEND_PLAN_NO"].Text; } if (MessageBox.Show("是否关闭计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainMonth"; ccp.MethodName = "planClose"; ccp.ServerParams = new object[] { param, this.UserInfo.GetUserName()}; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("计划关闭成功!")) { QuerySendM(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (ugr.Cells["SEND_PLAN_NO"].Text.Equals(sendPlanNo)) { ugr.Activate(); } } } } } private void uchkDate_CheckedChanged(object sender, EventArgs e) { if (uchkDate.Checked) { udtStart.ReadOnly = false; udtEnd.ReadOnly = false; } else { udtStart.ReadOnly = true; udtEnd.ReadOnly = true; } } } }