| | |
| | | using System.Threading.Tasks; |
| | | using SqlSugar; |
| | | using WIDESEA_ISerialPortRepository; |
| | | using WIDESEA_SerialPortRepository; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | |
| | | { |
| | | public class ProcessServer : ServiceBase<Dt_Process, IProcessRepository>, IProcessServer |
| | | { |
| | | |
| | | private IPutakeRepository _putakeRepository; |
| | | private IUnitOfWorkManage _unitOfWorkManage; |
| | | public ProcessServer(IProcessRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) |
| | | private ITorqueOpRepository _torqueOpRepository; |
| | | public ProcessServer(IProcessRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IPutakeRepository putakeRepository, ITorqueOpRepository torqueOpRepository) : base(BaseDal) |
| | | { |
| | | _putakeRepository = putakeRepository; |
| | | _unitOfWorkManage=unitOfWorkManage; |
| | | _torqueOpRepository = torqueOpRepository; |
| | | } |
| | | |
| | | |
| | | public override PageGridData<Dt_Process> GetPageData(PageDataOptions options) |
| | | { |
| | | OrderByParameters = new Dictionary<string, OrderByType> |
| | | { |
| | | { nameof(Dt_Process.ArticleOne), OrderByType.Asc },//æä»ä¹å段æåº |
| | | }; |
| | | return base.GetPageData(options); |
| | | } |
| | | |
| | | public WebResponseContent GetProcess(string gruop) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent Getcircuit(string groups) |
| | | public WebResponseContent Getcircuit(string group, string takeid) |
| | | { |
| | | try |
| | | { |
| | | List<Dt_Process> results = new List<Dt_Process>(); |
| | | int step = 1; |
| | | ///妿è¿ä¸ªåå¼è¡¨ä¸æ²¡ææ¥éª¤ä¸è¿ä¹æï¼æè¿ä¹æ¾ç¤ºç»å端ç |
| | | |
| | | while (true) |
| | | |
| | | // å
æ¥å°è¿æ¡ä»»å¡ |
| | | var putake = _putakeRepository.QueryData(x => x.Njtakeid == takeid && x.Grouptype == group).OrderBy(x => x.Dispatchtime).FirstOrDefault(); |
| | | if (putake==null) |
| | | { |
| | | // æ¥è¯¢å½åæ¥éª¤çæ°æ® |
| | | var circuit = BaseDal.QueryData(x => x.CraftType == groups && x.SetpNum == step) |
| | | .FirstOrDefault(); |
| | | return new WebResponseContent { Status = false, Message = "æ²¡ææ¾å°" }; |
| | | } |
| | | //è·åå°å½åå®æçæ¥éª¤ |
| | | var nowNum = _torqueOpRepository.QueryData(x => x.GroupOp == group && x.TakeId == takeid).Max(x => x.ProcessSte); |
| | | |
| | | // 妿æ¥è¯¢ç»æä¸ºç©ºï¼ååæ¢å¾ªç¯ |
| | | if (circuit == null) |
| | | |
| | | |
| | | //æ ¹æ®åç»åæ¥éª¤æ¾å°è¯¥æ¡æ°æ® |
| | | var process = BaseDal.QueryData(x => x.CraftType == group&&x.SetpNum== nowNum).FirstOrDefault(); |
| | | |
| | | |
| | | //è¿åå½åå·¥èºçæå¤§æ¥éª¤ |
| | | var maxproce = BaseDal.QueryData(x => x.CraftType == group).Max(x => x.SetpNum); |
| | | |
| | | //ä¸å
±è¦æå¤å°æ¡æ°æ®ï¼ç®æ æ°éï¼ |
| | | int TargetCount = process.TorqueOneQuantity + process.TorqueTwoQuantity; |
| | | |
| | | |
| | | |
| | | // æ¥è¯¢å½åæ¥éª¤ç TorqueOp è®°å½ï¼å¹é
ProcessSteåç»ï¼ä»»å¡å·ï¼æ£æ¥æ¯å¦è¾¾å°è¦æ±ï¼å®é
æ°éï¼ |
| | | int practiceCount = _torqueOpRepository.QueryData(x => x.GroupOp == group&&x.TakeId== takeid).Count(); |
| | | |
| | | |
| | | |
| | | if (practiceCount < TargetCount) |
| | | { |
| | | break; |
| | | return new WebResponseContent { Status = false, Message = "没æå®æå½åæ¥éª¤",Data= process }; |
| | | } |
| | | |
| | | // å å
¥ç»æå表 |
| | | results.Add(circuit); |
| | | |
| | | // éå¢ stepï¼ç»§ç»æ¥è¯¢ä¸ä¸ä¸ªæ¥éª¤ |
| | | step++; |
| | | if (maxproce== nowNum) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "ä½ å®æäºå½åä½ä¸" }; |
| | | } |
| | | int num = nowNum + 1; |
| | | |
| | | return new WebResponseContent { Status = true, Data = results }; |
| | | var nex = BaseDal.QueryFirst(x => x.CraftType == group && x.SetpNum == num); |
| | | |
| | | return new WebResponseContent { Status = true, Data = nex }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ¥è¯¢å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |