public EditScheduleForm(Schedule schedule) { InitializeComponent(); try { DS_Schedule.DataSource = this.schedule; this.schedule = schedule; buildingQuery = new BuildingQuery(_SERVER.ServerName.Database); sequenceQuery = new SequenceQuery(_SERVER.ServerName.Database); ScheduleQuery = new ScheduleQuery(_SERVER.ServerName.Database); ScheduleLine = PoLine = buildingQuery.GetProductionLines(); DS_Schedule.DataSource = this.schedule; DS_Line.DataSource = ScheduleLine; DS_OriginalPoLine.DataSource = PoLine; var temp1 = buildingQuery.GetProductionLine(schedule.ProductionLine_Id); if (temp1 != null) { comboBox1.SelectedItem = ScheduleLine.Where(i => i.id == temp1.id).First(); } var pos = sequenceQuery.GetOriginalPos(schedule); if (pos != null) { DS_OriginalPo.DataSource = pos; } } catch { } }
// stop cut public RespCutting(IDbName database, int binterfaceId, int beamCounter) { BeamCutQuery = new BeamCutQuery(database); StockQuery = new StockQuery(database); EmployeeQuery = new EmployeeQuery(database); SequenceQuery = new SequenceQuery(database); ScheduleQuery = new ScheduleQuery(database); ComponentQuery = new ComponentQuery(database); try { var bInterface = BeamCutQuery.GetBeamInterfaceById(binterfaceId); if (bInterface == null) { Exception = new RespException(true, "Can not find BInterface", EKB_SYS_REQUEST.BEAM_STOP_CUTTING); return; } bInterface.Finish = true; bInterface.BeamCutCounter = beamCounter; bInterface.StopCutTime = DateTime.Now; if (!BeamCutQuery.UpdateBeamInterface(bInterface)) { Exception = new RespException(true, "Can not update BInterface", EKB_SYS_REQUEST.BEAM_STOP_CUTTING); return; } Exception = new RespException(false, "Stop cutting: OK", EKB_SYS_REQUEST.BEAM_STOP_CUTTING); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_STOP_CUTTING); } }
public Unblock(IDbName _database) { database = _database; BuildingQuery = new BuildingQuery(database); SequenceQuery = new SequenceQuery(database); SysHistoryQuery = new SysHistoryQuery(database); ComponentQuery = new ComponentQuery(database); }
/// <summary> /// Retrieves list of sequences matching query. /// </summary> /// <param name="query">The query filter to use.</param> /// <param name="token">Optional cancellation token to use.</param> /// <returns>List of assets matching given filters and optional cursor</returns> public async Task <ItemsWithCursor <Sequence> > ListAsync(SequenceQuery query, CancellationToken token = default) { if (query is null) { throw new ArgumentNullException(nameof(query)); } var req = Oryx.Cognite.Sequences.list <ItemsWithCursor <Sequence> >(query); return(await RunAsync(req, token).ConfigureAwait(false)); }
/// <summary> /// Retrieves number of sequences matching query. /// </summary> /// <param name="query">The query filter to use.</param> /// <param name="token">Optional cancellation token to use.</param> /// <returns>Number of assets matching given filters</returns> public async Task <Int32> AggregateAsync(SequenceQuery query, CancellationToken token = default) { if (query is null) { throw new ArgumentNullException(nameof(query)); } var req = Oryx.Cognite.Sequences.aggregate <Int32>(query); return(await RunAsync(req, token).ConfigureAwait(false)); }
public RespComponent(IDbName _database, int _scheduleId, int originalPoId) { try { ComponentQuery componentQuery = new ComponentQuery(_database); ScheduleQuery scheduleQuery = new ScheduleQuery(_database); SequenceQuery SequenceQuery = new SequenceQuery(_database); var schedule = scheduleQuery.GetSchedule(_scheduleId); var originalPo = SequenceQuery.GetOriginalPo(originalPoId); if (schedule == null) { if (originalPo == null) { Exception = new RespException(true, "Can not find original po", EKB_SYS_REQUEST.BEAM_GET_COMPONENT); return; } schedule = scheduleQuery.GetSchedule(originalPo); if (schedule == null) { Exception = new RespException(true, "Can not find schedule", EKB_SYS_REQUEST.BEAM_GET_COMPONENT); return; } } var components = componentQuery.GetModelComponents(schedule.Model); if (components == null) { Exception = new RespException(true, "Can not find component list", EKB_SYS_REQUEST.BEAM_GET_COMPONENT); return; } components = components.OrderByDescending(i => i.CuttingType.id).ToList(); ComponentList = new List <Component_t>(); foreach (var item in components) { ComponentList.Add(new Component_t(item)); } Exception = new RespException(false, "Get component: Ok", EKB_SYS_REQUEST.BEAM_GET_COMPONENT); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_GET_COMPONENT); } }
public Schedule_t(IDbName database, Schedule _scheule) { SequenceQuery sequenceQuery = new SequenceQuery(database); var po = sequenceQuery.GetOriginalPo(_scheule); if (po != null) { OriginalPoId = po.id; } id = _scheule.id; PoNumber = _scheule.PoNumber; PoQty = ShareFuncs.GetInt(_scheule.Quantity); }
public async Task ListSequenceWithLimit() { // Arrange var query = new SequenceQuery { Limit = 10 }; // Act var res = await WriteClient.Sequences.ListAsync(query); // Assert Assert.True(res.Items.Any(), "Expected at least one sequence"); }
public async Task ListSequenceWithLimitAndFilter() { // Arrange var query = new SequenceQuery { Limit = 10, Filter = new SequenceFilter() { ExternalIdPrefix = "sdk-test" } }; // Act var res = await WriteClient.Sequences.ListAsync(query); // Assert Assert.True(res.Items.Any(), "Expected at least one sequence"); }
public BeamInterface(BeamCutInterface BInterface, int place) { InitializeComponent(); try { lbStartTime.Text = BInterface.StartCutTime.ToString(); lbStopTime.Text = BInterface.StopCutTime.ToString(); BeamCutQuery beamCutQuery = new BeamCutQuery(_SERVER.ServerName.Database); ScheduleQuery scheduleQuery = new ScheduleQuery(_SERVER.ServerName.Database); SequenceQuery sequenceQuery = new SequenceQuery(_SERVER.ServerName.Database); BuildingQuery buildingQuery = new BuildingQuery(_SERVER.ServerName.Database); var clone_po = beamCutQuery.GetBeamCutPo(BInterface.BeamCutPo_Id); lbTotalPoCutQty.Text = clone_po.CuttingQuantity.ToString(); lbComponent.Text = clone_po.ComponentRef; var po = sequenceQuery.GetOriginalPo(ShareFuncs.GetInt(BInterface.OriginalPo_Id)); var schedule = scheduleQuery.GetSchedule(ShareFuncs.GetInt(BInterface.Schedule_Id)); if (schedule == null) { if (po != null) { schedule = scheduleQuery.GetSchedule(po); } if (schedule == null) { this.Hide(); Error = true; return; } } lbPlace.Text = place.ToString(); DS_Interface.DataSource = BInterface; DS_Po.DataSource = schedule; lbLine.Text = buildingQuery.GetProductionLine(ShareFuncs.GetInt(schedule.ProductionLine_Id)).LineName; } catch { this.Hide(); Error = true; return; } }
public void Test() { var v = new PhonemeQuery(new[] { "a", "e", "i", "o", "u" }); var c = new PhonemeQuery(new[] { "r", "t", "b", "l" }); var q = new SequenceQuery(new IQuery[] { c, new MaybeQuery(c), v }); var word = new Word( phonemes: new[] { "a", "t", "a", "b", "l", "e" }, graphicalForms: null, fields: null); QueryAssert.NoMatch(q, word, 0); QueryAssert.IsMatch(q, word, 1, new[] { "t", "a" }); QueryAssert.NoMatch(q, word, 2); QueryAssert.IsMatch(q, word, 3, new[] { "b", "l", "e" }); QueryAssert.IsMatch(q, word, 4, new[] { "l", "e" }); QueryAssert.NoMatch(q, word, 5); QueryAssert.NoMatch(q, word, 6); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, -1)); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, 7)); }
public RespSize(IDbName _database, int seq1Id, int seq2Id) { try { SequenceQuery sequenceQuery = new SequenceQuery(_database); BeamCutQuery beamCutQuery = new BeamCutQuery(_database); List <OriginalPOsequence> SeqList = new List <OriginalPOsequence>(); var CloneSizes = beamCutQuery.GetBeamCutSizes(seq1Id, seq2Id); if (CloneSizes == null) { Exception = new RespException(true, "CloneSizes is NULL", EKB_SYS_REQUEST.BEAM_GET_SIZE); return; } SizeList = new List <Size_t>(); foreach (var size in CloneSizes) { SizeList.Add(new Size_t { SizeId = ShareFuncs.GetInt(size.SizeId), SizeQty = ShareFuncs.GetInt(size.SizeQty), CuttingQty = ShareFuncs.GetInt(size.CutQty), Finish = (size.SizeQty == size.CutQty ? true : false) }); RespTotalCuttingQty += ShareFuncs.GetInt(size.CutQty); RespTotalQty += ShareFuncs.GetInt(size.SizeQty); } Exception = new RespException(false, "Get Size: OK", EKB_SYS_REQUEST.BEAM_GET_SIZE); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_GET_SIZE); } }
public void TestScope() { var v = new PhonemeQuery(new[] { "a", "e", "i", "o", "u" }); var c = new PhonemeQuery(new[] { "r", "s", "c", "b", "l" }); var q = new SequenceQuery(new IQuery[] { c, new MaybeQuery(c), v }); var word = new Word( phonemes: new[] { "s", "c", "r", "a", "b", "l", "e", "b", "l", "e" }, graphicalForms: null, fields: null); var scope = new Interval(2, 6); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, 1, scope)); QueryAssert.IsMatch(q, word, 2, new[] { "r", "a" }, scope); QueryAssert.NoMatch(q, word, 3, scope); QueryAssert.IsMatch(q, word, 4, new[] { "b", "l", "e" }, scope); QueryAssert.IsMatch(q, word, 5, new[] { "l", "e" }, scope); QueryAssert.NoMatch(q, word, 6, scope); QueryAssert.NoMatch(q, word, 7, scope); QueryAssert.NoMatch(q, word, 8, scope); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, 9, scope)); }
public void TestPhonemeSequence() { var v = new PhonemeQuery(new[] { "a", "e", "i", "o", "u" }); var c = new PhonemeQuery(new[] { "r", "t", "b", "l" }); var q = new SequenceQuery(new[] { c, v, c }); var word = new Word( phonemes: new[] { "r", "a", "t", "a", "b", "l", "e" }, graphicalForms: null, fields: null); QueryAssert.IsMatch(q, word, 0, new[] { "r", "a", "t" }); QueryAssert.NoMatch(q, word, 1); QueryAssert.IsMatch(q, word, 2, new[] { "t", "a", "b" }); QueryAssert.NoMatch(q, word, 3); QueryAssert.NoMatch(q, word, 4); QueryAssert.NoMatch(q, word, 5); QueryAssert.NoMatch(q, word, 6); QueryAssert.NoMatch(q, word, 7); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, -1)); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, 8)); }
public void TestSequenceWithEndAnchor() { var e = new EndAnchorQuery(); var v = new PhonemeQuery(new[] { "a", "e", "i", "o", "u" }); var c = new PhonemeQuery(new[] { "r", "t", "b", "l" }); var q = new SequenceQuery(new IQuery[] { c, c, v, e }); var word = new Word( phonemes: new[] { "r", "a", "t", "a", "b", "l", "e" }, graphicalForms: null, fields: null); QueryAssert.NoMatch(q, word, 0); QueryAssert.NoMatch(q, word, 1); QueryAssert.NoMatch(q, word, 2); QueryAssert.NoMatch(q, word, 3); QueryAssert.IsMatch(q, word, 4, new[] { "b", "l", "e" }); QueryAssert.NoMatch(q, word, 5); QueryAssert.NoMatch(q, word, 6); QueryAssert.NoMatch(q, word, 7); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, -1)); Assert.Throws <ArgumentOutOfRangeException>(() => q.Match(word, 8)); }
public EKanbanResponse(IDbName _database, int _ekanbanDeviceId) { EKanbanTaskQuery eKanbanTaskQuery = new EKanbanTaskQuery(_database); SequenceQuery sequenceQuery = new SequenceQuery(_database); ComponentQuery componentQuery = new ComponentQuery(_database); var ekanbanDevice = eKanbanTaskQuery.GetEKanbanDevice(_ekanbanDeviceId); var _Interface = eKanbanTaskQuery.GetLastEKanbanInterface(_ekanbanDeviceId); SizeList = new List <SizeInfo>(); PartList = new List <PartInfo>(); List <OriginalSize> originalSizes = new List <OriginalSize>(); foreach (var item in _Interface.EKanbanLoadings) { var Seq = sequenceQuery.GetOriginalSequence(ShareFuncs.GetInt(item.OriginalSequence_Id)); TotalCartQty += ShareFuncs.GetInt(Seq.Quantity); foreach (var size in Seq.OriginalSizes) { originalSizes.Add(size); } } foreach (var item in originalSizes) { var foundSizes = SizeList.Where(i => i.SizeId == item.SizeId); if (foundSizes.Count() > 0) { foundSizes.First().SizeQty += ShareFuncs.GetInt(item.Quantity); } else { SizeList.Add(new SizeInfo(ShareFuncs.GetInt(item.SizeId), ShareFuncs.GetInt(item.Quantity))); } } Interface = new InterfaceInfo(_Interface); foreach (var item in _Interface.EkanbanComponents) { var Component = componentQuery.GetShoeComponent(ShareFuncs.GetInt(item.ShoeComponent_Id)); PartList.Add(new PartInfo(ShareFuncs.ConvertToUnSign(Component.Reference))); } //if (DateTime.Now.Hour == 17) //{ // if (DateTime.Now.Minute > 50) // { // ScreenOff = true; // ekanbanDevice.ScreenOff = true; // } //} //else //{ // if (DateTime.Now.Hour > 17) // { // ScreenOff = true; // ekanbanDevice.ScreenOff = true; // } //} //if (DateTime.Now.Hour == 6 && DateTime.Now.Minute < 45) //{ // ScreenOff = false; // ekanbanDevice.ScreenOff = false; //} ekanbanDevice.NetworkStatus = (int)SYS_MODELS._ENUM.SysActionCode.ONLINE; ekanbanDevice.LastOnline = DateTime.Now; eKanbanTaskQuery.UpdateEKanbanDevice(ekanbanDevice); if (ekanbanDevice.ScreenOff == null) { ScreenOff = false; } else { ScreenOff = (bool)ekanbanDevice.ScreenOff; } }
public BLastCut(IDbName database, int bdeviceId, int bInterfaceId) { BeamCutQuery = new BeamCutQuery(database); StockQuery = new StockQuery(database); EmployeeQuery = new EmployeeQuery(database); SequenceQuery = new SequenceQuery(database); ScheduleQuery = new ScheduleQuery(database); ComponentQuery = new ComponentQuery(database); try { var bInterface = BeamCutQuery.GetLastInterface(bdeviceId); if (bInterface == null) { Exception = new RespException(true, "Can not find BInterface", EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); bInterface = BeamCutQuery.GetBeamInterfaceById(bInterfaceId); if (bInterface == null) { Exception = new RespException(true, "Can not find BInterface", EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); return; } } var bpo = BeamCutQuery.GetBeamCutPo(ShareFuncs.GetInt(bInterface.BeamCutPo_Id)); if (bpo == null) { Exception = new RespException(true, "Can not find clone Po", EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); return; } var originalPo = SequenceQuery.GetOriginalPo(ShareFuncs.GetInt(bInterface.OriginalPo_Id)); if (originalPo == null) { Exception = new RespException(true, "Can not find Po", EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); return; } BinterfaceId = bInterface.id; PoNumber = originalPo.PoNumber; StartSeq = ShareFuncs.GetInt(bInterface.StartSeqNo); StopSeq = ShareFuncs.GetInt(bInterface.StopSeqNo); if (bInterface.StartCutTime != null) { StartTime = ((DateTime)bInterface.StartCutTime).ToString("hh:mm tt, dd/MM/yyyy"); } if (bInterface.StopCutTime != null) { StopTime = ((DateTime)bInterface.StopCutTime).ToString("hh:mm tt, dd/MM/yyyy"); } CutQty = ShareFuncs.GetInt(bInterface.CuttingQty); CutTime = ShareFuncs.GetInt(bInterface.BeamCutCounter); Employee_Id = ShareFuncs.GetInt(bInterface.Employee_Id); Schedule_Id = ShareFuncs.GetInt(bInterface.Schedule_Id); BeamCutPo_Id = ShareFuncs.GetInt(bInterface.BeamCutPo_Id); BeamCutStartSeq_Id = ShareFuncs.GetInt(bInterface.BeamCutStartSeq_Id); Component_Id = ShareFuncs.GetInt(bpo.Component_Id); BeamCutStopSeq_Id = ShareFuncs.GetInt(bInterface.BeamCutStopSeq_Id); Finish = bInterface.Finish != null ? (bool)bInterface.Finish : false; PoQty = ShareFuncs.GetInt(originalPo.Quantity); OriginalPo_Id = ShareFuncs.GetInt(bInterface.OriginalPo_Id); var component = ComponentQuery.GetShoeComponent(ShareFuncs.GetInt(bpo.Component_Id)); if (component != null) { string comp = ShareFuncs.ConvertToUnSign(component.Reference); Component = comp; } Exception = new RespException(false, "Get last cut: OK", EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_GET_LAST_CUT); } }
public RespFinishAll(IDbName database, int bInterfaceId, int cutCounter) { BeamCutQuery BeamCutQuery = new BeamCutQuery(database); StockQuery StockQuery = new StockQuery(database); EmployeeQuery EmployeeQuery = new EmployeeQuery(database); SequenceQuery SequenceQuery = new SequenceQuery(database); ScheduleQuery ScheduleQuery = new ScheduleQuery(database); ComponentQuery ComponentQuery = new ComponentQuery(database); try { var bInterface = BeamCutQuery.GetBeamInterfaceById(bInterfaceId); if (bInterface == null) { Exception = new RespException(true, "Can not find BInterface", EKB_SYS_REQUEST.FINISH_ALL); return; } var clonePo = BeamCutQuery.GetBeamCutPo(ShareFuncs.GetInt(bInterface.BeamCutPo_Id)); if (clonePo == null) { Exception = new RespException(true, "Invalid clone Po Id", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } int addQty = 0; foreach (var seq in clonePo.BeamCutSeqs) { var currentSeq = BeamCutQuery.GetBeamCutSeq(seq.id); if (currentSeq.SequenceNo < bInterface.SequenceNo + bInterface.TotalSequence) { foreach (var size in seq.BeamCutSizes) { addQty += ShareFuncs.GetInt(size.SizeQty - size.CutQty); size.CutQty = size.SizeQty; size.Finished = true; size.LastUpdate = DateTime.Now; BeamCutQuery.UpdateBeamSize(size); } currentSeq.CutQty += addQty; currentSeq.LastUpdate = DateTime.Now; currentSeq.Finish = true; BeamCutQuery.UpdateBeamCutSeq(currentSeq); } } bInterface.BeamCutCounter += cutCounter; bInterface.CuttingQty += addQty; bInterface.StopCutTime = DateTime.Now; if (!BeamCutQuery.UpdateBeamInterface(bInterface)) { Exception = new RespException(true, "Can not update BInterface", EKB_SYS_REQUEST.FINISH_ALL); return; } } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.FINISH_ALL); } }
static void Main(string[] args) { IDbName database = new RealDb(); SequenceQuery sequenceQuery = new SequenceQuery(database); ScheduleQuery ScheduleQuery = new ScheduleQuery(database); var po = sequenceQuery.GetOriginalPo(3987); var schedule = ScheduleQuery.GetSchedule(po); //IDbName database = new FakeDb(); while (true) { string s = Console.ReadLine().ToLower(); if (s.Contains("update-database")) { SERVER_INITIALIZE.DbSeed DB = new SERVER_INITIALIZE.DbSeed(database); DB.Runing(); } if (s.Contains("update-schedule")) { Console.WriteLine("Start checking..."); AutoScheule AutoSchedule = new AutoScheule(database); AutoSchedule.Update(); Console.WriteLine("Stop checking..."); } if (s.Contains("get-schedule")) { ScheduleQuery scheduleQuery = new ScheduleQuery(database); var schedules = scheduleQuery.GetSchedules("012").Take(5); foreach (var item in schedules) { Console.WriteLine($"Id:{item.id}, Number: {item.PoNumber}"); } Console.WriteLine("Please select scheule to clone"); string num = Console.ReadLine(); int scheduleId = 0; int.TryParse(num, out scheduleId); BeamCutQuery beamCutQuery = new BeamCutQuery(database); var results = beamCutQuery.CloneOriginalPo(scheduleId); if (results != null) { foreach (var item in results) { Console.WriteLine($"Original Id: {item.OriginalPo_Id}, Comp Id: {item.Component_Id}"); foreach (var seq in item.BeamCutSeqs) { Console.WriteLine($"Seq Id: {seq.id}, Seq No: {seq.SequenceNo}, Seq Qty: {seq.SequenceQty}"); foreach (var size in seq.BeamCutSizes) { Console.WriteLine($"Size Id: {size.SizeId},Beam Po Id: {size.BeamCutPo_Id}, Beam Seq Id: {size.BeamCutSeq_Id}"); } } } } } if (s.Contains("request-schedule")) { var schedules = new RespSchedule(database, "L3", 12, 0); Console.WriteLine(JsonConvert.SerializeObject(schedules)); } if (s.Contains("request-poinfo")) { //var schedules = new EKB_WEBSERVER.API.RuntimeModels.RespPoInfo(database, 2541 ,341); } if (s.Contains("request-size")) { var sizes = new RespSize(database, 3, 9, 341); Console.WriteLine(JsonConvert.SerializeObject(sizes)); } if (s.Contains("request-lastcut")) { //Console.WriteLine(JsonConvert.SerializeObject(new BLastCut(database, 4))); } if (s.Contains("info")) { //var sizes = new EKB_WEBSERVER.API.RuntimeModels.RespPoInfo(database, 2540, 322); //Console.WriteLine(JsonConvert.SerializeObject(sizes)); } if (s.Contains("cuttime")) { var temp = new BDeviceCutTime(database, 1, 6); } } }
public ConfirmResponse(IDbName _database, int _ekanbanDeviceId, int _confirmQty) { try { EKanbanTaskQuery eKanbanTaskQuery = new EKanbanTaskQuery(_database); SequenceQuery sequenceQuery = new SequenceQuery(_database); ComponentQuery componentQuery = new ComponentQuery(_database); StockQuery stockQuery = new StockQuery(_database); ScheduleQuery scheduleQuery = new ScheduleQuery(_database); SysHistoryQuery sysHistoryQuery = new SysHistoryQuery(_database); var Interface = eKanbanTaskQuery.GetLastEKanbanInterface(_ekanbanDeviceId); var his = sysHistoryQuery.GetEKanbanHistory(Interface); if (Interface.SysActionCode == (int)SYS_MODELS._ENUM.SysActionCode.EKANBAN_CONFIRM_ITEM) { ConfirmSuccess = true; EMessage = "EKanban is already conform!"; return; } Interface.SysActionCode = (int)SYS_MODELS._ENUM.SysActionCode.EKANBAN_CONFIRM_ITEM; Interface.LastUpdate = DateTime.Now; if (!eKanbanTaskQuery.UpdateEKanbanInterface(Interface)) { ConfirmSuccess = false; EMessage = "EKanban is already conform!"; return; } List <Schedule> schedules = new List <Schedule>(); foreach (var item in Interface.EKanbanLoadings) { var sch = scheduleQuery.GetSchedule(ShareFuncs.GetInt(item.OriginalPo_Id)); var Seq = sequenceQuery.GetOriginalSequence(ShareFuncs.GetInt(item.OriginalSequence_Id)); if (sch != null) { var stock = stockQuery.GetPrepareStockMeasure(sch); if (stock != null) { StockConfirmSequence stockConfirm = new StockConfirmSequence { FinishTime = DateTime.Now, SequenceNo = Seq.SequenceNo, SequenceQty = Seq.Quantity, StockMeasure_Id = stock.id, }; StockMessage = "Update stock message successfully"; if (!stockQuery.AddNewStockConfirm(stockConfirm)) { StockMessage = "An error orcured while updating stock"; } stock.ConfirmUpdateTime = DateTime.Now; stock.EKanbanConfirmQty += Seq.Quantity; if (!stockQuery.UpdateStockMeasure(stock)) { StockMessage = "An error orcured while updating stock"; } } } item.SysActionCode = (int)SYS_MODELS._ENUM.SysActionCode.SEQUENCE_CONFORM; item.LastUpdate = DateTime.Now; item.ConfirmQty = _confirmQty; eKanbanTaskQuery.UpdateEKanbanLoading(item); string jsonStr = Newtonsoft.Json.JsonConvert.SerializeObject(Interface); his.Data = jsonStr; his.DateTime = DateTime.Now; sysHistoryQuery.UpdateEKanbanHis(his); EKanbanConfirmHis eKanbanConfirmHis = new EKanbanConfirmHis { Conform = true, DateTime = DateTime.Now, EKanbanHis_Id = his.id, OriginalSequence_Id = Seq.id, SequenceNo = Seq.SequenceNo, SequenceQty = Seq.Quantity, }; sysHistoryQuery.AddNewConfirmHistory(eKanbanConfirmHis); } ConfirmSuccess = true; EMessage = "EKanban is conform successfully"; } catch (Exception e) { EMessage = e.Message; } }
public OrderResult(BeamCutPo beamCutPo) { try { InitializeComponent(); BeamCutPo = new BeamCutPo(); BeamCutPo = beamCutPo; BeamCutQuery beamCutQuery = new BeamCutQuery(_SERVER.ServerName.Database); ComponentQuery componentQuery = new ComponentQuery(_SERVER.ServerName.Database); SequenceQuery sequenceQuery = new SequenceQuery(_SERVER.ServerName.Database); var originalPo = sequenceQuery.GetOriginalPo(beamCutPo.OriginalPo_Id); var component = componentQuery.GetShoeComponent(BeamCutPo.Component_Id); label2.Text = component != null ? component.Reference : ""; var Binterface = beamCutQuery.GetBeamInterface(beamCutPo.id); int totalCutQty = 0; int totalCutTime = 0; bool first = false; bool last = false; double totalTime = 0; DateTime?start = null, stop = null, last_update = null; foreach (var item in Binterface) { if (!first) { if (item.StartCutTime != null) { start = (DateTime)item.StartCutTime; label9.Text = start != null?start.ToString() : ""; } first = true; } totalCutTime += ShareFuncs.GetInt(item.BeamCutCounter); totalCutQty += ShareFuncs.GetInt(item.CuttingQty); if (item.StopCutTime != null) { label7.Text = item.StopCutTime.ToString(); } try { if (item.StopCutTime != null) { stop = (DateTime)item.StopCutTime; } else { stop = (DateTime)item.LastConfirmSize; } label11.Text = stop != null ? ((DateTime)stop).ToString() : ""; totalTime = ((DateTime)stop - (DateTime)start).TotalSeconds; label13.Text = $"{((int)totalTime / 60)}min {(int)totalTime % 60}sec"; label15.Text = $"{(int)(totalCutQty * 60 / totalTime)} c/min"; } catch { } } label3.Text = totalCutQty.ToString(); label5.Text = totalCutTime.ToString(); TotalCutQty = totalCutQty; } catch { } }
public RespConfirmSize(IDbName database, int bInterfaceId, int sizeId, int sizeQty) { try { BeamCutQuery = new BeamCutQuery(database); StockQuery = new StockQuery(database); EmployeeQuery = new EmployeeQuery(database); SequenceQuery = new SequenceQuery(database); ScheduleQuery = new ScheduleQuery(database); ComponentQuery = new ComponentQuery(database); var beamInterface = BeamCutQuery.GetBeamInterfaceById(bInterfaceId); if (beamInterface == null) { Exception = new RespException(true, "Can not find BInterface", EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); return; } var bdevice = BeamCutQuery.GetBeamCutDevice(beamInterface.BeamCutDevice_Id); if (bdevice == null) { Exception = new RespException(true, "Can not find beam cut device", EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); return; } var clonePo = BeamCutQuery.GetBeamCutPo(ShareFuncs.GetInt(beamInterface.BeamCutPo_Id)); if (clonePo == null) { Exception = new RespException(true, "Can not find clone Po", EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); return; } var seq1 = BeamCutQuery.GetBeamCutSeq(ShareFuncs.GetInt(beamInterface.BeamCutStartSeq_Id)); var seq2 = BeamCutQuery.GetBeamCutSeq(ShareFuncs.GetInt(beamInterface.BeamCutStopSeq_Id)); int cutQty = 0; int totalQty = 0; int currentQty = 0; int addQty = 0; int seqTotalQty = 0; int seqQty = 0; foreach (var seq in clonePo.BeamCutSeqs) { if (seq.SequenceNo >= seq1.SequenceNo && seq.SequenceNo <= seq2.SequenceNo) { if (seq.Finish == false) { var sizes = BeamCutQuery.GetBeamCutSize(seq.id); int seqcutQty = ShareFuncs.GetInt(seq.CutQty); foreach (var size in sizes) { if (size.SizeId == sizeId) { if (size.Finished != true && sizeQty > 0) { int oldval = ShareFuncs.GetInt(size.CutQty); int addval = ShareFuncs.GetInt(size.SizeQty) - oldval; if (sizeQty >= addval) { addval = ShareFuncs.GetInt(size.SizeQty) - oldval; size.CutQty = size.SizeQty; size.Finished = true; seqcutQty += addval; sizeQty -= addval; addQty += addval; } else { size.CutQty += sizeQty; seqcutQty += sizeQty; addQty += sizeQty; sizeQty = 0; } size.BeamCutDevice_Id = beamInterface.BeamCutDevice_Id; size.Worker_Id = beamInterface.Employee_Id; size.LastUpdate = DateTime.Now; BeamCutQuery.UpdateBeamSize(size); } totalQty += ShareFuncs.GetInt(size.SizeQty); cutQty += ShareFuncs.GetInt(size.CutQty); } currentQty += ShareFuncs.GetInt(size.CutQty); } seq.BeamCutDevice_Id = beamInterface.BeamCutDevice_Id; seq.Worker_Id = beamInterface.Employee_Id; seq.CutQty = seqcutQty; seq.LastUpdate = DateTime.Now; seq.Finish = seq.CutQty == seq.SequenceQty ? true : false; BeamCutQuery.UpdateBeamCutSeq(seq); } seqTotalQty += ShareFuncs.GetInt(seq.CutQty); seqQty += ShareFuncs.GetInt(seq.SequenceQty); } } if (seqTotalQty == seqQty) { StopCutting = true; } int oldVal = beamInterface.CuttingQty != null ? (int)beamInterface.CuttingQty : 0; beamInterface.LastConfirmSize = DateTime.Now; beamInterface.CuttingQty = addQty + oldVal; BeamCutQuery.UpdateBeamInterface(beamInterface); clonePo.LastUpdate = DateTime.Now; clonePo.CuttingQuantity += addQty; if (clonePo.CuttingQuantity == clonePo.PoQuantity) { clonePo.Finish = true; clonePo.FinishTime = DateTime.Now; } BeamCutQuery.UpdateBeamCutPo(clonePo); var statistic = BeamCutQuery.GetBMachineStatistic(ShareFuncs.GetInt(beamInterface.BeamCutDevice_Id), DateTime.Now); if (statistic == null) { statistic = BeamCutQuery.AddNewBcutStatistic(ShareFuncs.GetInt(beamInterface.BeamCutDevice_Id), DateTime.Now); } BDeviceCutTimeRecord record = new BDeviceCutTimeRecord { TotalCutTime = 0, BeamCutDevice_Id = bdevice.id, ConfirmQuantity = addQty, BMachineStatistic_Id = statistic.id, }; if (!BeamCutQuery.AddNewBCutTimeRecord(record)) { Exception = new RespException(true, "Add new record failed", EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); } int temp = statistic.TotalCutQty != null ? (int)statistic.TotalCutQty : 0; statistic.TotalCutQty = temp + addQty; BeamCutQuery.UpdateBStatistic(statistic); RespTotalCuttingQty = ShareFuncs.GetInt(beamInterface.CuttingQty); SizeId = sizeId; CutQty = cutQty; Finish = (totalQty == cutQty ? true : false); Exception = new RespException(false, "Confirm Size: OK", EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_CONFIRM_SIZE); } }
public RespPoInfo(IDbName _database, int scheduleId, int originalPoId, int componentId) { try { ScheduleQuery scheduleQuery = new ScheduleQuery(_database); SequenceQuery sequenceQuery = new SequenceQuery(_database); BeamCutQuery beamCutQuery = new BeamCutQuery(_database); SequenceQuery SequenceQuery = new SequenceQuery(_database); ComponentQuery componentQuery = new ComponentQuery(_database); var schedule = scheduleQuery.GetSchedule(scheduleId); var originalPo = SequenceQuery.GetOriginalPo(originalPoId); var shoeComponent = componentQuery.GetShoeComponent(componentId); if (schedule == null) { if (originalPo == null) { Exception = new RespException(true, "Can not find schedule", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); return; } schedule = scheduleQuery.GetSchedule(originalPo); if (schedule == null) { Exception = new RespException(true, "Can not find schedule", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); return; } } if (shoeComponent == null) { Exception = new RespException(true, "Can not find component", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); return; } PoInfo = new PoInfo(_database, schedule); if (originalPo == null) { Exception = new RespException(true, "Empty sequence file", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); return; } var clonePo = beamCutQuery.FindClonePo(originalPo.id, componentId); if (clonePo != null) { ClonePoId = clonePo.id; SeqList = new List <SeqInfo>(); foreach (var item in clonePo.BeamCutSeqs) { SeqList.Add(new SeqInfo { id = item.id, CuttingQty = ShareFuncs.GetInt(item.CutQty), SeqNo = ShareFuncs.GetInt(item.SequenceNo), SeqQty = ShareFuncs.GetInt(item.SequenceQty), Finish = item.Finish == true ? true : false, }); } } else { var bClonePo = beamCutQuery.CloneOriginalPo(originalPo, shoeComponent); if (bClonePo == null) { Exception = new RespException(true, "An error occured while requesting po information", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); return; } ClonePoId = bClonePo.id; SeqList = new List <SeqInfo>(); foreach (var item in bClonePo.BeamCutSeqs) { SeqList.Add(new SeqInfo { id = item.id, CuttingQty = ShareFuncs.GetInt(item.CutQty), SeqNo = ShareFuncs.GetInt(item.SequenceNo), SeqQty = ShareFuncs.GetInt(item.SequenceQty), Finish = item.Finish == true ? true : false, }); } } Exception = new RespException(false, "Get Poinfo: OK", EKB_SYS_REQUEST.BEAM_GET_PO_INFO); } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_GET_PO_INFO); } }
// start cutting construction public RespCutting(IDbName database, int deviceId, int workerId, int clonePoId, int seq1Id, int seq2Id, int binterfaceId) { BeamCutQuery = new BeamCutQuery(database); StockQuery = new StockQuery(database); EmployeeQuery = new EmployeeQuery(database); SequenceQuery = new SequenceQuery(database); ScheduleQuery = new ScheduleQuery(database); ComponentQuery = new ComponentQuery(database); try { var worker = EmployeeQuery.GetEmployee(workerId); if (worker == null) { Exception = new RespException(true, "Invalid worker Id", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var bdevice = BeamCutQuery.GetBeamCutDevice(deviceId); if (bdevice == null) { Exception = new RespException(true, "Invalid device Id", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var clonePo = BeamCutQuery.GetBeamCutPo(clonePoId); if (clonePo == null) { Exception = new RespException(true, "Invalid clone Po Id", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var originalPo = SequenceQuery.GetOriginalPo(clonePo.OriginalPo_Id); if (originalPo == null) { Exception = new RespException(true, "Can not find original po", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var component = ComponentQuery.GetShoeComponent(clonePo.Component_Id); if (component == null) { Exception = new RespException(true, "Can not find component", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var schedule = ScheduleQuery.GetSchedule(originalPo); if (schedule == null) { Exception = new RespException(true, "Can not find schedule", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } var order = BeamCutQuery.GetBDeviceOrder(originalPo, deviceId); var startSeq = BeamCutQuery.GetBeamCutSeq(seq1Id); var stopSeq = BeamCutQuery.GetBeamCutSeq(seq2Id); if (startSeq == null || stopSeq == null) { Exception = new RespException(true, "Invalid clone Seq Id", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } int[] qty = BeamCutQuery.GetTotalSelectSequenceQty(startSeq, stopSeq); if (qty == null) { qty = new int[] { 0, 0 } } ; int bId = binterfaceId; BeamCutInterface binterface = BeamCutQuery.GetBeamInterfaceById(binterfaceId); int scheduleId = 0; if (schedule != null) { scheduleId = schedule.id; } if (binterface == null) { binterface = new BeamCutInterface { Employee_Id = workerId, BeamCutDevice_Id = deviceId, BeamCutPo_Id = clonePoId, OriginalPo_Id = clonePo.OriginalPo_Id, BeamCutStartSeq_Id = seq1Id, BeamCutStopSeq_Id = seq2Id, TotalSelectedQty = qty[0], TotalSelectCutQty = qty[1], Schedule_Id = scheduleId, StartSeqNo = startSeq.SequenceNo, StopSeqNo = stopSeq.SequenceNo, StartCutTime = DateTime.Now, CuttingQty = 0, BeamCutCounter = 0, BDeviceOrder_Id = order != null ? order.id : 0, }; var beamInterface = BeamCutQuery.AddNewBeamCutInterface(binterface); if (beamInterface == null) { Exception = new RespException(true, "Add new BInterface error", EKB_SYS_REQUEST.BEAM_START_CUTTING); return; } bId = beamInterface.id; } StockMeasure stockMeasure = StockQuery.GetStockMeasure(schedule); if (stockMeasure == null) { var stock = StockQuery.AddNewStockMeasure(schedule); } Exception = new RespException(false, "Start cutting: OK", EKB_SYS_REQUEST.BEAM_START_CUTTING); InterfaceId = bId; } catch (Exception e) { Exception = new RespException(true, e.Message, EKB_SYS_REQUEST.BEAM_START_CUTTING); } }