/// <summary> /// 添加所有包装线信息 /// </summary> private void AddAllPkl() { List <WCS_CONFIG_DEVICE> list = CommonSQL.GetDevInfo(DeviceType.包装线辊台); if (list == null || list.Count == 0) { return; } foreach (WCS_CONFIG_DEVICE d in list) { AddPkl(new DevInfoPKL() { devName = d.DEVICE, area = d.AREA, isLock = d.IS_LOCK == 1 ? true : false, isUseful = d.IS_USEFUL == 1 ? true : false, lockID1 = d.LOCK_ID1, lockID2 = d.LOCK_ID2, _ = new DevicePKL() }); ADS.mSocket.AddClient(d.DEVICE, d.IP, d.PORT, DevInfoPKL.GetDataOrder()); if (d.IS_USEFUL == 0) { ADS.mSocket.UpdateUserful(d.DEVICE, false); } } }
private void AddCombBox() { try { // 搜索任务类型 CBtype.Items.Add(" "); CBtype.Items.Add((int)TaskTypeEnum.无 + ":" + TaskTypeEnum.无); CBtype.Items.Add((int)TaskTypeEnum.入库 + ":" + TaskTypeEnum.入库); CBtype.Items.Add((int)TaskTypeEnum.出库 + ":" + TaskTypeEnum.出库); CBtype.SelectedIndex = 0; // 搜索任务区域 CBarea.Items.Add(" "); CBarea.SelectedIndex = 0; String sql = "select distinct AREA from wcs_config_area"; DataTable dt = CommonSQL.mysql.SelectAll(sql); if (CommonSQL.IsNoData(dt)) { return; } List <WCS_CONFIG_AREA> areaList = dt.ToDataList <WCS_CONFIG_AREA>(); foreach (WCS_CONFIG_AREA area in areaList) { CBarea.Items.Add(area.AREA); } } catch (Exception e) { Notice.Show(e.Message, "错误", 3, MessageBoxIcon.Error); } }
public void TestGetRaceID() { //Return raceID of an existing race Assert.AreEqual(1, CommonSQL.GetRaceID("Sample Race")); //RaceID of -1 is returned when a race does is passed that does not exist Assert.AreEqual(-1, CommonSQL.GetRaceID("RaceNonExistent")); }
private void BTNstop_Click(object sender, RoutedEventArgs e) { string dev = ""; try { if (PublicParam.IsDoTask) { Notice.Show("请先关闭顶部[设备运作]!", "提示", 3, MessageBoxIcon.Info); return; } if (CBdev.SelectedIndex == -1) { Notice.Show("请选择设备!", "提示", 3, MessageBoxIcon.Info); return; } dev = CBdev.Text; if (!ADS.mSocket.IsConnected(dev)) { Notice.Show(dev + "已离线,无法操作!", "提示", 3, MessageBoxIcon.Info); return; } ADS.mPkl.devices.Find(c => c.devName == dev).StopTask(); Notice.Show("停止辊台 指令发送成功!", "成功", 3, MessageBoxIcon.Success); } catch (Exception ex) { Notice.Show("指令发送失败:" + ex.Message, "错误", 3, MessageBoxIcon.Error); // LOG CommonSQL.LogErr("BTNstop_Click()", "包装线界面停止辊台[设备号]", ex.Message, dev); } }
/// <summary> /// 添加所有摆渡车信息 /// </summary> private void AddAllArf() { List <WCS_CONFIG_DEVICE> list = CommonSQL.GetDevInfo(DeviceType.摆渡车); if (list == null || list.Count == 0) { return; } foreach (WCS_CONFIG_DEVICE d in list) { AddArf(new DevInfoARF() { devName = d.DEVICE, area = d.AREA, isLock = d.IS_LOCK == 1 ? true : false, isUseful = d.IS_USEFUL == 1 ? true : false, lockID = d.LOCK_ID1, taskType = (TaskTypeEnum)d.FLAG, _ = new DeviceARF() }); ADS.mSocket.AddClient(d.DEVICE, d.IP, d.PORT, DevInfoARF.GetDataOrder()); if (d.IS_USEFUL == 0) { ADS.mSocket.UpdateUserful(d.DEVICE, false); } } }
private void GetARFNameList() { List <WCS_CONFIG_DEVICE> list = CommonSQL.GetDevInfo(DeviceType.摆渡车); foreach (var l in list) { grid.UpdateDeviceList(l.DEVICE, l.AREA); } }
private void GetFRTNameList() { List <WCS_CONFIG_DEVICE> list = CommonSQL.GetDeviceNameList(DataControl._mMySql, DeviceType.固定辊台); foreach (var l in list) { grid.UpdateDeviceList(l.DEVICE, l.AREA); } }
private void BtnSave_Click(object sender, RoutedEventArgs e) { try { if (PublicParam.IsDoTask) { Notice.Show("请先关闭顶部[设备运作]!", "提示", 3, MessageBoxIcon.Info); return; } string awcX = TBawcX.Text; string awcYt = TBawcYt.Text; string awcZt = TBawcZt.Text; string awcYs = TBawcYs.Text; string awcZs = TBawcZs.Text; string rgv1 = TBrgv1.Text; string rgv2 = TBrgv2.Text; if (string.IsNullOrEmpty(awcX) || string.IsNullOrEmpty(awcYt) || string.IsNullOrEmpty(awcZt) || string.IsNullOrEmpty(awcYs) || string.IsNullOrEmpty(awcZs) || string.IsNullOrEmpty(rgv1) || string.IsNullOrEmpty(rgv2)) { Notice.Show("请完整填空!", "提示", 3, MessageBoxIcon.Info); return; } if (!WindowCommon.ConfirmAction("是否保存修改数据!!")) { return; } CommonSQL.UpdateWcsLoc(wmsloc, rgv1, rgv2, string.Format("{0}-{1}-{2}", awcX, awcYt, awcZt), string.Format("{0}-{1}-{2}", awcX, awcYs, awcZs)); ADS.mAwc.ClearLoc(wmsloc); if (wmsloc.Last() == '1') { wmsloc = wmsloc.Remove(wmsloc.Length - 1, 1) + "2"; awcZs = (int.Parse(awcZs) + high).ToString(); CommonSQL.UpdateWcsLoc(wmsloc, rgv1, rgv2, string.Format("{0}-{1}-{2}", awcX, awcYt, awcZt), string.Format("{0}-{1}-{2}", awcX, awcYs, awcZs)); ADS.mAwc.ClearLoc(wmsloc); } BtnSave.IsEnabled = false; wmsloc = ""; Notice.Show("保存修改成功!", "成功", 3, MessageBoxIcon.Success); } catch (Exception ex) { Notice.Show(ex.Message, "错误", 3, MessageBoxIcon.Error); } }
/// <summary> /// 扫码数据处理 /// </summary> /// <param name="devName"></param> /// <param name="code"></param> public void GetCode(string devName, string code) { try { if (!code.StartsWith("@") || code.Split('@').Length != 2) { return; } if (devices.Exists(c => c.devName == devName)) { DevInfoFRT f = devices.Find(c => c.devName == devName); //if (f._.ActionStatus == ActionEnum.运行中 || f._.RollerStatus != RollerStatusEnum.辊台停止) //{ // throw new Exception(string.Format("辊台未停止,不处理扫码.", code)); //} //是否满足任务 if (CommonSQL.GetInTask(code, out string tid)) { if (!string.IsNullOrEmpty(tid)) { if (string.IsNullOrEmpty(f.lockID1)) { // 请求WMS分配 if (ADS.AssignInSite(f.area, tid)) { f.IsLockUnlockNew(f.isLock, tid, f.lockID2); } } else if (string.IsNullOrEmpty(f.lockID2)) { if (tid != f.lockID1) { // 请求WMS分配 if (ADS.AssignInSite(f.area, tid)) { f.IsLockUnlockNew(f.isLock, f.lockID1, tid); } } } } } else { throw new Exception(string.Format("读取二维码[{0}]异常.", code)); } } } catch (Exception ex) { // LOG CommonSQL.LogErr("FRT.DoTaskNew()", "固定辊台作业[设备]", (ex.Message + ex.Source), devName); } }
/// <summary> /// 检查是否存在 /// </summary> /// <param name="i"></param> /// <returns></returns> public bool CheckExist(NDCItem i) { string sql = string.Format(@"select id from WCS_NDC_TASK where TASKID = '{0}'", i._mTask.TASKID); DataTable dt = mysql.SelectAll(sql); if (CommonSQL.IsNoData(dt)) { return(false); } return(true); }
private void ReadWmsServerUrl() { if (CommonSQL.GetWcsParamValue(new MySQL(), "WMS_SERVER_URL", out WCS_PARAM param)) { wcsUrl = param.VALUE1; } else { Console.WriteLine("在wcs_param表找不到(WMS_SERVER_URL)WMS服务配置内容"); } }
/// <summary> /// 固定辊台对接摆渡车点位 /// </summary> /// <returns></returns> public static int FRTbuttARF(string frt) { try { return(CommonSQL.GetArfByFrt(frt)); } catch (Exception ex) { throw ex; } }
/// <summary> /// 更新使用属性 /// </summary> public void UpdateFlag(TaskTypeEnum flag) { try { CommonSQL.UpdateDevInfo(devName, (int)flag); taskType = flag; } catch (Exception ex) { throw ex; } }
/// <summary> /// 读取未完成NDC任务信息 /// </summary> public bool ReadUnFinishTask(out List <WCS_NDC_TASK> list) { list = new List <WCS_NDC_TASK>(); DataTable dt = mysql.SelectAll("SELECT ID,TASKID,IKEY,ORDERINDEX,LOADSITE,UNLOADSITE,REDIRECTSITE,NDCLOADSITE,NDCUNLOADSITE,NDCREDIRECTSITE,CREATETIME FROM WCS_NDC_TASK"); if (CommonSQL.IsNoData(dt)) { return(false); } list = dt.ToDataList <WCS_NDC_TASK>(); return(true); }
private void FIN_Click(object sender, RoutedEventArgs e) { try { if (DGtask.SelectedItem == null) { return; } if (!WindowCommon.ConfirmAction("是否确认完成任务!!")) { return; } string id = (DGtask.SelectedItem as DataRowView)["任务号"].ToString(); string f = (DGtask.SelectedItem as DataRowView)["来源"].ToString(); string t = (DGtask.SelectedItem as DataRowView)["目的"].ToString(); string type = (DGtask.SelectedItem as DataRowView)["任务类型"].ToString(); // 完成任务 string mes = null; switch (type) { case "入库": mes = ADS.mHttp.DoStockInFinishTask(t, id); break; case "出库": mes = ADS.mHttp.DoStockOutFinishTask(f, id); break; default: break; } if (mes.Contains("OK")) { CommonSQL.UpdateWms(id, (int)WmsTaskStatus.完成); Notice.Show("成功!", "完成", 3, MessageBoxIcon.Success); } else { Notice.Show(mes, "失败", 3, MessageBoxIcon.Warning); } Refresh_Click(sender, e); } catch (Exception ex) { Notice.Show(ex.Message, "错误", 3, MessageBoxIcon.Error); } }
public bool ReadTempTask(out List <WCS_NDC_TASK_TEMP> list) { list = new List <WCS_NDC_TASK_TEMP>(); string sql = "SELECT ID,NDCINDEX,IKEY,CARRIERID FROM WCS_NDC_TASK_TEMP t"; DataTable dt = mysql.SelectAll(sql); if (CommonSQL.IsNoData(dt)) { return(false); } list = dt.ToDataList <WCS_NDC_TASK_TEMP>(); return(true); }
/// <summary> /// 更新使用状态 /// </summary> public void UpdateUseufl(bool isuseful) { try { CommonSQL.UpdateDevInfo(devName, isuseful); ADS.mSocket.UpdateUserful(devName, isuseful); isUseful = isuseful; } catch (Exception ex) { throw ex; } }
/// <summary> /// 更新锁定状态 /// </summary> public void IsLockUnlock(bool islock, string lockid = "") { try { CommonSQL.UpdateDevInfo(devName, lockid, islock); isLock = islock; lockID1 = lockid; } catch (Exception ex) { throw ex; } }
/// <summary> /// 摆渡车作业对接固定辊台坐标? /// </summary> public static int JobPartARF_Site(string jobid) { string frt = mFrt.GetFrtName(jobid); if (string.IsNullOrEmpty(frt)) { return(0); } else { return(CommonSQL.GetArfByFrt(frt)); } }
/// <summary> /// 选项 /// </summary> private void AddCombBoxForDEV() { try { // 设备类型 CBtype.Items.Add(_type); CBtype.Items.Add(DeviceType.固定辊台 + " : 固定辊台"); CBtype.Items.Add(DeviceType.摆渡车 + " : 摆渡车"); CBtype.Items.Add(DeviceType.运输车 + " : 运输车"); CBtype.Items.Add(DeviceType.行车 + " : 行车"); CBtype.Items.Add(DeviceType.包装线辊台 + " : 包装线辊台"); CBtype.SelectedIndex = 0; // 设备区域 CBarea.Items.Add(_area); CBarea.SelectedIndex = 0; String sql = "select distinct AREA from wcs_config_area"; DataTable dt = CommonSQL.mysql.SelectAll(sql); if (CommonSQL.IsNoData(dt)) { return; } List <WCS_CONFIG_AREA> areaList = dt.ToDataList <WCS_CONFIG_AREA>(); foreach (WCS_CONFIG_AREA area in areaList) { CBarea.Items.Add(area.AREA); } // 设备属性 CBflag.Items.Add(_flag); CBflag.Items.Add("1:仅负责入库/靠近入库口"); CBflag.Items.Add("2:仅负责出库/远离入库口"); CBflag.SelectedIndex = 0; // 工作状态 CBlock.Items.Add(_lock); CBlock.Items.Add("0:空闲"); CBlock.Items.Add("1:锁定"); CBlock.SelectedIndex = 0; // 使用状态 CBuser.Items.Add(_user); CBuser.Items.Add("0:失效"); CBuser.Items.Add("1:可用"); CBuser.SelectedIndex = 0; } catch (Exception e) { Notice.Show(e.Message, "错误", 3, MessageBoxIcon.Error); } }
/// <summary> /// 更新锁定状态 /// </summary> public void IsLockUnlockNew(bool islock, string lockid1 = "", string lockid2 = "") { try { CommonSQL.UpdateDevInfo(0, devName, lockid1, lockid2, islock); isLock = islock; lockID1 = lockid1; lockID2 = lockid2; } catch (Exception ex) { throw ex; } }
private void BtnSelect_Click(object sender, RoutedEventArgs e) { try { // 清空 TBawcX.Text = ""; TBawcYt.Text = ""; TBawcZt.Text = ""; TBawcYs.Text = ""; TBawcZs.Text = ""; TBrgv1.Text = ""; TBrgv2.Text = ""; string area = CBarea.Text; string x = TBx.Text; string y = TBy.Text; string z = TBz.Text; if (string.IsNullOrEmpty(area) || string.IsNullOrEmpty(x) || string.IsNullOrEmpty(y) || string.IsNullOrEmpty(z)) { Notice.Show("请完整填空!", "提示", 3, MessageBoxIcon.Info); return; } wmsloc = string.Format("{0}-{1}-{2}-{3}", area, x, y, z); WCS_CONFIG_LOC loc = CommonSQL.GetWcsLoc(wmsloc); if (string.IsNullOrEmpty(loc.WMS_LOC)) { Notice.Show("无对应坐标数据!", "提示", 3, MessageBoxIcon.Info); return; } string[] t = loc.AWC_LOC_TRACK.Split('-'); string[] s = loc.AWC_LOC_STOCK.Split('-'); TBawcX.Text = t[0]; TBawcYt.Text = t[1]; TBawcZt.Text = t[2]; TBawcYs.Text = s[1]; TBawcZs.Text = s[2]; TBrgv1.Text = loc.RGV_LOC_1; TBrgv2.Text = loc.RGV_LOC_2; BtnSave.IsEnabled = true; } catch (Exception ex) { Notice.Show(ex.Message, "错误", 3, MessageBoxIcon.Error); } }
/// <summary> /// 更新锁定状态 /// </summary> public void IsLockUnlockNew(TaskTypeEnum tt, bool islock, string lockid = "") { try { CommonSQL.UpdateDevInfo((int)tt, devName, lockid, "", islock); taskType = tt; isLock = islock; lockID = lockid; } catch (Exception ex) { throw ex; } }
private void Cancel_Click(object sender, RoutedEventArgs e) { try { if (DGtask.SelectedItem == null) { return; } if (!WindowCommon.ConfirmAction("是否确认删除任务!!")) { return; } string id = (DGtask.SelectedItem as DataRowView)["任务号"].ToString(); string type = (DGtask.SelectedItem as DataRowView)["任务类型"].ToString(); // 取消任务 string mes = null; switch (type) { case "入库": Notice.Show("入库任务不允许撤销!", "提示", 3, MessageBoxIcon.Info); return; //mes = ADS.mHttp.DoCancelTask(WmsStatus.StockInTask, id); //break; case "出库": // 行车判断 if (ADS.mAwc.IsCanDelOut(id)) { mes = ADS.mHttp.DoCancelTask(WmsStatus.StockOutTask, id); } break; default: break; } CommonSQL.DeleteWms(id); Notice.Show("成功!", "删除任务", 3, MessageBoxIcon.Success); Refresh_Click(sender, e); } catch (Exception ex) { Notice.Show(ex.Message, "错误", 3, MessageBoxIcon.Error); } }
/// <summary> /// 读取未完成NDC任务信息 /// </summary> public bool ReadUnFinishTask(out List <WCS_NDC_TASK> list) { list = new List <WCS_NDC_TASK>(); string str = "SELECT ID,TASKID,CARRIERID,IKEY,NDCINDEX,LOADSITE,UNLOADSITE,REDIRECTSITE,NDCLOADSITE,NDCUNLOADSITE," + "NDCREDIRECTSITE,CREATETIME FROM WCS_NDC_TASK WHERE FINISH = '{0}'"; string sql = string.Format(@str, No); DataTable dt = mysql.SelectAll(sql); if (CommonSQL.IsNoData(dt)) { return(false); } list = dt.ToDataList <WCS_NDC_TASK>(); return(true); }
/// <summary> /// 加载扫码器信息 /// </summary> private void AddCode() { if (CommonSQL.GetWcsParam("WCS_SCAN_CODE", out List <WCS_PARAM> info)) { foreach (WCS_PARAM item in info) { Codes.Add(new CodeBase() { _ip = item.VALUE1, _name = item.VALUE2, _forType = item.VALUE4, _forDev = item.VALUE5 }); } } }
/// <summary> /// 获取最新货物编码 /// </summary> /// <returns></returns> public static string GetGoodsCode(string day) { try { //day = "202008"; string sn = CommonSQL.GetSN(day, out string box); // @流水号|A产品名称|B型号|C批号|D颜色|E等级|F箱号|G规格 //return string.Format(@"@{0}|Afptc|B1200800|C{1}|Dw|Ea|F{2}|G1200800", // sn, day, box); return(string.Format(@"@20200906{0}|Afpz|B12*18|Dw|Ea2|F001|G2440*0600", sn)); } catch (Exception ex) { throw ex; } }
/// <summary> /// 定位任务 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LocateBtn_Click(object sender, RoutedEventArgs e) { string dev = ""; try { if (PublicParam.IsDoTask) { Notice.Show("请先关闭顶部[设备运作]!", "提示", 3, MessageBoxIcon.Info); return; } if (CBdev.SelectedIndex == -1) { Notice.Show("请选择设备!", "提示", 3, MessageBoxIcon.Info); return; } if (string.IsNullOrEmpty(location.Text.Trim())) { Notice.Show("请填写目的坐标!", "提示", 3, MessageBoxIcon.Info); return; } dev = CBdev.Text; if (!ADS.mSocket.IsConnected(dev)) { Notice.Show(dev + "已离线,无法操作!", "提示", 3, MessageBoxIcon.Info); return; } if (!WindowCommon.ConfirmAction("是否发送定位指令!!")) { return; } int loc = Convert.ToInt32(location.Text.Trim()); ADS.mArf.devices.Find(c => c.devName == dev).ToSite(loc); Notice.Show("定位任务 指令发送成功!", "成功", 3, MessageBoxIcon.Success); } catch (Exception ex) { Notice.Show("指令发送失败:" + ex.Message, "错误", 3, MessageBoxIcon.Error); // LOG CommonSQL.LogErr("LocateBtn_Click()", "摆渡车界面定位[设备号]", ex.Message, dev); } }
/// <summary> /// 更新对接固定辊台坐标 /// </summary> public void UpdateSite(int s) { switch (tasktype) { case TaskTypeEnum.入库: takesite = s; CommonSQL.UpdateTakeSite(id, takesite); break; case TaskTypeEnum.出库: givesite = s; CommonSQL.UpdateGiveSite(id, givesite); break; default: break; } }
/// <summary> /// 更新作业状态 /// </summary> public void UpdateStatus(int s) { switch (jobtype) { case TaskTypeEnum.入库: instatus = (WcsInStatus)s; break; case TaskTypeEnum.出库: outstatus = (WcsOutStatus)s; break; default: return; } CommonSQL.UpdateJobHeader(jobid, s); }