using com.hnshituo.core.webapp.vo;
using Common;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
namespace MeterModuleLibrary
{
public delegate void EventOpenWgt(string e);
public partial class ucCarMeterInfo : UserControl
{
public ucCarMeterInfo()
{
InitializeComponent();
}
private frmNumberKey fnk = null;
private bool bFnk = false;
private frmApplianceCheck fac = null;
private bool bFac = false;
private frmScaleQuery fah = null;
private bool bFah = false;
private frmPhNo fpn = null;
private bool bFpn = false;
public event EventOpenWgt openWgt;
public event EventOpenWgt openTareWgt;
///
/// 斗重
///
public double dWeight = 0;
public void setFormControlValue(UltraGridRow ugr)
{
txtPREDICTION_NO.Text = "";
String bussinessNo = ugr.Cells["predictionNo"].Text.Trim();
if (String.IsNullOrEmpty(bussinessNo))
{
bussinessNo = ugr.Cells["matterNo"].Text.Trim() + ugr.Cells["forwardingUnitNo"].Text.Trim() + ugr.Cells["receivingUintNo"].Text.Trim();
}
if (!String.IsNullOrEmpty(bussinessNo) && bussinessNo.Length == 9)
{
txtPREDICTION_NO.Text = bussinessNo;
}
txtMATTER_NAME.Text = ugr.Cells["matterName"].Text.Trim();
txtFORWARDING_UNIT_NAME.Text = ugr.Cells["forwardingUnitName"].Text.Trim();
txtRECEIVING_UINT_NAME.Text = ugr.Cells["receivingUintName"].Text.Trim();
lp = new List();
lp.Add(new PbModelDb { id = "matterNo", text = ugr.Cells["matterNo"].Text.Trim() });
lp.Add(new PbModelDb { id = "matterName", text = ugr.Cells["matterName"].Text.Trim() });
lp.Add(new PbModelDb { id = "forwardingUnitNo", text = ugr.Cells["forwardingUnitNo"].Text.Trim() });
lp.Add(new PbModelDb { id = "forwardingUnitName", text = ugr.Cells["forwardingUnitName"].Text.Trim() });
lp.Add(new PbModelDb { id = "receivingUintNo", text = ugr.Cells["receivingUintNo"].Text.Trim() });
lp.Add(new PbModelDb { id = "receivingUintName", text = ugr.Cells["receivingUintName"].Text.Trim() });
lp.Add(new PbModelDb { id = "meterTypeNo", text = ugr.Cells["meterTypeNo"].Text.Trim() });
lp.Add(new PbModelDb { id = "meterTypeName", text = ugr.Cells["meterTypeName"].Text.Trim() });
setAddWgtBtnVisable();
}
public void setFormControlValue(MeterWorkCarActualFirst first)
{
txtMATTER_NAME.Text = first.matterName;
txtFORWARDING_UNIT_NAME.Text = first.forwardingUnitName;
txtRECEIVING_UINT_NAME.Text = first.receivingUintName;
lp = new List();
lp.Add(new PbModelDb { id = "matterNo", text = first.matterNo });
lp.Add(new PbModelDb { id = "matterName", text = first.matterName });
lp.Add(new PbModelDb { id = "forwardingUnitNo", text = first.forwardingUnitNo });
lp.Add(new PbModelDb { id = "forwardingUnitName", text = first.forwardingUnitName });
lp.Add(new PbModelDb { id = "receivingUintNo", text = first.receivingUintNo });
lp.Add(new PbModelDb { id = "receivingUintName", text = first.receivingUintName });
lp.Add(new PbModelDb { id = "meterTypeNo", text = first.meterTypeNo });
lp.Add(new PbModelDb { id = "meterTypeName", text = first.meterTypeName });
txtBATCH_NO.Text = first.batchNo;
if (!String.IsNullOrEmpty(first.predictionNo) && first.predictionNo.Length == 9)
{
txtPREDICTION_NO.Text = first.predictionNo; //2021年6月7日 杨秀东添加,用于临时委托,存到数据库中去
}
setAddWgtBtnVisable();
//如果第一次计量是毛重
if (first.weightType == "0" && lbWgt.Visible)
{
if (first.addWeight != null && first.addWeight.Value > 0)
{
lbWgt.Text = first.addWeight.Value + "";
if (!string.IsNullOrEmpty(first.addWgtNo))
{
foreach (string str in first.addWgtNo.Split(','))
{
if (lb1.Items.Count < 7)
{
lb1.Items.Add(str);
}
else
{
lb2.Items.Add(str);
}
}
}
}
else
lbWgt.Text = "";
lbWgt.Enabled = false;
btnCheck.Visible = false;
}
}
public string getAddWgtPk = "";
private List ls = new List();
private void btnCheck_Click(object sender, EventArgs e)
{
fac = new frmApplianceCheck();
fac.ltAddWeightNo = ls == null ? null : ls;
bFac = true;
if (fac.ShowDialog() == DialogResult.OK)
{
bFac = false;
lbUTENSIL_UTENSIL_NAME.Text = "";
lbWgt.Text = "0";
lb1.Items.Clear();
lb2.Items.Clear();
getAddWgtPk = "";
DataTable dt = fac.dtChecked;
ls = fac.ltAddWeightNo;
if (dt != null && dt.Rows.Count > 0)
{
double dWgt = 0;
foreach (DataRow dr in dt.Rows)
{
if (lbUTENSIL_UTENSIL_NAME.Text == "")
{
lbUTENSIL_UTENSIL_NAME.Text = dr["utensilUtensilName"].ToString();
}
if (lb1.Items.Count < 7)
{
lb1.Items.Add(dr["utensilNo"].ToString());
}
else
{
lb2.Items.Add(dr["utensilNo"].ToString());
}
dWgt += Convert.ToDouble(dr["utensilWeight"].ToString());
getAddWgtPk += dr["addWeightNo"].ToString() + ",";
}
lbWgt.Text = dWgt + "";
openWgt(dWgt + "");
}
}
}
public string getJz()
{
string sJz = "";
foreach (string str in lb1.Items)
{
sJz += str + ",";
}
foreach (string str in lb2.Items)
{
sJz += str + ",";
}
return (sJz != "" ? sJz.Substring(0, sJz.Length - 1) : sJz);
}
public double getLbWgtValue
{
get
{
try
{
return string.IsNullOrEmpty(lbWgt.Text.Trim()) ? 0 : Convert.ToDouble(lbWgt.Text.Trim());
}
catch
{
return 0;
}
}
}
public List lp = null;
///
/// 【业务编号】按钮点击事件
///
///
///
private void btnNo_Click(object sender, EventArgs e)
{
fah = new frmScaleQuery();
bFah = true;
if (fah.ShowDialog() == DialogResult.OK)
{
bFah = false;
lp = new List();
txtPREDICTION_NO.Text = fah.strValue;
if (fah.ht != null && fah.ht.Count == 3)
{
txtMATTER_NAME.Text = fah.ht[2].text;
txtFORWARDING_UNIT_NAME.Text = fah.ht[0].text;
txtRECEIVING_UINT_NAME.Text = fah.ht[1].text;
lp.Add(new PbModelDb { id = "matterNo", text = fah.ht[2].id });
lp.Add(new PbModelDb { id = "matterName", text = fah.ht[2].text });
lp.Add(new PbModelDb { id = "forwardingUnitNo", text = fah.ht[0].id });
lp.Add(new PbModelDb { id = "forwardingUnitName", text = fah.ht[0].text });
lp.Add(new PbModelDb { id = "receivingUintNo", text = fah.ht[1].id });
lp.Add(new PbModelDb { id = "receivingUintName", text = fah.ht[1].text });
}
else
{
txtMATTER_NAME.Text = "";
txtFORWARDING_UNIT_NAME.Text = "";
txtRECEIVING_UINT_NAME.Text = "";
lp.Add(new PbModelDb { id = "matterNo", text = "" });
lp.Add(new PbModelDb { id = "matterName", text = "" });
lp.Add(new PbModelDb { id = "forwardingUnitNo", text = "" });
lp.Add(new PbModelDb { id = "forwardingUnitName", text = "" });
lp.Add(new PbModelDb { id = "receivingUintNo", text = "" });
lp.Add(new PbModelDb { id = "receivingUintName", text = "" });
}
setAddWgtBtnVisable();
#region 如果有可用期限皮,且没有一次计量数据,且当前重量大于期限皮重1000kg 则将期限皮重量填充皮重
MeterWorkCarActualFirstService workCarActualFirstService = new MeterWorkCarActualFirstService();
RESTfulResult> RESTfulResult = workCarActualFirstService.doQueryWf(new MeterWorkCarActualFirst { carNo = PbCache.collect.carno, valueFlag = "1" });
if (RESTfulResult.Succeed)
{
if (RESTfulResult.Data == null || RESTfulResult.Data.Count == 0)
{
openTareWgt("");
if (PbCache.isTermTare)
{
MeterBaseTermTareDataService termTareDate = new MeterBaseTermTareDataService();
RESTfulResult> rmD = termTareDate.doQueryWf(new MeterBaseTermTareData { carNo = PbCache.collect.carno });
if (rmD.Succeed)
{
if (rmD.Data != null && rmD.Data.Count > 0 && (PbCache.collect.weight - rmD.Data[0].meterWeight.Value >= 1000))
{
openTareWgt(rmD.Data[0].meterWeight.Value + "");
}
}
}
}
}
#endregion 如果有可用期限皮,且没有一次计量数据,且当前重量大于期限皮重1000kg 则将期限皮重量填充皮重
}
}
public string meterTypeName = "";
public void setMeterType(string meterType)
{
txtMETER_TYPE.Text = meterType;
meterTypeName = meterType;
}
#region 设置按钮是否可点击
private bool btnCheckVisible = false;
public bool BtnCheckVisible
{
get { return btnCheckVisible; }
set
{
btnCheckVisible = value;
SetText(value);
}
}
private void SetText(bool bflag)
{
if (btnCheck.InvokeRequired)
{
Action action = new Action(SetText);
Invoke(action, new object[] { bflag });
}
else
{
btnCheck.Visible = bflag;
}
}
private bool btnNoVisible = false;
public bool BtnNoVisible
{
get { return btnNoVisible; }
set
{
btnNoVisible = value;
SetNoText(value);
}
}
private void SetNoText(bool bflag)
{
if (btnCheck.InvokeRequired)
{
Action action = new Action(SetNoText);
Invoke(action, new object[] { bflag });
}
else
{
btnNo.Visible = bflag;
}
}
#endregion 设置按钮是否可点击
private void lbWgt_Enter(object sender, EventArgs e)
{
bFnk = true;
fnk = new frmNumberKey();
fnk.bControl = true;
fnk.sValue = lbWgt.Text.Trim();
if (fnk.ShowDialog() == DialogResult.OK)
{
bFnk = false;
try
{
lbWgt.Text = fnk.sValue;
}
catch { }
}
}
private void setAddWgtBtnVisable()
{
btnCheck.Visible = false;
lbWgt.Visible = false;
lbWgt.Text = "";
PbCache.addWgt = 0;
PbCache.isTermTare = false;
if (lp != null && lp.Count > 0)
{
string sql = @"select matter_no id,
allowed_tare_weight text,
allowed_add_weight text2
from meter_base_matter_info
where valid_Flag = '1' and matter_no = '" + lp[0].text + "'";
PbModelDbService> pb = new PbModelDbService>();
RESTfulResult> rm = pb.executeSqlDataWf(sql);
if (rm.Succeed)
{
if (rm.Data != null && rm.Data.Count > 0)
{
if (rm.Data[0].text == "1")
{
PbCache.isTermTare = true;
}
if (rm.Data[0].text2 == "1")
{
btnCheck.Visible = true;
lbWgt.Visible = true;
}
}
}
}
}
private void lbWgt_TextChanged(object sender, EventArgs e)
{
openWgt(lbWgt.Text.Trim());
}
private void btnPC_Click(object sender, EventArgs e)
{
bFpn = true;
fpn = new frmPhNo();
if (fpn.ShowDialog() == DialogResult.OK)
{
bFpn = false;
txtBATCH_NO.Text = string.IsNullOrEmpty(fpn.strValue) ? "" : fpn.strValue;
}
}
///
/// 批次编号
///
///
public string batchNo()
{
return txtBATCH_NO.Text.Trim();
}
///
/// 业务号
///
///
public string predictionNo()
{
return txtPREDICTION_NO.Text.Trim();
}
public void ClosingFrm()
{
try
{
if (bFnk) fnk.Close();
}
catch { }
try
{
if (bFac) fac.Close();
}
catch { }
try
{
if (bFah) fah.Close();
}
catch { }
try
{
if (bFpn) fpn.Close();
}
catch { }
}
}
}