// Проверка перевода маршрута из статуса "Принят" в статус "Не принят" public void ChangeRouteStatus() { int count = 0; // кол-во эл-в списка RouteDAO routeDAO = new RouteDAO(); List <Route> routelist = routeDAO.GetReadyRoutes(); // получаем все маршруты со статусом "Принят" foreach (Route route in routelist) { routeDAO.ChangeState(route.Id_Route, 2); // меняем статус на "Не принят" count++; } List <Route> routelist2 = routeDAO.GetAllRoutes(); // получаем все маршруты //что ожидается: List <Route> expected = new List <Route>(); for (int i = 0; i < count; i++) { Route route = new Route(); route.Route_state = 2; expected.Add(route); } // Assert for (int i = 0; i < count; i++) { Assert.AreEqual(expected[i].Route_state, routelist2[i].Route_state); } // Откат данных foreach (Route route in routelist) { routeDAO.ChangeState((route.Id_Route), 1); // меняем статус на "черновик" } }
public bool addBronTicket(int idRoute, Ticket ticket) { try { ticket.Route = GetTicketRoute(idRoute); RouteDAO routeDAO = new RouteDAO(); Route oldRoute = _entities.Routes.Find(idRoute); if (oldRoute.count <= 0) { return false; } else { oldRoute.count = oldRoute.count - 1; _entities.Tickets.Add(ticket); _entities.Entry(oldRoute).State = EntityState.Modified; _entities.SaveChanges(); } } catch { return false; } return true; }
// ================ ROUTE ================== // ROUTE's VIEW public ActionResult Route() { if (IsLoggedIn()) { return(View(RouteDAO.GetRouteList())); } return(RedirectToAction("Index")); }
//update protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string routeID = GridView1.DataKeys[e.RowIndex].Value.ToString(); GridViewRow row = GridView1.Rows[e.RowIndex]; TextBox duration = (TextBox)row.Cells[2].Controls[0]; GridView1.EditIndex = -1; //update data RouteDAO.UpdateRoute(routeID, Convert.ToInt32(duration.Text)); ShowDataRoute(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = RouteDAO.GetDataRoute(); ddlRoute.DataSource = dt; ddlRoute.DataTextField = "RouteID"; ddlRoute.DataValueField = "Route"; ddlRoute.DataBind(); ddlRoute_SelectedIndexChanged(null, null); } }
public ActionResult RouteEdit(Route updateR) { if (ModelState.IsValid) { var editResult = RouteDAO.UpdateRoute(updateR); if (editResult == "ok") { return(RedirectToAction("Route")); } ModelState.AddModelError("", editResult); } return(View()); }
// FLIGHT EDIT'S VIEW public ActionResult FlightEdit(string id) { if (IsLoggedIn()) { var f = FlightDAO.GetFlight(id); if (f != null) { ViewBag.RouteData = RouteDAO.GetRouteList(); return(View(f)); } } return(RedirectToAction("Index")); }
public ExecutionResult GetPalletByProductType(string productType) { var exeResult = RouteDAO.GetPalletInfo(productType); if (exeResult.Status) { var ds = (DataSet)exeResult.Anything; if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { string palletSize = ds.Tables[0].Rows[0]["PALLET_SIZE"].ToString(); exeResult.Anything = palletSize; } } return(exeResult); }
public ExecutionResult GetProductType(string sn) { var exeResult = RouteDAO.GetProductTypeInfo(sn); if (exeResult.Status) { var ds = (DataSet)exeResult.Anything; if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { string productType = ds.Tables[0].Rows[0]["PRODUCT_TYPE"].ToString(); exeResult.Anything = productType; } } return(exeResult); }
public bool deleteTicket(int id) { RouteDAO routeDAO = new RouteDAO(); Ticket ticket = selectTicket(id); try { Route oldRoute = _entities.Routes.Find(ticket.idRoute); oldRoute.count = oldRoute.count + 1; _entities.Entry(oldRoute).State = EntityState.Modified; _entities.Tickets.Remove(ticket); _entities.SaveChanges(); } catch { return false; } return true; }
public ActionResult FlightEdit(Flight updateF) { ModelState.Remove("AvailSeatsF"); ModelState.Remove("AvailSeatsE"); ModelState.Remove("AvailSeatsB"); ModelState.Remove("FlightTime"); if (ModelState.IsValid) { var editResult = FlightDAO.UpdateFlight(updateF); if (editResult == "ok") { return(RedirectToAction("Flight")); } ModelState.AddModelError("", editResult); } ViewBag.RouteData = RouteDAO.GetRouteList(); return(View(updateF)); }
private void BtnSave_Click(object sender, EventArgs e) { SqlConnection conn = DAO.Connection; SqlCommand cmd = conn.CreateCommand(); conn.Open(); // create random and check BusID duplicate string routeID; do { cmd.Parameters.Clear(); routeID = DAO.RandomID(); cmd.CommandText = "SELECT * FROM Routes WHERE RouteID = @id"; cmd.Parameters.AddWithValue("@id", routeID); SqlDataReader reader = cmd.ExecuteReader(); bool exist = reader.Read(); reader.Close(); if (!exist) { break; } } while (true); Route route = new Route(); route.RouteID = routeID; route.FromCityID = cbFromCity.SelectedValue; route.ToCityID = cbToCity.SelectedValue; int duration; if (int.TryParse(txtDuration.Text, out duration)) { route.Duration = duration; RouteDAO.addRoute(route); } else { durationError.Controls.Add(new LiteralControl("<div class='alert alert-danger'>")); Label error = new Label(); error.Text = "Duration must be number !"; durationError.Controls.Add(error); durationError.Controls.Add(new LiteralControl("</div>")); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bus b = (Bus)Session["bus"]; DataTable dt = RouteDAO.GetDataRoute(); //BusID DropDownList1.DataSource = dt; DropDownList1.DataTextField = "RouteID"; DropDownList1.DataValueField = "Route"; DropDownList1.DataBind(); DropDownList1.Items.FindByText(b.RouteID).Selected = true; txtID.Text = b.BusID; txtBusName.Text = b.BusName; txtFare.Text = b.Fare.ToString(); txtSeat.Text = b.TotalSeat.ToString(); DropDownList1_SelectedIndexChanged1(null, null); } }
protected void ShowDataRoute() { DataTable dt = RouteDAO.GetDataRoute(); if (dt.Rows.Count > 0) { GridView1.DataSource = dt; GridView1.DataBind(); } else { dt.Rows.Add(dt.NewRow()); GridView1.DataSource = dt; GridView1.DataBind(); int columncount = GridView1.Rows[0].Cells.Count; GridView1.Rows[0].Cells.Clear(); GridView1.Rows[0].Cells.Add(new TableCell()); GridView1.Rows[0].Cells[0].ColumnSpan = columncount; GridView1.Rows[0].Cells[0].Text = "No Records Found"; } }
//search route by id protected void SearchRoute(object sender, EventArgs e) { DataTable searchTBL = RouteDAO.GetDataRouteByID(txtSearch.Text.Trim()); if (searchTBL.Rows.Count > 0) { GridView1.DataSource = searchTBL; GridView1.DataBind(); } else { searchTBL.Rows.Add(searchTBL.NewRow()); GridView1.DataSource = searchTBL; GridView1.DataBind(); int columncount = GridView1.Rows[0].Cells.Count; GridView1.Rows[0].Cells.Clear(); GridView1.Rows[0].Cells.Add(new TableCell()); GridView1.Rows[0].Cells[0].ColumnSpan = columncount; GridView1.Rows[0].Cells[0].Text = "No Records Found"; } }
/// <summary> /// 构造函数 /// </summary> public RouteBLL(LoggingSessionInfo pUserInfo) { this.CurrentUserInfo = pUserInfo; this._currentDAO = new RouteDAO(pUserInfo); }
public RouteManager(RouteDAO db) { _db = db; }
public ActionResult FlightAdd(List <Flight> newFlights) { //init validation variables bool invalid = false, invalid2 = false; int total = newFlights.Count; List <string> added = new List <string>(); ModelState.Remove("AvailSeatsF"); ModelState.Remove("AvailSeatsE"); ModelState.Remove("AvailSeatsB"); ModelState.Remove("FlightTime"); if (ModelState.IsValid) { foreach (var item in newFlights) { //get aircraft of route var route = RouteDAO.GetRoute(item.RNo); var aircraft = RouteDAO.GetAircraft(route.RAircraft); //assign default seatnumbers if (aircraft.FirstClassSeats != null) { item.AvailSeatsF = aircraft.FirstClassSeats; } if (aircraft.BussinessSeats != null) { item.AvailSeatsB = aircraft.BussinessSeats; } item.AvailSeatsE = aircraft.EconomySeats; var diff = item.ArrivalTime.Hour - item.DepartureTime.Hour; item.FlightTime = int.Parse(diff.ToString()); if (!FlightDAO.AddFlight(item)) { ModelState.AddModelError("", string.Format("Could not add flight {0}", item.FNo)); invalid = true; total--; } else { added.Add(string.Format("{0}", item.FNo)); } } } else { ModelState.AddModelError("", "Please enter required fields"); invalid2 = true; } if (!invalid && !invalid2) { return(RedirectToAction("Flight")); } if (added.Count > 0) { ModelState.AddModelError("", "Flights Added: "); foreach (var item in added) { ModelState.AddModelError("", item); } } return(View()); }
public EditUI() { string msg = ""; AddSection() .IsFramed() .WithTitle("Edit Route") .WithColumns(new List <Column> { new Column( new List <IField> { Map(x => x.Name) .AsSectionField <TextBox>() .WithLength(50).LabelTextIs("Name") .Required().TextFormatIs("") .TextFormatIs("^[ a-zA-Z0-9]+$"), Map(x => x.BIN) .AsSectionField <TextBox>() .TextFormatIs(TextFormat.numeric) .WithLength(6, 20).LabelTextIs("BIN").Required() .TextFormatIs(TextFormat.numeric), Map(x => x.Description) .AsSectionField <TextBox>() .WithLength(60) .LabelTextIs("Description") .Required() .TextFormatIs("^[ a-zA-Z0-9]+$"), Map(x => x.SinkNode).AsSectionField <DropDownList>() .Of(() => { return(new SinkNodeDAO().Get().ToList()); }) .ListOf(x => x.Name, x => x.ID).WithEditableText() .Required() .LabelTextIs("Sink Node"), Map(x => x.ID).AsSectionField <TextLabel>().ApplyMod <VisibilityMod>(m => m.Hide <Route>(h => { return(true); })), }), }) .WithFields(new List <IField> { AddSectionButton() .SubmitTo(x => { try { RouteDAO routeDao = new RouteDAO(); Route route = routeDao.GetById(x.ID); //check for uniqueness if (!routeDao.isUniqueName(route.Name, x.Name)) { msg += "Route name must be unique"; return(false); } else if (!routeDao.isUniqueBIN(route.BIN, x.BIN)) { msg += "PAN must be unique"; return(false); } route.Name = x.Name; route.BIN = x.BIN; route.Description = x.Description; route.SinkNode = x.SinkNode; route.DateModified = DateTime.Now; routeDao.Update(route); return(true); } catch (Exception ex) { msg += "An error occured"; string logMsg = "Message= " + ex.Message + " Inner Exception= " + ex.InnerException; MessageLogger.LogError(logMsg); return(false); } }) .ConfirmWith(s => String.Format("Update Route type {0} ", s.Name)).WithText("Update") .OnSuccessDisplay(s => String.Format("Route \"{0}\" has been successfuly editted ", s.Name)) .OnFailureDisplay(s => String.Format("Error editting!\n {0} ", msg)) }); }
public AddUI() { string msg = ""; WithTitle("Add new Route"); Map(x => x.Name).As <TextBox>() .WithLength(35) .LabelTextIs("Route Name") .Required() .TextFormatIs("^[ a-zA-Z0-9]+$"); Map(x => x.BIN).As <TextBox>() .WithLength(6, 20) .LabelTextIs("BIN") .Required() .TextFormatIs(TextFormat.numeric); Map(x => x.Description).As <TextBox>() .WithLength(50) .LabelTextIs("Description") .Required() .TextFormatIs("^[ a-zA-Z0-9]+$"); Map(x => x.SinkNode).As <DropDownList>() .Of(() => { return(new SinkNodeDAO().Get().ToList()); }) .ListOf(x => x.Name, x => x.ID).WithEditableText() .Required() .LabelTextIs("Sink Node"); AddButton() .ApplyMod <IconMod>(x => x.WithIcon(Ext.Net.Icon.Disk)) .WithText("Submit") .SubmitTo(x => { try { Route route = new Route(); RouteDAO routeDao = new RouteDAO(); if (!routeDao.isUniqueName(x.Name)) { msg += "Route name must be unique"; return(false); } else if (!routeDao.isUniqueBIN(x.BIN)) { msg += "PAN must be unique"; return(false); } else { route.Name = x.Name; route.BIN = x.BIN; route.SinkNode = x.SinkNode; route.Description = x.Description; route.DateCreated = DateTime.Now; route.DateModified = DateTime.Now; routeDao.Insert(route); return(true); //Success } } catch (Exception ex) { msg += "An error occured"; string logMsg = "Message= " + ex.Message + " Inner Exception= " + ex.InnerException; MessageLogger.LogError(logMsg); return(false); } }) .OnSuccessDisplay(x => { return("Route" + "" + x.Name + " saved successfully."); }) .OnFailureDisplay(s => String.Format("Error: {0} ", msg)) .CssClassIs("btn btn-default"); }
public RouteManager() { _db = new RouteDAO(); }
public static Iso8583Message ProcessIncommingMessage(int sourceId, Iso8583Message originalMessage) { SourceNode sourceNode = new SourceNodeDAO().GetById(sourceId); //Configure Original Data Element DateTime transmissionDate = DateTime.UtcNow; //Configuring the original data element (intended for transaction matching (e.g. to identify a transaction for correction or reversal) //consists of 5 data elements: MTI (1-4), STAN (5-10), Date&Time (11-20), AcquirerInsttutionCode (21-31), ForwardingInstCode(32-42) string transactionDate = string.Format("{0}{1}", string.Format("{0:00}{1:00}", transmissionDate.Month, transmissionDate.Day), string.Format("{0:00}{1:00}{2:00}", transmissionDate.Hour, transmissionDate.Minute, transmissionDate.Second)); //string originalDataElement = $"{originalMessage.MessageTypeIdentifier}{originalMessage.Fields[11]}{transactionDate}"; string originalDataElement = originalMessage.MessageTypeIdentifier.ToString() + originalMessage.Fields[11] + transactionDate; //if the originalDataElement is empty (for non-reversal), add it if (!(originalMessage.Fields.Contains(MessageField.ORIGINAL_DATA_ELEMENT_FIELD))) { originalMessage.Fields.Add(MessageField.ORIGINAL_DATA_ELEMENT_FIELD, originalDataElement); } MessageLogger.LogMessage("Validating message..."); //check if it's a reversal message if (originalMessage.MessageTypeIdentifier == MTI.REVERSAL_ADVICE || originalMessage.MessageTypeIdentifier == MTI.REPEAT_REVERSAL_ADVICE) { MessageLogger.LogMessage("\nReversal message!"); //confirm that this transaction actually needs to be reversed bool isReversal; Iso8583Message reversalMessage = GetReversalMessage(originalMessage, out isReversal); if (!isReversal) { MessageLogger.LogMessage("Invalid Reversal transaction"); return(reversalMessage); } //continue if it's a reversal message originalMessage = reversalMessage; } string cardPan = originalMessage.Fields[MessageField.CARD_PAN_FIELD].ToString(); decimal amount = Convert.ToDecimal(originalMessage[MessageField.AMOUNT_FIELD].Value); //The amount is in kobo string channelCode = originalMessage.Fields[MessageField.CHANNEL_ID_FIELD].Value.ToString().Substring(0, 2); string tTypeCode = originalMessage.Fields[MessageField.TRANSACTION_TYPE_FIELD].Value.ToString().Substring(0, 2); //first two positions for the transaction type string expiryDate = originalMessage.Fields[MessageField.EXPIRY_DATE_FIELD].Value.ToString(); DateTime expiryDateOfCard = ConvertToDateTime(expiryDate); Iso8583Message responseMessage; //rsponse message to return after performing some checks if (expiryDateOfCard <= DateTime.Now) //card expired { responseMessage = SetReponseMessage(originalMessage, ResponseCode.EXPIRED_CARD.ToString()); MessageLogger.LogMessage("Expired card"); return(responseMessage); } //check the amount, only for balance enq should the amount be zero if (amount <= 0 && tTypeCode != TransactionTypeCode.BALANCE_ENQUIRY.ToString()) { responseMessage = SetReponseMessage(originalMessage, ResponseCode.INVALID_AMOUNT.ToString()); //Invalid amount MessageLogger.LogMessage("Invalid Amount"); return(responseMessage); } Combo theCombo = null; Scheme theScheme = null; var sourceNodeSchemes = sourceNode.Schemes; string pan = originalMessage.Fields[MessageField.CARD_PAN_FIELD].Value.ToString(); var route = new RouteDAO().GetByCardBIN(pan.Substring(0, 6)); if (route == null) { MessageLogger.LogMessage("Route is null."); responseMessage = SetReponseMessage(originalMessage, ResponseCode.ROUTING_ERROR.ToString()); return(responseMessage); } //get the sourcenode by the route theScheme = sourceNodeSchemes.Where(s => s.Route.ID == route.ID).FirstOrDefault(); if (theScheme == null) { MessageLogger.LogMessage("No such secheme"); responseMessage = SetReponseMessage(originalMessage, ResponseCode.TRANSACTION_NOT_PERMITTED_ON_TERMINAL.ToString()); return(responseMessage); } theCombo = theScheme.Combos.Where(c => c.TransactionType.Code.Equals(tTypeCode) && c.Channel.Code.Equals(channelCode)).FirstOrDefault(); if (theCombo == null) //of course, scheme also = null { MessageLogger.LogMessage("Invalid transaction type-channel-fee combo"); responseMessage = SetReponseMessage(originalMessage, ResponseCode.TRANSACTION_NOT_PERMITTED_ON_TERMINAL.ToString()); // Transaction not allowed on terminal return(responseMessage); } var sinkNnode = route.SinkNode; if (sinkNnode == null) { MessageLogger.LogMessage("Sink node is null."); responseMessage = SetReponseMessage(originalMessage, ResponseCode.ISSUER_OR_SWITCH_INOPERATIVE.ToString()); return(responseMessage); } //At this point, everything is assumed to be okay Fee fee = theCombo.Fee; if (fee == null) { MessageLogger.LogMessage("Unacceptable transaction fee"); responseMessage = SetReponseMessage(originalMessage, ResponseCode.UNACCEPTABLE_TRANSACTION_FEE.ToString()); // Transaction type not allowed in this scheme return(responseMessage); } //calculate the transaction fee and embed in the message originalMessage = SetTransactionFee(originalMessage, ComputeFee(fee, amount)); var clientPeer = Program.ClientPeers.Where(p => p.Name.Equals(theScheme.Route.SinkNode.ID.ToString())).FirstOrDefault(); if (clientPeer == null) { MessageLogger.LogMessage("Clientpeer is null"); originalMessage = SetReponseMessage(originalMessage, ResponseCode.ISSUER_OR_SWITCH_INOPERATIVE.ToString()); return(originalMessage); } //////// Iso8583Message replyFromFEP = SendMessageToFEP(clientPeer, originalMessage); //sends message to the client return(replyFromFEP); }
// ROUTE EDIT'S VIEW public ActionResult RouteEdit(int id) => IsLoggedIn() && RouteDAO.GetRoute(id) != null?View(RouteDAO.GetRoute(id)) : (ActionResult)RedirectToAction("Index");
//===Get aircraft range for route adding=== public int GetAircraftRange(string id) { var a = RouteDAO.GetAircraft(id); return(a.Range); }
// ROUTE DELETE's PROCESS public ActionResult RouteDelete(int id) => IsLoggedIn() && RouteDAO.DeleteRoute(id) ? Content("OK") : Content("Error");
public ActionResult RouteAdd(List <Route> newRoutes) { //init variables for validation purposes bool invalid = false, invalid2 = false; List <Route> routeToSkip = new List <Route>(); int total = newRoutes.Count; List <string> added = new List <string>(); //check list for any invalid routes (if departure = destination) foreach (var item in newRoutes) { if (item.Departure == item.Destination) { ModelState.AddModelError("", string.Format("Error at: {0} with plane {1}. Arrival must be different than Departure", item.RAirline, item.RAircraft)); invalid2 = true; //assign route as invalid routeToSkip.Add(item); } } if (ModelState.IsValid || invalid == false) { bool skip = false; foreach (var item in newRoutes) { foreach (var itemToSkip in routeToSkip) { if (item.Equals(itemToSkip)) { skip = true; } } //skip if item in original list equals to any in designated invalid routes, reset skip check if (skip) { skip = false; continue; } //perform add procedure. If route is invalid, add feedback message as validation error, if (!RouteDAO.AddRoute(item)) { ModelState.AddModelError("", string.Format("Could not add {0} with plane {1} going from {2} to {3}", item.RAirline, item.RAircraft, item.Departure, item.Destination)); invalid = true; total--; } //else add to success strings to display in case invalid validation occurs else { added.Add(string.Format("{0}({1}) : {2} - {3}", item.RAirline, item.RAircraft, item.Departure, item.Destination)); } } //if everything is inserted successfully, return to list if (!invalid && !invalid2) { return(RedirectToAction("Route")); } //if there were errors, resets page and notify any inserted routes if (added.Count > 0) { ModelState.AddModelError("", "Routes Added: "); foreach (var item in added) { ModelState.AddModelError("", item); } } } return(View()); }
public RouteBLL() { dao = new RouteDAO(); }
public override ExecutionResult Check(object dataParam) { _exeResult = (ExecutionResult)dataParam; try { string sn = _exeResult.Sn; string stationName = _exeResult.StationName; bool mode = _exeResult.IsAlive; string cproductType = _exeResult.ProductType; if (sn == "") { _exeResult.Status = false; _exeResult.Message = "管号为空!"; return(_exeResult); } if (stationName == "") { _exeResult.Status = false; _exeResult.Message = "站点名为空!"; return(_exeResult); } _exeResult = _routeController.CheckSn(stationName, sn, mode); if (_exeResult.Status) { #region 查询x射线工位不良描述 if (ErrorCodeHelper.ErrorCodeDic.Count <= 0 || ErrorCodeHelper.DescAddrDic.Count <= 0) { _exeResult = ErrorCodeHelper.GetErrorCodeInfo("X射线工位"); } if (!_exeResult.Status) { return(_exeResult); } #endregion #region 查询是否墩粗、喷漆 string isUpsetting = "False"; string isSprayPainting = "False"; string isXray = "True"; string isFirstVacuum = "True"; if (_exeResult.Status) { _exeResult = RouteDAO.GetRouteInfo(sn); DataSet ds = _exeResult.Anything as DataSet; if (ds != null && ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { string name = dr["STATION_NAME"].ToString(); if (name == "喷漆") { isSprayPainting = "True"; } if (name == "墩粗") { isUpsetting = "True"; } if (name == "第一次真空度测试") { isFirstVacuum = "False"; } if (name == "X射线工位") { isXray = "False"; } } } if (!_exeResult.Status) { _exeResult.Status = false; _exeResult.Message = "未找到管号:" + sn + "对应的流程!"; return(_exeResult); } } #endregion #region 查询管型编号 string productSerial = ""; if (_exeResult.Status) { _exeResult = _routeController.GetProductSerial(sn); if (_exeResult.Status) { productSerial = (string)_exeResult.Anything; } if (!_exeResult.Status) { return(_exeResult); } } #endregion #region 查询管型 string productType = ""; if (_exeResult.Status) { _exeResult = _routeController.GetProductType(sn); if (_exeResult.Status) { productType = (string)_exeResult.Anything; if (productType != cproductType) { _exeResult.Message = "产线管型:" + cproductType + "与上线维护管型:" + productType + "不一致"; _exeResult.Status = false; return(_exeResult); } } if (!_exeResult.Status) { return(_exeResult); } } #endregion #region 查询托盘大小 string pallet = ""; if (_exeResult.Status) { _exeResult = _routeController.GetPalletByProductType(productType); if (_exeResult.Status) { pallet = (string)_exeResult.Anything; if (pallet == "1") { pallet = "True"; } else { pallet = "False"; } } if (!_exeResult.Status) { return(_exeResult); } } #endregion if (KepController.KepHelper != null && KepController.KepHelper.State) { //给pLC发送管型、管号、管型编号、是否墩粗、是否喷漆 var autorun = (KepController.KepHelper.Read(AutoRun) ?? "").ToString(); if (autorun == "False") { _exeResult.Status = false; _exeResult.Message = "线体不在自动运行模式,无法扫描录入!"; return(_exeResult); } var badMode = (KepController.KepHelper.Read(BadMode) ?? "").ToString(); if (badMode == "True") { _exeResult.Status = false; _exeResult.Message = "线体在废品上线模式,无法扫描录入!"; return(_exeResult); } var productSerialIsOk = (KepController.KepHelper.Read(ProductSerial) ?? "").ToString(); if (productSerialIsOk == productSerial) { var palletisok = (KepController.KepHelper.Read(Pallet) ?? "").ToString(); if (palletisok == "True") { int scanCount = int.Parse(KepController.KepHelper.Read(ScanCount).ToString()); if (scanCount >= 12) { _exeResult.Status = false; _exeResult.Message = "大托盘已装满" + scanCount + "支,无法再次扫描录入!"; return(_exeResult); } } if (palletisok == "False") { int scanCount = int.Parse(KepController.KepHelper.Read(ScanCount).ToString()); if (scanCount >= 24) { _exeResult.Status = false; _exeResult.Message = "小托盘已装满" + scanCount + "支,无法再次扫描录入!"; return(_exeResult); } } } if (productSerialIsOk != productSerial) { int scanCount = int.Parse(KepController.KepHelper.Read(ScanCount).ToString()); if (scanCount != 0) { _exeResult.Status = false; _exeResult.Message = "一个托盘内不允许放不同管型!"; return(_exeResult); } } KepController.KepHelper.Write(ProductSerial, productSerial); KepController.KepHelper.Write(ProductType, productType); KepController.KepHelper.Write(Pallet, pallet); KepController.KepHelper.Write(IsSprayPainting, isSprayPainting); KepController.KepHelper.Write(IsUpsetting, isUpsetting); KepController.KepHelper.Write(IsFirstVacuum, isFirstVacuum); KepController.KepHelper.Write(IsXray, isXray); //给PLC发送不良信息描述 foreach (var key in ErrorCodeHelper.ErrorCodeDic.Keys) { string wkey = ErrorCodeHelper.DescAddrDic[key]; // string wval = ErrorCodeHelper.ErrorCodekeyDic[key]; string wval = key.Substring(key.LastIndexOf('-') + 1); KepController.KepHelper.Write(wkey, wval); } KepController.KepHelper.Write(ErrorCodeDescCount, ErrorCodeHelper.ErrorCodeDic.Count); #region 判断发送PLC值是否正确 var productSerialok = (KepController.KepHelper.Read(ProductSerial) ?? "").ToString(); if (productSerial != productSerialok) { _exeResult.Status = false; _exeResult.Message = "发送管型序号失败!"; return(_exeResult); } var productTypeok = (KepController.KepHelper.Read(ProductType) ?? "").ToString(); if (productType != productTypeok) { _exeResult.Status = false; _exeResult.Message = "发送管型失败!"; return(_exeResult); } var palletok = (KepController.KepHelper.Read(Pallet) ?? "").ToString(); if (pallet != palletok) { _exeResult.Status = false; _exeResult.Message = "发送托盘类型失败!"; return(_exeResult); } var isSprayPaintingok = (KepController.KepHelper.Read(IsSprayPainting) ?? "").ToString(); if (isSprayPainting != isSprayPaintingok) { _exeResult.Status = false; _exeResult.Message = "发送是否喷漆失败!"; return(_exeResult); } var isUpsettingok = (KepController.KepHelper.Read(IsUpsetting) ?? "").ToString(); if (isUpsetting != isUpsettingok) { _exeResult.Status = false; _exeResult.Message = "发送是否墩粗失败!"; return(_exeResult); } var isFirstVacuumok = (KepController.KepHelper.Read(IsFirstVacuum) ?? "").ToString(); if (isFirstVacuum != isFirstVacuumok) { _exeResult.Status = false; _exeResult.Message = "发送是否第一次真空度失败!"; return(_exeResult); } var isXrayok = (KepController.KepHelper.Read(IsXray) ?? "").ToString(); if (isXray != isXrayok) { _exeResult.Status = false; _exeResult.Message = "发送是否x射线失败!"; return(_exeResult); } var errorCodeDescCountok = (KepController.KepHelper.Read(ErrorCodeDescCount) ?? "").ToString(); if (ErrorCodeHelper.ErrorCodeDic.Count.ToString() != errorCodeDescCountok) { _exeResult.Status = false; _exeResult.Message = "发送不良描述总数失败!"; return(_exeResult); } #endregion if (_exeResult.Status) { _exeResult = _updateStationController.InsertSnToQulity(sn, isSprayPainting, isUpsetting); } if (_exeResult.Status) { _exeResult = _updateStationController.UpdateStationInfo(sn, stationName, "0"); } KepController.KepHelper.Write(ScanFinish, 1); if (_exeResult.Status) { _exeResult.Message = "管号:" + sn + "过站成功!"; } } else { _exeResult.Status = false; _exeResult.Message = "未连接KEP服务器!"; return(_exeResult); } } } catch (Exception e) { _exeResult.Status = false; _exeResult.Message = e.Message; } return(_exeResult); }