| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494 |
- using com.hnshituo.core.webapp.vo;
- using Common;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using JC_MeasuringSystem;
- using MeterConditionLibrary;
- using MeterPlugInLibrary;
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Media;
- using System.Net;
- using System.Reflection;
- using System.Windows.Forms;
- namespace StorageMeterSystem
- {
- public partial class frmMain : Form
- {
- #region
- private string rk_CurPath = Application.StartupPath; //System.Environment.CurrentDirectory;//获取到当前路径
- private SoundPlayer play_ls = null;
- private string computerSound = ConfigurationManager.AppSettings["ComputerSound"]?.ToString().Trim();
- private decimal iCntTime = 0;
- private List<StorageCollectModel> ltScModel = new List<StorageCollectModel>();
- private BaseDbCls bd = new BaseDbCls();
- private Log l = Log.GetInstance();
- private CoreAppUser appUser = null;
- private int iPic = 0;
- private bool bSaveFlag = false;
- private ProductDataControl collection = new ProductDataControl();
- private MeterWorkStorageActualService actualService = new MeterWorkStorageActualService();
- private MeterWorkCalibrationMainService calibrationMainService = new MeterWorkCalibrationMainService();
- private PbModelDbService<string> PbModelDbService = new PbModelDbService<string>();
- private MeterMonitorNoteService noteService = new MeterMonitorNoteService();
- //Led控制
- private LED_Control led_controler = null;
- private string _controlIp = "";
- #endregion
- public frmMain()
- {
- InitializeComponent();
- }
- #region 事件处理
- private void frmMain_Load(object sender, EventArgs e)
- {
- ucStorageWeightKg2.Visible = false;
- cbPC.SelectedIndex = 0;
- ValueList vlistFlag1 = new ValueList();
- vlistFlag1.ValueListItems.Add("1", "校秤失败");
- vlistFlag1.ValueListItems.Add("2", "校秤成功");
- vlistFlag1.ValueListItems.Add("3", "正在校秤");
- this.ultraGridJl.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag1;
- ValueList vlistFlag2 = new ValueList();
- vlistFlag2.ValueListItems.Add("1", "成功");
- vlistFlag2.ValueListItems.Add("2", "失败");
- this.ultraGridJl.DisplayLayout.Bands[1].Columns["valueFlag"].ValueList = vlistFlag2;
- ValueList vlistFlag3 = new ValueList();
- vlistFlag3.ValueListItems.Add("0", "作废");
- vlistFlag3.ValueListItems.Add("1", "有效");
- this.ultraGridSj.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag3;
- _controlIp = GetIP();
- appUser = ((ST_MainForm)(this.MdiParent)).AppUser;
- if (!bd.setBaseDb() || !bd.getBaseDb())
- {
- MessageBox.Show("基础数据载入失败,请稍后重试,或联系管理员");
- return;
- }
- DataTable dt = dtJGPointInfo.Clone();
- string strPointKeys = "";
- foreach (MeterBaseSpotInfo mbsi in PbStorageCache.sportInfos)
- {
- List<MeterWorkStockOnline> lm = PbStorageCache.ltMonitor.Where(s => s.baseSpotNo == mbsi.baseSpotNo).ToList();
- if (lm != null && lm.Count > 0)
- {
- strPointKeys += lm[0].pointNo + ","; //Meter_Work_Stock_Online表配置了需采集的信息
- DataRow dr = dt.NewRow();
- dr["baseSpotNo"] = mbsi.baseSpotNo;
- dr["baseSpotName"] = mbsi.baseSpotName;
- dr["validFlag"] = string.IsNullOrEmpty(mbsi.controlIp) ? "未接管" : "已接管";
- dr["controlIp"] = mbsi.controlIp;
- dr["weightDiff"] = lm[0].weightDiff;
- dt.Rows.Add(dr);
- }
- }
- strPointKeys = strPointKeys.Length > 0 ? strPointKeys.Substring(0, strPointKeys.Length - 1) : "";
- ClsControlPack.CopyDataToDatatable(ref dt, ref this.dtJGPointInfo, true);
- ClsControlPack.RefreshAndAutoSize(ultraGridPW);
- #region
- string sql = @"SELECT base_code baseCode,base_name baseName,memo FROM Com_Base_Info where p_base_code='001025' and valid_Flag='1'";
- PbModelDbService<List<ComBaseInfo>> pb = new PbModelDbService<List<ComBaseInfo>>();
- RESTfulResult<List<ComBaseInfo>> rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- ClsControlPack.SetUltraComboDataSource(cmbMatterNo, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
- }
- else
- {
- MessageBox.Show("产品信息载入失败");
- return;
- }
- sql = @"SELECT base_code baseCode,base_name baseName,memo FROM Com_Base_Info where p_base_code='001026' and valid_Flag='1'";
- rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- ClsControlPack.SetUltraComboDataSource(cmbGrade, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
- }
- else
- {
- MessageBox.Show("牌号载入失败");
- return;
- }
- sql = @"SELECT base_code baseCode,base_name baseName,memo FROM Com_Base_Info where p_base_code='001027' and valid_Flag='1'";
- rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- ClsControlPack.SetUltraComboDataSource(cmbStandard, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
- }
- else
- {
- MessageBox.Show("标准载入失败");
- return;
- }
- //cmbBUCKET_NO 桶信息
- //sql = @"select utensil_no,utensil_name,utensil_weight,utensil_type_no,utensil_utensil_name from Meter_Base_Add_Weight where value_flag = '0' and utensil_type_no = '001009001'";
- sql = @"select utensil_name baseName,utensil_weight baseCode from Meter_Base_Add_Weight where value_flag = '0' and utensil_type_no = '001009002'";
- rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- ClsControlPack.SetUltraComboDataSource(cmbBUCKET_NO, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
- }
- else
- {
- MessageBox.Show("桶类型载入失败");
- return;
- }
- //cmbDH 斗号
- //sql = @"select utensil_no,utensil_name,utensil_weight,utensil_type_no,utensil_utensil_name from Meter_Base_Add_Weight where value_flag = '0' and utensil_type_no = '001009001'";
- sql = @"select utensil_no baseName,utensil_weight baseCode from Meter_Base_Add_Weight where value_flag = '0' and utensil_type_no = '001009001'";
- rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- ClsControlPack.SetUltraComboDataSource(cmbDH, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
- }
- else
- {
- MessageBox.Show("斗号载入失败");
- return;
- }
- #endregion
- collection.EventDataCollectionArgs += new ProductDataCollection(EventData);
- collection.Start(strPointKeys.Split(','));
- timer1.Start();
- timer2.Start();
- //ClsControlPack.SetUltraGridRowFilter(ref ultraGridSj, true);
- }
- private int iLedWrite = 0;
- public void EventData(object o, List<StorageCollectModel> lt)
- {
- //这里每隔0.5秒执行一次
- try
- {
- if (!bSaveFlag)
- {
- PbStorageCache.ltCollect = lt;
- foreach (StorageCollectModel sm in PbStorageCache.ltCollect)
- {
- setGridColorInfo(ultraGridPW, sm);
- if (PbStorageCache.sportInfo == null)
- {
- ucStorageWeightKg1.setWgt(0);
- ucStorageWeightKg1.setStable(true);
- ucStorageWeightKg2.setWgt(0);
- ucStorageWeightKg2.setStable(true);
- }
- //我在deleteManNo中存的是CAR20之类的数据
- if (PbStorageCache.sportInfo != null && PbStorageCache.sportInfo.deleteManNo == sm.pointid)
- {
- if (!bTest)
- {
- iLedWrite++;
- if (pDHSelected.bFlag && !pBucketSelected.bFlag)
- {
- txtNetWgt.Invoke(new Action(() =>
- {
- txtNetWgt.Value = (decimal)sm.mainWgt - pDHSelected.dValue;
- }));
- if (iLedWrite % 2 == 0)
- {
- led_controler.setStaticLineMsg(PbStorageCache.sportInfo.ledIp, Math.Round(sm.mainWgt, 1) + "kg");
- iLedWrite = 0;
- }
- }
- else if (!pDHSelected.bFlag && pBucketSelected.bFlag)
- {
- txtNetWgt.Invoke(new Action(() =>
- {
- txtNetWgt.Value = Math.Round((decimal)sm.mainWgt - pBucketSelected.dValue, 1);
- }));
- //如果选择了桶类型,那么显示的重量是当前重量-皮重,否则显示毛重
- if (iLedWrite % 2 == 0)
- {
- led_controler.setStaticLineMsg(PbStorageCache.sportInfo.ledIp, Math.Round(((decimal)sm.mainWgt - pBucketSelected.dValue), 1) + "kg");
- iLedWrite = 0;
- }
- }
- else
- {
- //如果录入了净重的情况
- if (netWgt > 0)
- {
- txtTARE_WEIGHT.Invoke(new Action(() =>
- {
- txtTARE_WEIGHT.Value = Math.Round((decimal)sm.mainWgt - netWgt, 1);
- }));
- }
- if (iLedWrite % 2 == 0)
- {
- led_controler.setStaticLineMsg(PbStorageCache.sportInfo.ledIp, Math.Round(sm.mainWgt, 1) + "kg");
- iLedWrite = 0;
- }
- }
- ucStorageWeightKg1.setWgt(Math.Round(sm.mainWgt, 1));
- ucStorageWeightKg1.setStable(sm.mainWeightStatus != 1 ? true : false);
- ucStorageWeightKg2.setWgt(Math.Round(sm.viceWgt, 1));
- ucStorageWeightKg2.setStable(sm.mainWeightStatus != 1 ? true : false);
- PbStorageCache.collect = sm;
- }
- }
- }
- }
- }
- catch (Exception ex)
- {
- l.WriteLog(0, "frmMeterMain.EventData异常8:" + ex.Message);
- }
- }
- private void btnOpenVoice_Click(object sender, EventArgs e)
- {
- if (panel1.Controls.Count > 0)
- {
- if (btnOpenVoice.Text == "打开对讲")
- {
- VoiceOpen();
- }
- else
- {
- VoiceClose();
- }
- }
- }
- /// <summary>
- /// 放大图像
- /// </summary>
- private void PictureBoxDoubleClick(object sender, EventArgs e)
- {
- if (iPic != 0)
- {
- if (PbStorageCache.sportInfo != null && PbStorageCache.sportInfo.baseSpotNo == "00015")
- cameraShotMain.StopRealPlay(iPic + 2);
- else
- cameraShotMain.StopRealPlay(iPic);
- }
- PictureBox picture = (PictureBox)sender;
- iPic = Convert.ToInt32(picture.Name.Substring(picture.Name.Length - 1, 1));
- plImgShow.Visible = true;
- if (PbStorageCache.sportInfo != null && PbStorageCache.sportInfo.baseSpotNo == "00015")
- cameraShotMain.RealPlay(pictureShow, iPic + 2);
- else
- cameraShotMain.RealPlay(pictureShow, iPic);
- }
- /// <summary>
- /// 不显示大图
- /// </summary>
- private void pictureShow_DoubleClick(object sender, EventArgs e)
- {
- plImgShow.Visible = false;
- if (PbStorageCache.sportInfo != null && PbStorageCache.sportInfo.baseSpotNo == "00015")
- cameraShotMain.StopRealPlay(iPic + 2);
- else
- cameraShotMain.StopRealPlay(iPic);
- iPic = 0;
- }
- private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
- {
- timer1.Stop();
- timer2.Stop();
- try
- {
- collection.Stop();
- }
- catch { }
- try
- {
- Clean();
- }
- catch { }
- }
- private validCalibration vCalib = new validCalibration();
- private void btnSave_Click(object sender, EventArgs e)
- {
- btnClickSave();
- }
- private bool btnSaveFlag = false;
- private void btnClickSave()
- {
- if (PbStorageCache.sportInfo == null) return;
- if (btnSaveFlag) return;
- #if DEBUG
- PbCache.isNotValid = true;
- #endif
- string msgInfo = "";
- bool isCalibration = vCalib.ValidMethod(new MeterWorkCalibrationMain { baseSpotNo = PbStorageCache.sportInfo.baseSpotNo, valueFlag = "2" }, out msgInfo);
- if (!isCalibration)
- {
- txtMsgInfo.Text = msgInfo;
- return;
- }
- #region
- if (ucStorageWeightKg1.getWgt() < 10)
- {
- //MessageBox.Show("当前重量小于10kg无法计量");
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, "当前重量过小");
- txtMsgInfo.Text = "当前重量过小,无法计量";
- SoudVoice("重量过小.wav");
- return;
- }
- if (cmbMatterNo.Value == null)
- {
- //MessageBox.Show("请选择产品名称");
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, "请先选择产品");
- txtMsgInfo.Text = "请选择产品名称,再进行计量";
- SoudVoice("请选择产品名称.wav");
- return;
- }
- if (cmbGrade.Value == null)
- {
- //MessageBox.Show("请选择牌号");
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, "请先选择牌号");
- txtMsgInfo.Text = "请选择牌号,再进行计量";
- SoudVoice("请选择牌号.wav");
- return;
- }
- if (cmbStandard.Value == null)
- {
- //MessageBox.Show("请选择标准");
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, "请先选择标准");
- txtMsgInfo.Text = "请选择标准,再进行计量";
- SoudVoice("请选择标准.wav");
- return;
- }
- string strMs = "";
- if (ucStorageWeightKg2.Visible)
- {
- double d = Math.Round(Convert.ToDouble(PbStorageCache.sportInfo.deleteManName), 2);
- if (Math.Round(Math.Abs(ucStorageWeightKg1.getWgt() - ucStorageWeightKg2.getWgt()), 1) > d)
- {
- strMs = string.Format("双秤差值大于设定值{0}kg,无法计量", d);
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, strMs);
- txtMsgInfo.Text = strMs;
- SoudVoice("双秤差值大于设定值.wav");
- return;
- }
- }
- #endregion
- bSaveFlag = true;
- //DialogResult dr = MessageBox.Show(strMs + "是否确认保存当前计量数据?", "提示", MessageBoxButtons.OKCancel);
- //if (dr == DialogResult.OK)
- {
- btnCheckBalance.Enabled = false;
- btnOpenVoice.Enabled = false;
- btnSave.Enabled = false;
- try
- {
- string actNo = "";
- bool flag = SaveDB(out actNo);
- if (flag)
- {
- btnSaveFlag = true;
- #region 截取图片信息
- try
- {
- //* 截取屏幕信息
- Point screenPoint = this.PointToScreen(new Point());
- Rectangle rect = new Rectangle(screenPoint, this.Size);
- Image img = new Bitmap(rect.Width, rect.Height);
- Graphics g = Graphics.FromImage(img);
- g.CopyFromScreen(rect.X - 1, rect.Y - 1, 0, 0, rect.Size);//"D://file/1.jpg"
- img.Save(string.Format("{0}imgShort\\formalImg\\{1}_{2}_{3}.jpg",
- AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
- PbStorageCache.sportInfo.baseSpotNo,
- "S" + actNo,
- (PbStorageCache.videoChild.Count + 1)), System.Drawing.Imaging.ImageFormat.Jpeg);
- /* 最后进行截图操作
- CameraShotCls cameraShot = new CameraShotCls();
- cameraShot.CapMethod(actNo);
- //*/
- //循环摄像头,然后根据摄像头有多少,则取硬盘录像机多少个通道数据
- for (uint i = 1; i <= CarCache.cameraShots.Count; i++)
- {
- cameraShotMain.CapPicFromVideo(i,
- string.Format("{0}\\imgShort\\formalImg\\{1}_{2}_{3}",
- AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
- PbStorageCache.sportInfo.baseSpotNo,
- "S" + actNo, i)
- );
- }
- }
- catch (Exception ex)
- {
- l.WriteLog(8, "截图失败");
- }
- #endregion
- try
- {
- QueryInfo();
- }
- catch { }
- #region 数据清理
- //cmbDH.Text = "";
- //cmbBUCKET_NO.Text = "";
- //txtCOMBIN_NO.Text = "";
- //txtMEMO.Text = "";
- #endregion
- try
- {
- txtPACKAGE_NO.Text = txtPACKAGE_NO.Text.Trim() == "" ? "1" : (Convert.ToInt32(txtPACKAGE_NO.Text.Trim()) + 1) + "";
- try
- {
- txtSEAL_NO.Text = txtSEAL_NO.Text.Trim() == "" ? "" : (txtSEAL_NO.Text.Trim().Length > 3 ? (txtSEAL_NO.Text.Trim().Substring(0, 3) + (Convert.ToInt32(txtSEAL_NO.Text.Trim().Substring(3, txtSEAL_NO.Text.Trim().Length - 3)) + 1 + "").PadLeft(3, '0')) : "");
- }
- catch { }
- }
- catch { }
- SoudVoice("称重完成.wav");
- }
- }
- catch (Exception ex)
- {
- txtMsgInfo.Text = "保存失败:" + ex.Message.Trim();
- l.WriteLog(8, "保存失败:" + ex.Message.Trim());
- }
- }
- bSaveFlag = false;
- }
- private void btnCheckBalance_Click(object sender, EventArgs e)
- {
- if (PbStorageCache.collect != null)
- {
- if (ucStorageWeightKg1.getWgt() < 10)
- {
- MessageBox.Show("当前重量小于10kg无法校秤");
- return;
- }
- frmCalibration fc = new frmCalibration();
- fc.cameraShotMain = cameraShotMain;
- fc.userId = appUser.userid;
- fc.userName = appUser.username;
- if (fc.ShowDialog() == DialogResult.OK)
- {
- txtMsgInfo.Text = "校秤完成";
- QueryXC();
- }
- }
- }
- private bool SaveDB(out string actNo)
- {
- actNo = "";
- MeterWorkStorageActual mwraf = new MeterWorkStorageActual();
- #if DEBUG
- mwraf.predictionNo = DateTime.Now.ToString("yyyyMMddHHmmssfff");
- #endif
- mwraf.batchNo = txtBATCH_NO.Text.Trim();
- mwraf.memo = txtMEMO.Text.Trim();
- mwraf.valueFlag = "1";
- mwraf.checkFlag = "0";
- mwraf.createManNo = appUser.userid;
- mwraf.createManName = appUser.username;
- mwraf.createTime = DateTime.Now;
- mwraf.productNo = cmbMatterNo.Value.ToString();
- mwraf.productName = cmbMatterNo.Text.Trim();
- mwraf.gradeNo = cmbGrade.Value.ToString();
- mwraf.gradeName = cmbGrade.Text.Trim();
- mwraf.standardNo = cmbStandard.Value.ToString();
- mwraf.standardName = cmbStandard.Text.Trim();
- mwraf.packageNo = txtPACKAGE_NO.Text.Trim();
- mwraf.blockNum = txtBLOCK_NUM.Value + "";
- mwraf.productDate = txtPRODUCT_DATE.Value;
- mwraf.sealNo = txtSEAL_NO.Text;
- mwraf.deleteManName = txtMEMO.Text.Trim() != "" ? (txtMEMO.Text.Trim() + "|" + cmbBUCKET_NO.Text) : cmbBUCKET_NO.Text; //不记录选的是哪个桶类型或者斗信息
- if (cmbDH.Text.Trim() != "")
- {
- mwraf.memo = mwraf.memo != "" ? (mwraf.memo + "|斗号:" + cmbDH.Text.Trim()) : ("斗号:" + cmbDH.Text.Trim());
- }
- if (cmbBUCKET_NO.Text.Trim() != "")
- {
- mwraf.memo = mwraf.memo != "" ? (mwraf.memo + "|桶类型:" + cmbBUCKET_NO.Text.Trim()) : ("桶类型:" + cmbBUCKET_NO.Text.Trim());
- }
- mwraf.grossWeight = PbStorageCache.collect.mainWgt;
- mwraf.tareWeight = Convert.ToDouble(txtTARE_WEIGHT.Value);
- mwraf.combinPackageNo = txtCOMBIN_NO.Text.Trim();
- //mwraf.weightType = "0";
- mwraf.baseSpotNo = PbStorageCache.sportInfo.baseSpotNo;
- mwraf.baseSpotName = PbStorageCache.sportInfo.baseSpotName;
- mwraf.actualWeight = PbStorageCache.collect.mainWgt;
- mwraf.netWeight = mwraf.grossWeight - mwraf.tareWeight;
- #region eason add 好像存在皮重计算存在小数差值问题,所以如果录入了净重,则皮重是毛-净
- if (netWgt > 0)
- {
- mwraf.netWeight = Math.Round((double)netWgt, 1);
- mwraf.tareWeight = mwraf.grossWeight - mwraf.netWeight;
- }
- #endregion
- #region 2021-06-24 add
- if (txtBucketNo.Value > 0 && txtBucketAddValue.Value > 0)
- {
- if (txtBucketAddValue.Value > 1)
- {
- mwraf.bucketNo = txtBucketNo.Value + "-" + (txtBucketNo.Value + txtBucketAddValue.Value - 1);
- }
- else
- {
- mwraf.bucketNo = txtBucketNo.Value + "";
- }
- txtBucketNo.Value += txtBucketAddValue.Value;
- }
- else if (txtBucketNo.Value > 0)
- {
- mwraf.bucketNo = txtBucketNo.Value + "";
- }
- #endregion
- if (ucStorageWeightKg2.Visible)
- {
- mwraf.referWeight = PbStorageCache.collect.viceWgt;
- }
- RESTfulResult<string> rm = actualService.doAddWf(mwraf);
- if (rm.Succeed)
- {
- actNo = rm.Data;
- setMsgInfo(txtMsgInfo, "保存成功", "");
- return true;
- }
- else
- {
- setMsgInfo(txtMsgInfo, "保存失败:" + rm.Message, "");
- l.WriteLog(8, "保存失败:" + rm.Message);
- return false;
- }
- }
- private void QueryInfo()
- {
- if (PbStorageCache.sportInfo != null)
- {
- DataTable dtSj = dataTable1.Clone();
- RESTfulResult<List<MeterWorkStorageActual>> rms = actualService.doQueryWf(new MeterWorkStorageActual { valueFlag = "1", baseSpotNo = PbStorageCache.sportInfo.baseSpotNo });
- if (rms.Succeed && rms.Data != null && rms.Data.Count > 0)
- {
- dtSj = rms.Data.ListToDataTable<MeterWorkStorageActual>();
- ClsControlPack.CopyDataToDatatable(ref dtSj, ref dataTable1, true);
- ClsControlPack.RefreshAndAutoSize(ultraGridSj);
- foreach (UltraGridRow ugr in ultraGridSj.Rows)
- {
- if (ugr.Cells["valueFlag"].Value.ToString() == "0")
- {
- ugr.Appearance.BackColor = Color.Red;
- }
- else
- {
- ugr.Appearance.BackColor = Color.White;
- }
- }
- }
- }
- }
- /// <summary>
- /// 校秤数据查下
- /// </summary>
- private void QueryXC()
- {
- if (PbStorageCache.sportInfo != null)
- {
- DataTable dtJlM = dtCalibration.Clone();
- DataTable dtJlC = dtBranch.Clone();
- //dtCalibration dtBranch
- CommonPage<MeterWorkCalibrationMain> cpc = new CommonPage<MeterWorkCalibrationMain>();
- MeterWorkCalibrationMain mwca = new MeterWorkCalibrationMain();
- mwca.baseSpotNo = PbStorageCache.sportInfo.baseSpotNo;
- cpc.param = mwca;
- cpc.pageNum = 1;
- cpc.pageSize = 10;
- RESTfulResult<PbGetSomeModel<MeterWorkCalibrationMain, MeterWorkCalibrationBranch>> rms = calibrationMainService.doQuerySomeWf(cpc);
- if (rms.Succeed && rms.Data != null)
- {
- dtJlM = rms.Data.one.ListToDataTable<MeterWorkCalibrationMain>();
- dtJlC = rms.Data.two.ListToDataTable<MeterWorkCalibrationBranch>();
- dtBranch.Clear();
- dtCalibration.Clear();
- ClsControlPack.CopyDataToDatatable(ref dtJlM, ref dtCalibration, true);
- ClsControlPack.CopyDataToDatatable(ref dtJlC, ref dtBranch, true);
- ClsControlPack.RefreshAndAutoSize(ultraGridJl, true);
- }
- }
- }
- #endregion
- #region 数据初始清理
- private void Clean()
- {
- updateSport("");
- if (PbStorageCache.sportInfo != null)
- {
- led_controler.setProductOneLineMsg(PbStorageCache.sportInfo.ledIp, "欢迎使用九钢智能计量系统");
- }
- //*
- PbStorageCache.videoInfo = null;
- //PbStorageCache.dtStartTime = null;
- PbStorageCache.sportInfo = null;
- PbStorageCache.collect = null;
- //退出语音登录
- try
- {
- VoiceClose();
- IPVideoClose();
- }
- catch (Exception ex) { }
- setPanelRemovenfo(panel1);
- CleanForm();
- //*/
- }
- private void CleanForm()
- {
- cmbMatterNo.Text = "";
- cmbGrade.Text = "";
- cmbStandard.Text = "";
- txtBLOCK_NUM.Value = 0;
- txtBATCH_NO.Text = "";
- txtPRODUCT_DATE.Value = DateTime.Now;
- txtPACKAGE_NO.Text = "";
- txtSEAL_NO.Text = "";
- cmbBUCKET_NO.Text = "";
- txtCOMBIN_NO.Text = "";
- txtMEMO.Text = "";
- txtTARE_WEIGHT.Value = 0;
- txtMsgInfo.Text = "";
- cmbDH.Text = "";
- netWgt = 0;
- txtNetWgt.Value = 0;
- //cmbDH.Value = null;
- DataTable dtSj = dataTable1.Clone();
- ClsControlPack.CopyDataToDatatable(ref dtSj, ref dataTable1, true);
- ClsControlPack.RefreshAndAutoSize(ultraGridSj);
- dtBranch.Clear();
- dtCalibration.Clear();
- DataTable dtJl = dtCalibration.Clone();
- DataTable dtJlC = dtBranch.Clone();
- ClsControlPack.CopyDataToDatatable(ref dtJl, ref dtCalibration, true);
- ClsControlPack.CopyDataToDatatable(ref dtJlC, ref dtBranch, true);
- ClsControlPack.RefreshAndAutoSize(ultraGridJl);
- ucStorageWeightKg1.setWgt(0);
- ucStorageWeightKg1.setStable(true);
- ucStorageWeightKg2.Visible = false;
- ucStorageWeightKg2.setWgt(0);
- ucStorageWeightKg2.setStable(true);
- }
- #endregion
- #region 对讲代码
- private bool SoudVoice(string soundName)
- {
- string fileUrl = string.Format("{0}\\Sound\\{1}", AppDomain.CurrentDomain.SetupInformation.ApplicationBase, soundName);
- if (computerSound == "1")
- {
- try
- {
- play_ls = new SoundPlayer(fileUrl);
- play_ls.Play();
- return true;
- }
- catch
- {
- return false;
- }
- }
- else
- {
- return cameraShotMain.SoundVoice(fileUrl);
- }
- }
- /// <summary>
- /// 硬盘录像机登录
- /// </summary>
- private CameraShotCls cameraShotMain = new CameraShotCls();
- /// <summary>
- /// 必须先打开连接
- /// </summary>
- private bool GetIPVideo(MeterBaseVideoinfo video)
- {
- try
- {
- cameraShotMain.ip = video.videoip;
- cameraShotMain.port = video.vdoPort;
- cameraShotMain.uid = video.vdoUser;
- cameraShotMain.pwd = video.vdoPwd;
- cameraShotMain.Connection();
- }
- catch (Exception ex)
- {
- setMsgInfo(txtMsgInfo, "视频连接打开失败:" + ex.Message, "");
- return false;
- }
- return true;
- }
- /// <summary>
- /// 必须先打开视频,然后再打开语音
- /// </summary>
- private void VoiceOpen()
- {
- try
- {
- if (cameraShotMain.StartTalk())
- {
- btnOpenVoice.Text = "关闭对讲";
- }
- }
- catch (Exception ex)
- {
- setMsgInfo(txtMsgInfo, "打开语音失败:" + ex.Message, "");
- }
- }
- /// <summary>
- /// 关闭语音对讲
- /// </summary>
- private void VoiceClose()
- {
- try
- {
- if (cameraShotMain.StopTalk())
- {
- setMsgInfo(btnOpenVoice, "打开对讲", "");
- }
- }
- catch (Exception ex)
- {
- setMsgInfo(txtMsgInfo, "打开对讲失败:" + ex.Message, "");
- }
- }
- /// <summary>
- /// 关闭视频
- /// </summary>
- private void IPVideoClose()
- {
- try
- {
- cameraShotMain.Close();
- }
- catch (Exception ex)
- {
- setMsgInfo(txtMsgInfo, "关闭对讲失败:" + ex.Message, "");
- }
- }
- private List<PictureBox> ltPicBoxs = new List<PictureBox>();
- private void setPicBoxSet()
- {
- if (PbStorageCache.videoChild != null && PbStorageCache.videoChild.Count > 0)
- {
- if (PbStorageCache.sportInfo != null)
- {
- for (int k = 1; k <= 2; k++)
- {
- PictureBox pb = new PictureBox();
- pb.Name = "pb" + k;
- pb.Dock = DockStyle.Top;
- pb.Height = 260;
- pb.DoubleClick += new EventHandler(PictureBoxDoubleClick);
- pb.BorderStyle = BorderStyle.FixedSingle;
- panel1.Controls.Add(pb);
- ltPicBoxs.Add(pb);
- if (PbStorageCache.sportInfo.baseSpotNo == "00015")
- cameraShotMain.RealPlay(pb, k + 2);
- else
- cameraShotMain.RealPlay(pb, k);
- }
- }
- }
- }
- public void setPanelRemovenfo(Panel control)
- {
- setPanelRemoveMsg(control);
- }
- /// <summary>
- /// 如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable
- /// </summary>
- /// <param name="control"></param>
- /// <param name="ResultMessage"></param>
- /// <param name="sType"></param>
- private void setPanelRemoveMsg(Panel p)
- {
- if (p.InvokeRequired)
- {
- Action<Panel> action = new Action<Panel>(setPanelRemovenfo);
- Invoke(action, new object[] { p });
- }
- else
- {
- for (int i = p.Controls.Count - 1; i >= 0; i--)
- {
- p.Controls.RemoveAt(i);
- }
- }
- }
- #endregion
- #region 控件值设置
- //如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable
- public void setMsgInfo(Control control, string ResultMessage, string sType)
- {
- setMsgMsg(control, ResultMessage, sType);
- }
- /// <summary>
- /// 如果ResultMessage为true或者false,则sType 为0的时候readonly 1为enable 2为visable 3为check
- /// </summary>
- /// <param name="control"></param>
- /// <param name="ResultMessage"></param>
- /// <param name="sType"></param>
- private void setMsgMsg(Control control, string ResultMessage, string sType)
- {
- if (control.InvokeRequired)
- {
- Action<Control, string, string> action = new Action<Control, string, string>(setMsgInfo);
- Invoke(action, new object[] { control, ResultMessage, sType });
- }
- else
- {
- if (ResultMessage == "true" || ResultMessage == "false")
- {
- switch (sType)
- {
- case "1":
- control.Enabled = ResultMessage == "true" ? true : false;
- ; break;
- case "2":
- control.Visible = ResultMessage == "true" ? true : false;
- ; break;
- case "3":
- ((CheckBox)control).Checked = ResultMessage == "true" ? true : false;
- break;
- default: break;
- }
- }
- else if (ResultMessage == "color")
- {
- switch (sType)
- {
- case "Red":
- control.BackColor = Color.Red;
- ; break;
- case "Lime":
- control.BackColor = Color.Lime;
- ; break;
- default: break;
- }
- }
- else
- {
- control.Text = ResultMessage == null ? "" : ResultMessage;
- }
- }
- }
- private delegate object GetControlPropertyCallBack(Control control, string name);
- public object GetControlProperty(Control control, string name)
- {
- if (control.InvokeRequired == true)
- {
- GetControlPropertyCallBack CallBack = new GetControlPropertyCallBack(GetControlProperty);
- return control.Invoke(CallBack, new object[] { control, name });
- }
- else
- {
- Type type = control.GetType();
- return type.InvokeMember(name,
- BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.Instance,
- null, control, null);
- }
- }
- public void setGridColorInfo(UltraGrid ugr, StorageCollectModel sModel)
- {
- setGridColorMsg(ugr, sModel);
- }
- private void setGridColorMsg(UltraGrid control, StorageCollectModel sModel)
- {
- if (control.InvokeRequired)
- {
- Action<UltraGrid, StorageCollectModel> action = new Action<UltraGrid, StorageCollectModel>(setGridColorInfo);
- Invoke(action, new object[] { control, sModel });
- }
- else
- {
- foreach (UltraGridRow urg in control.Rows)
- {
- if (PbStorageCache.sportInfo != null && urg.Cells["baseSpotNo"].Text == PbStorageCache.sportInfo.baseSpotNo)
- {
- urg.Appearance.BackColor = Color.Red;
- break;
- }
- else if (sModel.pointid == urg.Cells["baseSpotNo"].Text)
- {
- if (sModel.mainWgt > 20)
- {
- urg.Appearance.BackColor = Color.Orange;
- }
- else
- {
- urg.Appearance.BackColor = Color.White;
- }
- break;
- }
- }
- }
- }
- #endregion
- public string GetIP()
- {
- try
- {
- IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
- IPAddress ipAddr = ipHost.AddressList[0];
- return ipAddr.ToString();
- }
- catch (Exception exp)
- {
- Random rd = new Random();
- return rd.Next(99999, 999999) + "";
- }
- }
- private void btnStart_Click(object sender, EventArgs e)
- {
- try
- {
- btnStart.Enabled = false;
- btnCheckBalance.Enabled = false;
- btnOpenVoice.Enabled = false;
- btnSave.Enabled = false;
- if (btnStart.Text != "释放")
- {
- UltraGridRow ugr = ultraGridPW.ActiveRow;
- if (ugr != null)
- {
- if (!string.IsNullOrEmpty(ugr.Cells["controlIp"].Text) && ugr.Cells["controlIp"].Text != _controlIp)
- {
- MessageBox.Show("当前计量点已被他人接管");
- return;
- }
- btnStart.BackColor = Color.Red;
- btnStart.Text = "释放";
- PbStorageCache.sportInfo = PbStorageCache.sportInfos.Where(s => s.baseSpotNo == ugr.Cells["baseSpotNo"].Text.Trim()).FirstOrDefault();
- led_controler = new LED_Control(PbStorageCache.sportInfo.ledIp);
- //将主副秤秤体允许偏差值写入
- PbStorageCache.sportInfo.deleteManName = ugr.Cells["weightDiff"].Text == "" ? "0" : ugr.Cells["weightDiff"].Text.Trim();
- //controlIp
- updateSport(_controlIp);
- int icnt = PbStorageCache.scalePoints.Where(s => s.baseSpotNo == PbStorageCache.sportInfo.baseSpotNo).Count();
- if (icnt > 1) //双秤
- {
- ucStorageWeightKg2.Visible = true;
- }
- else //单秤
- {
- ucStorageWeightKg2.Visible = false;
- }
- bd.getSpot();
- GetIPVideo(PbStorageCache.videoInfo);
- setPicBoxSet();
- #region 增加包号
- string sql = string.Format("select nvl(max(package_no),'0')+1 baseCode from meter_work_storage_actual where base_spot_no='{0}' and BATCH_NO='{1}'", PbStorageCache.sportInfo.baseSpotNo, txtBATCH_NO.Text.Trim());
- PbModelDbService<List<ComBaseInfo>> pb = new PbModelDbService<List<ComBaseInfo>>();
- RESTfulResult<List<ComBaseInfo>> rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- txtPACKAGE_NO.Text = rmType.Data[0].baseCode;
- }
- else
- {
- l.WriteLog(8, "包号载入失败:" + sql);
- }
- QueryInfo();
- QueryXC();
- #endregion
- }
- }
- else
- {
- btnStart.BackColor = Color.DodgerBlue;
- btnStart.Text = "接管";
- foreach (UltraGridRow ugrs in ultraGridPW.Rows)
- {
- ugrs.Appearance.BackColor = Color.White;
- }
- ucStorageWeightKg2.Visible = false;
- Clean();//释放按钮
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("btnStart_Click接管按钮异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- l.WriteLog(13, "btnStart_Click接管按钮异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- }
- finally
- {
- btnStart.Enabled = true;
- btnCheckBalance.Enabled = true;
- btnOpenVoice.Enabled = true;
- btnSave.Enabled = true;
- }
- }
- /// <summary>
- /// 修改监控表的状态
- /// </summary>
- /// <param name="controlIp"></param>
- private void updateSport(string controlIp)
- {
- try
- {
- string sql = string.Format("update meter_base_spot_info set CONTROL_IP = '{0}' where CONTROL_IP='{1}' or base_spot_no='{2}'", controlIp, _controlIp, (PbStorageCache.sportInfo == null ? "" : PbStorageCache.sportInfo.baseSpotNo));
- RESTfulResult<string> rm = PbModelDbService.executeSqlDataWf(sql);
- if (rm.Succeed)
- {
- WriteMonitorNote("修改meter_base_spot_info接管状态为" + (string.IsNullOrEmpty(controlIp) ? "取消接管" : "接管"));
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("updateSport方法异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- l.WriteLog(13, "updateSport方法异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- }
- }
- private void WriteMonitorNote(string content)
- {
- try
- {
- if (PbStorageCache.sportInfo != null && PbStorageCache.sportInfo.baseSpotNo != null)
- {
- RESTfulResult<string> rm = noteService.doAddWf(new MeterMonitorNote
- {
- baseSpotNo = PbStorageCache.sportInfo.baseSpotNo,
- baseSpotName = PbStorageCache.sportInfo.baseSpotName,
- operationContent = content,//str + chk.Text,
- carNo = "",
- meterManNo = appUser.userid,
- meterManName = appUser.username,
- meterNoteSource = "8"
- });
- if (!rm.Succeed)
- {
- l.WriteLog(8, "成品秤写入操作日志异常:" + content);
- }
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("WriteMonitorNote方法异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- l.WriteLog(13, "WriteMonitorNote方法异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- }
- }
- private void timer1_Tick(object sender, EventArgs e)
- {
- try
- {
- #region 每2秒查一次接管数据,若接管则改变状态 controlIp
- MeterBaseSpotInfoService service = new MeterBaseSpotInfoService();
- RESTfulResult<List<MeterBaseSpotInfo>> rms = service.doQueryWf(new MeterBaseSpotInfo { validFlag = "1", spotTypeNo = "001002003" });
- if (rms.Succeed && rms.Data != null && rms.Data.Count > 0)
- {
- //PbStorageCache.sportInfos = rms.Data;
- string str = "";
- string cIp = "";
- bool bRefash = false;
- DataTable dt = dtJGPointInfo.Clone();
- foreach (DataRow dr in dtJGPointInfo.Rows)
- {
- MeterBaseSpotInfo msi = rms.Data.Where(s => s.baseSpotNo == dr["baseSpotNo"].ToString().Trim()).FirstOrDefault();
- if (msi != null && msi.baseSpotNo != null)
- {
- str = (string.IsNullOrEmpty(msi.controlIp) ? "未接管" : "已接管");
- if (dr["validFlag"].ToString().Trim() != str)
- {
- dr["validFlag"] = str;
- bRefash = true;
- }
- cIp = (string.IsNullOrEmpty(msi.controlIp) ? "" : msi.controlIp);
- if (dr["controlIp"].ToString().Trim() != cIp)
- {
- dr["controlIp"] = cIp;
- bRefash = true;
- }
- }
- dt.Rows.Add(dr.ItemArray);
- }
- if (bRefash)
- {
- ClsControlPack.CopyDataToDatatable(ref dt, ref this.dtJGPointInfo, true);
- }
- }
- #endregion
- }
- catch (Exception ex)
- {
- MessageBox.Show("timer1_Tick任务异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- l.WriteLog(13, "timer1_Tick任务异常,请关闭界面并稍后打开,或联系管理员!\r\n异常原因:\r\n" + ex);
- }
- }
- private bool bTest = false;
- /*
- private void button1_Click(object sender, EventArgs e)
- {
- bTest = !bTest;
- if (bTest)
- {
- ucStorageWeightKg1.setWgt((double)numericUpDown1.Value);
- ucStorageWeightKg1.setStable(PbStorageCache.collect.mainWeightStatus != 1 ? true : false);
- ucStorageWeightKg2.setWgt((double)numericUpDown2.Value);
- ucStorageWeightKg2.setStable(PbStorageCache.collect.mainWeightStatus != 1 ? true : false);
- PbStorageCache.collect = new StorageCollectModel
- {
- mainWgt = (double)numericUpDown1.Value,
- viceWgt = (double)numericUpDown2.Value,
- mainWeightStatus = 0,
- pointid = "CAR20"
- };
- //"172.22.42.34"
- }
- }
- //*/
- private void timer2_Tick(object sender, EventArgs e)
- {
- txtPRODUCT_DATE.Value = DateTime.Now;
- if (ucStorageWeightKg1.getWgt() < 10)
- {
- btnSaveFlag = false;
- if (!btnSave.Enabled)
- {
- btnSave.Enabled = true;
- btnCheckBalance.Enabled = true;
- btnOpenVoice.Enabled = true;
- }
- iCntTime = 0;
- }
- else
- {
- if (ucStorageWeightKg1.isGreen)
- {
- iCntTime++;
- if (iCntTime > txtTimeLength.Value)
- {
- iCntTime = txtTimeLength.Value;
- }
- }
- else
- {
- iCntTime = 0;
- }
- }
- if (iCntTime >= txtTimeLength.Value && cbAuto.Checked && ucStorageWeightKg1.getWgt() > 10 && ucStorageWeightKg1.isGreen && txtBATCH_NO.Text.Trim() != "")
- {
- double wcWgt = Math.Round((double)txtWcWgt.Value, 1);
- double wdWgt = Math.Round((double)txtWdWgt.Value, 1);
- double pzWgt = Math.Round((double)txtTARE_WEIGHT.Value, 1);
- //这里设置1的原因是担心decmial转double可能存在精度丢失导致0的时候大于0的情况,一般应该不会
- if (wdWgt > 1)
- {
- if (cbPC.Text == "±") { }
- switch (cbPC.Text.Trim())
- {
- case "±":
- {
- if (((ucStorageWeightKg1.getWgt() - pzWgt) <= (wdWgt + wcWgt) && (ucStorageWeightKg1.getWgt() - pzWgt) >= (wdWgt - wcWgt)))
- {
- btnClickSave();
- }
- }; break;
- case "+":
- {
- if (((ucStorageWeightKg1.getWgt() - pzWgt) <= (wdWgt + wcWgt) && (ucStorageWeightKg1.getWgt() - pzWgt) >= wdWgt))
- {
- btnClickSave();
- }
- }; break;
- case "-":
- {
- if (((ucStorageWeightKg1.getWgt() - pzWgt) <= wdWgt && (ucStorageWeightKg1.getWgt() - pzWgt) >= (wdWgt - wcWgt)))
- {
- btnClickSave();
- }
- }; break;
- default:
- {
- if (((ucStorageWeightKg1.getWgt() - pzWgt) <= (wdWgt + wcWgt) && (ucStorageWeightKg1.getWgt() - pzWgt) >= (wdWgt - wcWgt)))
- {
- btnClickSave();
- }
- }; break;
- }
- }
- else
- {
- btnClickSave();
- }
- }
- }
- private PNumberModel pDHSelected = new PNumberModel() { bFlag = false, dValue = 0 };
- private void cmbDH_RowSelected(object sender, RowSelectedEventArgs e)
- {
- txtTARE_WEIGHT.Value = e?.Row?.Cells["baseCode"]?.Value == null ? 0 : Convert.ToDecimal(e?.Row?.Cells["baseCode"]?.Value);
- if (e?.Row?.Cells["baseCode"]?.Value == null)
- {
- pDHSelected.bFlag = false;
- pDHSelected.dValue = txtTARE_WEIGHT.Value;
- }
- else
- {
- pDHSelected.bFlag = true;
- pDHSelected.dValue = txtTARE_WEIGHT.Value;
- }
- cmbBUCKET_NO.Enabled = !pDHSelected.bFlag;
- setNetWgt();
- }
- private PNumberModel pBucketSelected = new PNumberModel() { bFlag = false, dValue = 0 };
- private void cmbBUCKET_NO_RowSelected(object sender, RowSelectedEventArgs e)
- {
- txtTARE_WEIGHT.Value = e?.Row?.Cells["baseCode"]?.Value == null ? 0 : Convert.ToDecimal(e?.Row?.Cells["baseCode"]?.Value);
- if (e?.Row?.Cells["baseCode"]?.Value == null)
- {
- pBucketSelected.bFlag = false;
- pBucketSelected.dValue = txtTARE_WEIGHT.Value;
- }
- else
- {
- pBucketSelected.bFlag = true;
- pBucketSelected.dValue = txtTARE_WEIGHT.Value;
- }
- cmbDH.Enabled = !pBucketSelected.bFlag;
- setNetWgt();
- }
- private void setNetWgt()
- {
- if (!pDHSelected.bFlag && !pBucketSelected.bFlag)
- {
- txtNetWgt.Invoke(new Action(() =>
- {
- txtNetWgt.Value = 0;
- }));
- }
- }
- private decimal netWgt = 0;
- private void txtNetWgt_ValueChanged(object sender, EventArgs e)
- {
- netWgt = txtNetWgt.Value;
- }
- private void txtBATCH_NO_MouseLeave(object sender, EventArgs e)
- {
- if (PbStorageCache.sportInfo != null)
- {
- string sql = string.Format("select nvl(max(package_no),'0') baseCode from meter_work_storage_actual t where length(package_no)=(select max(length(package_no)) from meter_work_storage_actual where base_spot_no = '{0}' and BATCH_NO = '{1}') and base_spot_no='{0}' and BATCH_NO='{1}'", PbStorageCache.sportInfo.baseSpotNo, txtBATCH_NO.Text.Trim());
- PbModelDbService<List<ComBaseInfo>> pb = new PbModelDbService<List<ComBaseInfo>>();
- RESTfulResult<List<ComBaseInfo>> rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- if (rmType.Data[0].baseCode != "0" && rmType.Data[0].baseCode.Length > 0)
- {
- try
- {
- string[] str = rmType.Data[0].baseCode.Split('-');
- txtPACKAGE_NO.Value = Convert.ToInt32(rmType.Data[0].baseCode.Split('-')[str.Length - 1]) + 1;
- }
- catch { }
- }
- else
- {
- txtPACKAGE_NO.Text = "1";
- }
- }
- else
- {
- l.WriteLog(8, "包号载入失败:" + sql);
- }
- #region eason add 2021-06-24增加通号新增
- sql = string.Format("select nvl(max(bucket_no),'0') baseName from meter_work_storage_actual t where length(bucket_no)=(select max(length(bucket_no)) from meter_work_storage_actual where base_spot_no = '{0}' and BATCH_NO = '{1}') and base_spot_no='{0}' and BATCH_NO='{1}'", PbStorageCache.sportInfo.baseSpotNo, txtBATCH_NO.Text.Trim());
- rmType = pb.executeSqlDataWf(sql);
- if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
- {
- if (rmType.Data[0].baseName != "0" && rmType.Data[0].baseName.Length > 0)
- {
- try
- {
- string[] str = rmType.Data[0].baseName.Split('-');
- txtBucketNo.Value = Convert.ToInt32(rmType.Data[0].baseName.Split('-')[str.Length - 1]) + 1;
- }
- catch { }
- }
- else if (txtBucketAddValue.Value > 0)
- {
- txtBucketNo.Value = 1;
- }
- }
- else
- {
- l.WriteLog(8, "初始箱号载入失败:" + sql);
- }
- #endregion
- }
- }
- private void cbAuto_CheckedChanged(object sender, EventArgs e)
- {
- if (cbAuto.Checked && txtBATCH_NO.Text.Trim() == "")
- {
- MessageBox.Show("请先输入批号");
- cbAuto.Checked = false;
- return;
- }
- btnSave.Visible = !cbAuto.Checked;
- btnCheckBalance.Visible = !cbAuto.Checked;
- label3.Visible = cbAuto.Checked;
- txtWdWgt.Visible = cbAuto.Checked;
- cbPC.Visible = cbAuto.Checked;
- txtWcWgt.Visible = cbAuto.Checked;
- if (!cbAuto.Checked)
- {
- txtWdWgt.Value = 0;
- txtWcWgt.Value = 0;
- }
- }
- }
- public class PNumberModel
- {
- public bool bFlag { get; set; }
- public decimal dValue { get; set; }
- }
- }
|