using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.Mcp.Control.Base;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
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;
namespace Core.StlMes.Client.Mcp.Mch.MchResult
{
public partial class FrmMchSourcApp : FrmBase
{
public FrmMchSourcApp()
{
InitializeComponent();
}
private void FrmMchSourcApp_Load(object sender, EventArgs e)
{
DateTime now = DateTime.Now;
DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
DoQuery();
break;
case "AppThrough":
DoAppThrough();
break;
case "AppNotThrough":
DoAppNotThrough();
break;
case "OutsourcReturn":
DoOutsourcReturn();
break;
case "Export":
GridHelper.ulGridToExcel(ultraGrid1, "委外审批信息");
break;
case "Close":
this.Close();
break;
}
}
///
/// 查询
///
private void DoQuery()
{
if (!CheckQuery()) return;
string startTime = "";
string endTime = "";
string judgeNo = "";
string batchNo = "";
string strat = "";
if (chkTim.Checked)
{
startTime = StartTime.Value.ToString();
endTime = EndTime.Value.ToString();
}
if (chkJugeHeatNo.Checked)
{
judgeNo = txtJugeNo.Text.ToString().Trim();
}
if (chkBatch.Checked)
{
batchNo = txtBatch.Text.ToString().Trim();
}
if (chkStrat.Checked)
{
strat = cmbStrat.Value.ToString();
}
ArrayList list = new ArrayList();
list.Add(startTime);
list.Add(endTime);
list.Add(judgeNo);
list.Add(batchNo);
list.Add(strat);
DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMchSourcApp.doQuery", new object[] { list }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
}
///
/// 审批通过
///
private void DoAppThrough()
{
string plineCode="";
string plineName = "";
string spNote = "";
this.ultraGrid1.UpdateData();
IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请勾选需要审批通过的委外信息!");
return;
}
FrmOutSouCon subCon = new FrmOutSouCon(this.ob);
if (subCon.ShowDialog() == DialogResult.OK)
{
spNote=subCon.Remark;//审批说明
plineCode = subCon.PlinCode;
plineName = subCon.PlineName;
}
else
{
return;
}
ArrayList parm2 = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
ArrayList parm = new ArrayList();
parm.Add(spNote);
parm.Add(plineCode);
parm.Add(plineName);
parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
parm.Add(this.UserInfo.GetUserName());
parm.Add(this.UserInfo.GetUserGroup());
parm.Add(this.UserInfo.GetUserOrder());
parm2.Add(parm);
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认审批通过?") == DialogResult.No) return;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
ccp.MethodName = "doAppThrough";
ccp.ServerParams = new object[] { parm2 };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("审批通过成功!"))
{
DoQuery();
}
}
}
///
/// 审批不通过
///
private void DoAppNotThrough()
{
string plineCode = "";
string plineName = "";
string spNote = "";
this.ultraGrid1.UpdateData();
IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请勾选需要审批不通过的委外信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认审批不通过?") == DialogResult.No) return;
FrmOutSouCon subCon = new FrmOutSouCon(this.ob);
if (subCon.ShowDialog() == DialogResult.OK)
{
spNote = subCon.Remark;//审批说明
plineCode = subCon.PlinCode;
plineName = subCon.PlineName;
}
else
{
return;
}
ArrayList parm2 = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
ArrayList parm = new ArrayList();
parm.Add(spNote);
parm.Add(plineCode);
parm.Add(plineName);
parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
parm.Add(this.UserInfo.GetUserName());
parm.Add(this.UserInfo.GetUserGroup());
parm.Add(this.UserInfo.GetUserOrder());
parm.Add(row.Cells["RESULT_NO"].Text.ToString());
parm2.Add(parm);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
ccp.MethodName = "doAppNotThrough";
ccp.ServerParams = new object[] { parm2 };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("审批不通过成功!"))
{
DoQuery();
}
}
}
///
/// 委外回报
///
private void DoOutsourcReturn()
{
this.ultraGrid1.UpdateData();
IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (checkMagRows.Count() == 0)
{
MessageUtil.ShowTips("请勾选需要回报的委外信息!");
return;
}
ArrayList parm2 = new ArrayList();
foreach (UltraGridRow row in checkMagRows)
{
if (row.Cells["HB_COMPLETE_NUM"].Value.ToString().Equals("0"))
{
MessageUtil.ShowTips("请输入委外回报支数!");
return;
}
if (row.Cells["HB_COMPLETE_WT"].Value.ToString().Equals("0"))
{
MessageUtil.ShowTips("请输入委外回报重量!");
return;
}
ArrayList parm = new ArrayList();
parm.Add(row.Cells["HB_COMPLETE_NUM"].Value.ToString());
parm.Add(row.Cells["HB_COMPLETE_WT"].Value.ToString());
parm.Add(row.Cells["HB_FP_NUM"].Text.ToString());
parm.Add(row.Cells["HB_FP_WT"].Text.ToString());
parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
parm.Add(this.UserInfo.GetUserName());
parm.Add(this.UserInfo.GetUserGroup());
parm.Add(this.UserInfo.GetUserOrder());
parm.Add(row.Cells["RESULT_NO"].Text.ToString());
parm2.Add(parm);
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认委外回报?") == DialogResult.No) return;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
ccp.MethodName = "doOutsourcReturn";
ccp.ServerParams = new object[] { parm2 };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("委外回报成功!"))
{
DoQuery();
}
}
}
///
/// 数据验证
///
///
private bool CheckQuery()
{
if (DataTimeUtil.JudgeTime(DateTime.Parse(StartTime.Value.ToString()), DateTime.Parse(EndTime.Value.ToString())) == 0)
{
MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
return false;
}
if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim()))
{
MessageUtil.ShowWarning("请输入炉号!");
return false;
}
if (this.chkBatch.Checked && string.IsNullOrEmpty(this.txtBatch.Text.Trim()))
{
MessageUtil.ShowWarning("请输入生产批号!");
return false;
}
if (this.chkStrat.Checked && string.IsNullOrEmpty(this.cmbStrat.Text.Trim()))
{
MessageUtil.ShowWarning("请选择委外状态!");
return false;
}
return true;
}
private void chkTim_CheckedChanged(object sender, EventArgs e)
{
if (chkTim.Checked) { StartTime.Enabled = true; EndTime.Enabled = true; } else { StartTime.Enabled = false; EndTime.Enabled = false; }
if (chkJugeHeatNo.Checked) { txtJugeNo.Enabled = true; } else { txtJugeNo.Enabled = false; }
if (chkBatch.Checked) { txtBatch.Enabled = true; } else { txtBatch.Enabled = false; }
if (chkStrat.Checked) { cmbStrat.Enabled = true; } else { cmbStrat.Enabled = false; }
}
///
/// ultraGrid1改变事件
///
///
///
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
//委外回报合格支
if (e.Cell.Column.Key.Equals("HB_COMPLETE_NUM"))
{
if (e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value == null)
{
e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
}
else
{
ultraGrid1.UpdateData();
string hbConNum = e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString();
if (!StringUtil.IsInt(hbConNum) || hbConNum == "0")
{
e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
}
if (int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString()) > int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString()))
{
e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
}
e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = ((double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) / int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString())) * int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString())).ToString("f3");
e.Cell.Row.Cells["HB_FP_NUM"].Value = int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString()) - int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString());
e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3");
}
}
//委外回报合格吨
if (e.Cell.Column.Key.Equals("HB_COMPLETE_WT"))
{
if (e.Cell.Row.Cells["HB_COMPLETE_WT"].Value == null)
{
e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
}
else
{
ultraGrid1.UpdateData();
string hbConWt = e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString();
if (!StringUtil.IsFloat(hbConWt) || hbConWt == "0")
{
e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
}
if (double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString()) > double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString()))
{
e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
}
e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3");
}
}
}
}
}