using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Format;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.PlnSaleOrd.炼钢计划;
using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity;
using CoreFS.CA06;
namespace Core.StlMes.Client.PlnSaleOrd
{
public partial class FrmSteelMakingPlan : FrmBase
{
public FrmSteelMakingPlan()
{
InitializeComponent();
this.IsLoadUserView = true;
//注册控件激活行事件
controlCastPlan1.ultraGridCast.AfterRowActivate += ultraGridCast_AfterRowActivate;
}
///
/// 激活行事件
///
///
///
void ultraGridCast_AfterRowActivate(object sender, EventArgs e)
{
PlnSteelforcastEntity entity = controlCastPlan1.GetActiveRow();
if (entity == null)
{
controlFurNacePlan1.ClearFurnace();
}
else
{
string castno = entity.CastNo;
controlFurNacePlan1.QueryFurnaceByCastno(castno, this.ob);
}
}
private void FrmSteelMakingPlan_Load(object sender, EventArgs e)
{
SteelHelper.InitStatus(comStatus);
InitDate();
}
///
/// 初始时间
///
private void InitDate()
{
dateBegintime.Value = DateTime.Now.AddDays(-60);
dateEndtime.Value = DateTime.Now.AddDays(1).AddSeconds(-1);
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query"://查询浇次
Query();
break;
case "Update"://浇次编制
Update();
break;
case "Delete"://删除浇次
Delete();
break;
case "Export"://导出
Export();
break;
case "TimeSet"://时间调制
TimeSet();
break;
case "Close"://关闭
this.Close();
break;
case "Adjust"://炉次订单调整
Adjust();
break;
case "Down"://下发
Down("1");
break;
case "Rollback"://取消下发
Down("2"); ;
break;
default:
break;
}
}
private void Down(string flag)
{
ArrayList entityList = controlCastPlan1.GetChcRow();
if (entityList == null) { MessageUtil.ShowWarning("请选择浇次!"); return; }
ArrayList jsonList = new ArrayList();
foreach (PlnSteelforcastEntity entity in entityList)
{
if (flag.Equals("1"))
{
if (!entity.Status.Equals("编制中"))
{
MessageUtil.ShowWarning("不是编制中状态的浇次,不能下发!");
return;
}
}
else
{
if (!entity.Status.Equals("下发"))
{
MessageUtil.ShowWarning("不是下发状态的浇次,不能取消下发!");
return;
}
}
jsonList.Add(JSONFormat.Format(entity));
}
if (MessageUtil.ShowYesNoAndQuestion(flag == "1" ? "是否下发?" : "是否取消下发?") == DialogResult.No)
{
return;
}
string[] param = SteelHelper.SetData("com.steering.pss.plnsaleord.steelMarkingPlan.ControlCastPlan.changeStatus", new object[] { jsonList, flag, UserInfo.GetUserName() }, this.ob);
if (param == null)
{ MessageUtil.ShowTips("服务端处理失败!"); }
else
{
MessageUtil.ShowTips(param[1]);
if ((bool.Parse(param[0])))
{ //刷新数据
Query();
}
}
}
///
/// 调整炉次订单
///
private void Adjust()
{
ArrayList entityList = controlFurNacePlan1.GetChildChcRow();
if (entityList == null||entityList.Count==0)
{
MessageUtil.ShowWarning("请选择需要调整的炉次订单!");
return;
}
ArrayList jsonList = new ArrayList();
foreach (PlnSteelforOrdEntity entity in entityList)
{
if (!entity.Status.Equals("编制中"))
{
MessageUtil.ShowWarning("只有编制中状态的炉次订单才能调整!");
return;
}
if (!entity.Surplusflag.Equals("订单材"))
{
MessageUtil.ShowWarning("只有订单材的炉次订单才能调整!");
return;
}
if (entity.TotWeightM == null || Convert.ToDouble(entity.TotWeightM.ToString()) <= 0)
{
MessageUtil.ShowWarning("炉次订单重量必须大于0!");
return;
}
jsonList.Add(JSONFormat.Format(entity));
}
if (MessageUtil.ShowYesNoAndQuestion("是否调整炉次订单?") == DialogResult.No)
{
return;
}
string[] param = SteelHelper.SetData("com.steering.pss.plnsaleord.steelMarkingPlan.ControlCastPlan.adjustSteeelord", new object[] { jsonList, UserInfo.GetUserName() }, this.ob);
if (param == null)
{ MessageUtil.ShowTips("服务端处理失败!"); }
else
{
MessageUtil.ShowTips(param[1]);
if ((bool.Parse(param[0])))
{ //刷新数据
Query();
}
}
}
///
/// 查询计划
///
private void Query()
{
string beginTime = "";
string endTime = "";
if (chcMaketime.Checked && dateBegintime.Value != null && dateEndtime.Value != null)
{
beginTime = DateTime.Parse(dateBegintime.Value.ToString()).ToString("yyyy-MM-dd hh:mm:ss");
endTime = DateTime.Parse(dateEndtime.Value.ToString()).ToString("yyyy-MM-dd hh:mm:ss");
}
string castno = "";
if (chcCastno.Checked)
{
castno = txtCastno.Text.Trim();
}
string furnaceno = "";
if (chcFurnaceno.Checked)
{
furnaceno = txtFurnaceno.Text.Trim();
}
string status = "";
if (chcStatus.Checked && comStatus.Value != null) { status = comStatus.Value.ToString(); }
controlCastPlan1.QueryCast(beginTime, endTime, castno, furnaceno, status, this.ob);
if (controlCastPlan1.ultraGridCast.Rows.Count == 0)
{
controlFurNacePlan1.ClearFurnace();
}
}
///
/// 导出计划
///
private void Export()
{
GridHelper.ulGridToExcel(controlFurNacePlan1.ultraGridFurName, "炉次信息");
}
///
/// 时间设置
///
private void TimeSet()
{
}
///
/// 删除计划
///
private void Delete()
{
ArrayList entityList = controlCastPlan1.GetChcRow();
if (entityList == null || entityList.Count == 0)
{
MessageUtil.ShowWarning("请选择要删除的浇次!");
return;
}
ArrayList castnoList = new ArrayList();
foreach (PlnSteelforcastEntity entity in entityList)
{
if (!entity.Status.Equals("编制中"))
{
MessageUtil.ShowWarning("浇次(" + entity.CastNo + ")不是编制中状态,不能删除!");
return;
}
castnoList.Add(entity.CastNo);
}
if (MessageUtil.ShowYesNoAndQuestion("是否删除浇次?") == DialogResult.No) { return; }
string[] param = SteelHelper.SetData("com.steering.pss.plnsaleord.steelMarkingPlan.ControlCastPlan.deleteCast", new object[] { castnoList }, this.ob);
if (param == null)
{ MessageUtil.ShowTips("服务端处理失败!"); }
else
{
MessageUtil.ShowTips(param[1]);
if ((bool.Parse(param[0])))
{ //刷新数据
Query();
}
}
}
///
/// 回退计划
///
private void RollBack()
{
}
///
/// 编制计划
///
private void Update()
{
FrmSteelMakingPlanChange planDesign = new FrmSteelMakingPlanChange();
planDesign.Show();
}
private void chcStatus_CheckedChanged(object sender, EventArgs e)
{
if (chcStatus.Checked) { comStatus.ReadOnly = false; } else { { comStatus.ReadOnly = true; } }
}
private void chcMaketime_CheckedChanged(object sender, EventArgs e)
{
if (chcMaketime.Checked) { dateBegintime.ReadOnly = false; dateEndtime.ReadOnly = false; } else { dateBegintime.ReadOnly = true; dateEndtime.ReadOnly = true; }
}
}
}