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;
}
}
}
}