| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System.Linq;
- using System.Collections.Generic;
- using SHJX.Service.Model.Dao;
- using SHJX.Service.Common.ReadXML;
- using SHJX.Service.Control.Interface;
- namespace SHJX.Service.Control.TimerControl.ChangeTaskState
- {
- public class WashChangeState : ChangeTaskStateImp
- {
- public WashChangeState(ReadConfigUtil config) : base(config) { }
- #region ChangeTaskState
- public override void ChangeEquipmentTaskStateEvent()
- {
- if (!DataManager.CheckWashTaskIsRunning()) return;
- ChangeWashTaskState(1);
- }
- private void ChangeWashTaskState(int routeId)
- {
- var tasks = DataManager.GetWashTaskByRouteId(routeId);
- if (tasks.Any())
- {
- var defaultTasks = tasks.Where(item => item.Status.Equals(TaskState.New)).ToList();
- if (defaultTasks.Any())
- ChangeTaskState(defaultTasks);
- }
- else
- {
- if (routeId.Equals(10))
- return;
- ChangeWashTaskState(++routeId);
- }
- }
- private void ChangeTaskState(List<EquipmentTask> defaultTasks)
- {
- foreach (var item in defaultTasks)
- {
- var res = item.RouteId.GetEquipmentAreaPoint(out var areaPoint, item.RouteType,item.SampleConcentration);
- if (!res) continue;
- item.To = !string.IsNullOrWhiteSpace(areaPoint) ? areaPoint : item.To;
- item.Status = TaskState.Doing;
- }
- DataManager.Update(defaultTasks);
- }
- #endregion
- }
- }
|