| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Diagnostics; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Text.RegularExpressions; |
| | | using System.Threading.Tasks; |
| | | using AutoMapper; |
| | | using AutoMapper.Configuration.Conventions; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; |
| | | using SqlSugar; |
| | | using WIDESEA_ISerialPortRepository; |
| | | using WIDESEA_SerialPortRepository; |
| | |
| | | private IPutakeRepository _putakeRepository; |
| | | private IUnitOfWorkManage _unitOfWorkManage; |
| | | private ITorqueOpRepository _torqueOpRepository; |
| | | public ProcessServer(IProcessRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IPutakeRepository putakeRepository, ITorqueOpRepository torqueOpRepository) : base(BaseDal) |
| | | private readonly IMapper _mapper; |
| | | |
| | | public ProcessServer(IProcessRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IPutakeRepository putakeRepository, ITorqueOpRepository torqueOpRepository, IMapper mapper) : base(BaseDal) |
| | | { |
| | | _putakeRepository = putakeRepository; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _torqueOpRepository = torqueOpRepository; |
| | | _mapper = mapper; |
| | | } |
| | | |
| | | public override PageGridData<Dt_Process> GetPageData(PageDataOptions options) |
| | |
| | | return base.GetPageData(options); |
| | | } |
| | | |
| | | |
| | | |
| | | //è·åå¥çæ°é |
| | | public WebResponseContent GetSleeveandStep(string gruops) |
| | | /// <summary> |
| | | /// è·åå¥çæ°é |
| | | /// </summary> |
| | | /// <returns>è¿åçç»ãæ»æ¥éª¤ãå¥çæ°é</returns> |
| | | public WebResponseContent GetSleeveandStep() |
| | | { |
| | | try |
| | | { |
| | | var result = BaseDal.QueryData(x => x.CraftType == gruops) // å
çé CraftType |
| | | var result = BaseDal.QueryData() // å
æ¥åºå
¨é¨ |
| | | .GroupBy(x => x.CraftType) // æ CraftType åç» |
| | | .Select(g => new |
| | | { |
| | | maxNodal = g.Max(a => a.Nodal), |
| | | sumTorqueSum = g.Sum(a => a.TorqueSum) |
| | | //å°½éåç«¯æ°æ®ç»åç«¯çæ°æ®ï¼è°ä¸æ¬¡æ¥å£å°±å¯ä»¥æ¿å°ï¼ä¸è¦è®©åç«¯å¤æ¬¡è°ç¨ |
| | | CraftType = g.Key, // æ·»å CraftType |
| | | maxNodal = g.Max(a => a.Nodal),//æå¤§æ¥éª¤ |
| | | sumTorqueSum = g.Sum(a => a.TorqueSum),//å¥çæ°é |
| | | }).ToList(); |
| | | |
| | | |
| | | return new WebResponseContent { Status = true, Data = result }; |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | |
| | | |
| | | #region |
| | | //public WebResponseContent AddOrUpdateProcess(AddProcessDTO addProcessDTO) |
| | | //{ |
| | | // try |
| | | // { |
| | | // var allProcesses = BaseDal.QueryData(); // ä»
æ¥è¯¢ä¸æ¬¡æææ°æ® |
| | | |
| | | public WebResponseContent AddOrUpdateProcess(AddProcessDTO addProcessDTO) |
| | | { |
| | | try |
| | | { |
| | | |
| | | // å¤ææ¯æ·»å è¿æ¯æ´æ° |
| | | if (addProcessDTO.id == 0)//æ·»å |
| | | { |
| | | var pross = BaseDal.QueryData(); |
| | | // æ£æ¥æ¯å¦å·²ç»åå¨ç¸åç setnum |
| | | bool isExist = pross.Where(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype).Any(); |
| | | if (isExist) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setnum} å·²åå¨ï¼ä¸è½é夿·»å ï¼" }; |
| | | } |
| | | // if (addProcessDTO.id == 0) // æ·»å |
| | | // { |
| | | // // æ£æ¥æ¯å¦å·²ç»åå¨ç¸åç setnum |
| | | // if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype)) |
| | | // { |
| | | // return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setnum} å·²åå¨ï¼ä¸è½é夿·»å ï¼" }; |
| | | // } |
| | | |
| | | // å建æ°å·¥èºæ¥éª¤ |
| | | var proces = new Dt_Process |
| | | { |
| | | SetpNum = addProcessDTO.setnum, |
| | | CraftType = addProcessDTO.craftstype, |
| | | CraftsStep = addProcessDTO.craftsstep, |
| | | CraftContent = addProcessDTO.craftcontent, |
| | | Tools = addProcessDTO.tools, |
| | | Material = addProcessDTO.material, |
| | | ArticleOneid = addProcessDTO.aritcleoneid, |
| | | ArticleOne = addProcessDTO.articleone, |
| | | ArticleTowid = addProcessDTO.aritcletowid, |
| | | ArticleTwo = addProcessDTO.articletwo, |
| | | Creater = "admin", |
| | | CreateDate = DateTime.Now |
| | | }; |
| | | // // å建æ°å·¥èºæ¥éª¤ |
| | | // var proces = new Dt_Process |
| | | // { |
| | | // SetpNum = addProcessDTO.setnum, |
| | | // CraftType = addProcessDTO.craftstype, |
| | | // CraftsStep = addProcessDTO.craftsstep, |
| | | // CraftContent = addProcessDTO.craftcontent, |
| | | // Tools = addProcessDTO.tools, |
| | | // Material = addProcessDTO.material, |
| | | // ArticleOneid = addProcessDTO.aritcleoneid, |
| | | // ArticleOne = addProcessDTO.articleone, |
| | | // ArticleTowid = addProcessDTO.aritcletowid, |
| | | // ArticleTwo = addProcessDTO.articletwo, |
| | | // CreateDate = DateTime.Now |
| | | // }; |
| | | |
| | | BaseDal.AddData(proces); |
| | | return new WebResponseContent { Status = true, Data = proces }; |
| | | } |
| | | else//æ´æ° |
| | | { |
| | | // æ¥è¯¢å½åè¦æ´æ°çè®°å½ |
| | | var existingProcess = BaseDal.QueryFirst(x => x.CraftID == addProcessDTO.id); |
| | | if (existingProcess == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æªæ¾å°è¯¥å·¥èºæ¥éª¤ï¼æ æ³æ´æ°ï¼" }; |
| | | } |
| | | // BaseDal.AddData(proces); |
| | | // return new WebResponseContent { Status = true, Data = proces }; |
| | | // } |
| | | // else // æ´æ° |
| | | // { |
| | | // var existingProcess = allProcesses.FirstOrDefault(x => x.CraftID == addProcessDTO.id); |
| | | // if (existingProcess == null) |
| | | // { |
| | | // return new WebResponseContent { Status = false, Message = "æªæ¾å°è¯¥å·¥èºæ¥éª¤ï¼æ æ³æ´æ°ï¼" }; |
| | | // } |
| | | |
| | | // åªæå½ setnum åçååæ¶ï¼æè¿è¡é夿§æ£æ¥ |
| | | if (existingProcess.Nodal != addProcessDTO.setnum) |
| | | { |
| | | bool isExist = BaseDal.QueryData(x => x.Nodal == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id).Any(); |
| | | if (isExist) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setnum} å·²åå¨ï¼ä¸è½éå¤ï¼" }; |
| | | } |
| | | } |
| | | // // åªæå½ setnum åçååæ¶ï¼æè¿è¡é夿§æ£æ¥ |
| | | // if (existingProcess.SetpNum != addProcessDTO.setnum && allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id)) |
| | | // { |
| | | // return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setnum} å·²åå¨ï¼ä¸è½éå¤ï¼" }; |
| | | // } |
| | | |
| | | // æ´æ°æ°æ® |
| | | existingProcess.SetpNum = addProcessDTO.setnum; |
| | | existingProcess.CraftType = addProcessDTO.craftstype; |
| | | existingProcess.CraftsStep = addProcessDTO.craftsstep; |
| | | existingProcess.CraftContent = addProcessDTO.craftcontent; |
| | | existingProcess.Tools = addProcessDTO.tools; |
| | | existingProcess.Material = addProcessDTO.material; |
| | | existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; |
| | | existingProcess.ArticleOne = addProcessDTO.articleone; |
| | | existingProcess.ArticleTowid = addProcessDTO.aritcletowid; |
| | | existingProcess.ArticleTwo = addProcessDTO.articletwo; |
| | | existingProcess.CreateDate = DateTime.Now; |
| | | BaseDal.UpdateData(existingProcess); |
| | | |
| | | // // æ´æ°æ°æ® |
| | | // existingProcess.Nodal = addProcessDTO.Nodal; |
| | | // existingProcess.SetpNum = addProcessDTO.setnum; |
| | | // existingProcess.CraftType = addProcessDTO.craftstype; |
| | | // existingProcess.CraftsStep = addProcessDTO.craftsstep; |
| | | // existingProcess.CraftContent = addProcessDTO.craftcontent; |
| | | // existingProcess.Tools = addProcessDTO.tools; |
| | | // existingProcess.Material = addProcessDTO.material; |
| | | // existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; |
| | | // existingProcess.ArticleOne = addProcessDTO.articleone; |
| | | // existingProcess.ArticleTowid = addProcessDTO.aritcletowid; |
| | | // existingProcess.ArticleTwo = addProcessDTO.articletwo; |
| | | // existingProcess.CreateDate = DateTime.Now; |
| | | |
| | | return new WebResponseContent { Status = true, Data = existingProcess }; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | return new WebResponseContent { Status = false, Message = "æä½å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | // BaseDal.UpdateData(existingProcess); |
| | | // return new WebResponseContent { Status = true, Data = existingProcess }; |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // return new WebResponseContent { Status = false, Message = "æä½å¤±è´¥ï¼" + ex.Message }; |
| | | // } |
| | | //} |
| | | |
| | | |
| | | |
| | | |
| | | //è·åå½åä»»å¡å·¥ä½æ¥éª¤ |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®idæ¥å¤æï¼æidå°±æ´æ°æ²¡æå°±æ·»å |
| | | /// </summary> |
| | | /// <param name="addProcessDTO"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent AddOrUpdateProcess(AddProcessDTO addProcessDTO) |
| | | { |
| | | try |
| | | { |
| | | var allProcesses = BaseDal.QueryData().OrderBy(x => x.SetpNum).ToList(); // æ SetpNum æåº |
| | | Dt_Process proces = _mapper.Map<Dt_Process>(addProcessDTO); |
| | | |
| | | #region æ·»å |
| | | if (addProcessDTO.CraftID == 0) // æ·»å |
| | | { |
| | | //// æ£æ¥æ¯å¦å·²ç»åå¨ç¸åç SetpNum |
| | | //if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setpNum && x.CraftType == addProcessDTO.craftstype)) |
| | | //{ |
| | | // return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setpNum} å·²åå¨ï¼ä¸è½é夿·»å ï¼" }; |
| | | //} |
| | | |
| | | //// éè¦è°æ´åç»æ¥éª¤çåºå· |
| | | //foreach (var process in allProcesses.Where(x => x.SetpNum >= addProcessDTO.setpNum)) |
| | | //{ |
| | | // process.SetpNum++; // åç§»ä¸ä½ |
| | | // BaseDal.UpdateData(process); |
| | | //} |
| | | |
| | | // éè¦è°æ´åç»æ¥éª¤çåºå· |
| | | var processList = allProcesses.Where(x => x.SetpNum >= addProcessDTO.SetpNum).ToList(); |
| | | |
| | | if (processList != null) |
| | | { |
| | | for (int i = 0; i < processList.Count; i++) |
| | | { |
| | | processList[i].SetpNum += 1; |
| | | } |
| | | } |
| | | |
| | | // å建æ°å·¥èºæ¥éª¤ |
| | | |
| | | proces.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.ArticleOne) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.ArticleTwo) ? 0 : 1); |
| | | proces.CreateDate = DateTime.Now; |
| | | |
| | | //var proces = new Dt_Process |
| | | //{ |
| | | // Nodal = addProcessDTO.Nodal, |
| | | // SetpNum = addProcessDTO.setpNum, |
| | | // CraftType = addProcessDTO.craftstype, |
| | | // CraftsStep = addProcessDTO.craftsstep, |
| | | // CraftContent = addProcessDTO.craftcontent, |
| | | // Tools = addProcessDTO.tools, |
| | | // Material = addProcessDTO.material, |
| | | // ArticleOneid = addProcessDTO.aritcleoneid, |
| | | // ArticleOne = addProcessDTO.articleone, |
| | | // ArticleTowid = addProcessDTO.aritcletowid, |
| | | // ArticleTwo = addProcessDTO.articletwo, |
| | | // CreateDate = DateTime.Now, |
| | | // PointAxisXYZ = addProcessDTO.PointAxisXYZ, |
| | | // PointAxisHPB = addProcessDTO.PointAxisHPB, |
| | | // //为空就æ¯0ï¼ä¸ä¸ºç©ºå°±æ¯1 |
| | | // TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1) |
| | | //}; |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | BaseDal.AddData(proces); |
| | | BaseDal.UpdateData(processList); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return new WebResponseContent { Status = true, Data = proces }; |
| | | } |
| | | #endregion |
| | | #region ä¿®æ¹ |
| | | else // æ´æ° |
| | | { |
| | | var existingProcess = allProcesses.FirstOrDefault(x => x.CraftID == addProcessDTO.CraftID); |
| | | if (existingProcess == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æªæ¾å°è¯¥å·¥èºæ¥éª¤ï¼æ æ³æ´æ°ï¼" }; |
| | | } |
| | | |
| | | int oldSetNum = existingProcess.SetpNum; |
| | | int newSetNum = addProcessDTO.SetpNum; |
| | | |
| | | if (existingProcess.SetpNum == addProcessDTO.SetpNum) // å¦ææ²¡æ¹é¡ºåºï¼ç´æ¥æ´æ°å
¶ä»å
容 |
| | | { |
| | | proces.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.ArticleOne) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.ArticleTwo) ? 0 : 1); |
| | | proces.ModifyDate = DateTime.Now; |
| | | |
| | | //existingProcess.Nodal = addProcessDTO.Nodal; |
| | | //existingProcess.CraftType = addProcessDTO.craftstype; |
| | | //existingProcess.CraftsStep = addProcessDTO.craftsstep; |
| | | //existingProcess.CraftContent = addProcessDTO.craftcontent; |
| | | //existingProcess.Tools = addProcessDTO.tools; |
| | | //existingProcess.Material = addProcessDTO.material; |
| | | //existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; |
| | | //existingProcess.ArticleOne = addProcessDTO.articleone; |
| | | //existingProcess.ArticleTowid = addProcessDTO.aritcletowid; |
| | | //existingProcess.ArticleTwo = addProcessDTO.articletwo; |
| | | //existingProcess.CreateDate = DateTime.Now; |
| | | //existingProcess.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1); |
| | | |
| | | BaseDal.UpdateData(proces); |
| | | return new WebResponseContent { Status = true, Data = proces }; |
| | | } |
| | | // æ´æ° TorqueSum |
| | | |
| | | // è°æ´é¡ºåº |
| | | if (newSetNum < oldSetNum) // ååç§»å¨ï¼åç»æ°æ®å¾åç§» |
| | | { |
| | | var processList = allProcesses.Where(x => x.SetpNum >= newSetNum && x.SetpNum < oldSetNum).ToList(); |
| | | |
| | | for (int i = 0; i < processList.Count; i++) |
| | | { |
| | | processList[i].SetpNum += 1; |
| | | } |
| | | |
| | | BaseDal.UpdateData(processList); |
| | | //foreach (var process in allProcesses.Where(x => x.SetpNum >= newSetNum && x.SetpNum < oldSetNum)) |
| | | //{ |
| | | // process.SetpNum++; // åç§»ä¸ä½ |
| | | // BaseDal.UpdateData(process); |
| | | //} |
| | | } |
| | | else if (newSetNum > oldSetNum) // ååç§»å¨ï¼å颿°æ®å¾åç§» |
| | | { |
| | | var processList = allProcesses.Where(x => x.SetpNum > oldSetNum && x.SetpNum <= newSetNum).ToList(); |
| | | |
| | | for (int i = 0; i < processList.Count; i++) |
| | | { |
| | | processList[i].SetpNum -= 1; |
| | | } |
| | | |
| | | BaseDal.UpdateData(processList); |
| | | |
| | | //foreach (var process in allProcesses.Where(x => x.SetpNum > oldSetNum && x.SetpNum <= newSetNum)) |
| | | //{ |
| | | // process.SetpNum--; // åç§»ä¸ä½ |
| | | // BaseDal.UpdateData(process); |
| | | //} |
| | | } |
| | | |
| | | proces.SetpNum = newSetNum; |
| | | proces.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.ArticleOne) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.ArticleTwo) ? 0 : 1); |
| | | proces.ModifyDate = DateTime.Now; |
| | | |
| | | //// æ´æ°å½åæ¥éª¤çæ°åºå· |
| | | //existingProcess.SetpNum = newSetNum; |
| | | //existingProcess.Nodal = addProcessDTO.Nodal; |
| | | //existingProcess.CraftType = addProcessDTO.craftstype; |
| | | //existingProcess.CraftsStep = addProcessDTO.craftsstep; |
| | | //existingProcess.CraftContent = addProcessDTO.craftcontent; |
| | | //existingProcess.Tools = addProcessDTO.tools; |
| | | //existingProcess.Material = addProcessDTO.material; |
| | | //existingProcess.ArticleOneid = addProcessDTO.aritcleoneid; |
| | | //existingProcess.ArticleOne = addProcessDTO.articleone; |
| | | //existingProcess.ArticleTowid = addProcessDTO.aritcletowid; |
| | | //existingProcess.ArticleTwo = addProcessDTO.articletwo; |
| | | //existingProcess.CreateDate = DateTime.Now; |
| | | |
| | | BaseDal.UpdateData(proces); |
| | | return new WebResponseContent { Status = true, Data = proces }; |
| | | } |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æä½å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | |
| | | public WebResponseContent Getcircuit(string group, string takeid) |
| | | { |
| | | try |
| | | { |
| | | //æ ¹æ®ç»åä»»å¡å·è·å¾top表å
¨é¨æ°æ® |
| | | Dt_Process proNow = new Dt_Process(); |
| | | //æ ¹æ®ç»åä»»å¡å·è·å¾torqueOp表å
¨é¨æ°æ® |
| | | var torp = _torqueOpRepository.QueryData(x => x.GroupOp == group && x.TakeId == takeid); |
| | | |
| | | |
| | | //è·åModifier ="true" 表示æ¯å¼ºå¶æ§è¡ |
| | | var Mod = torp.Select(x => x.Modifier).FirstOrDefault(); |
| | | //var Mod = torp.Select(x => x.Modifier).FirstOrDefault(); |
| | | |
| | | //æ¥åºå·¥èºè¡¨ |
| | | var process = BaseDal.QueryData(x => x.CraftType == group); |
| | | |
| | | //è¿åå½åå·¥èºçæå¤§æ¥éª¤ |
| | | var maxproce = process.Max(x => x.SetpNum); |
| | | |
| | | |
| | | |
| | | //æ¿å°å·¥èºè¡¨ä¸æ¥éª¤ä¸º1ç |
| | | var proNoe = process.Where(x => x.SetpNum == 1);//è·å¾å·¥èºè¡¨ä¸çç¬¬ä¸æ¥ |
| | | //var proNoe = process.Where(x => x.SetpNum == 1);//è·å¾å·¥èºè¡¨ä¸çç¬¬ä¸æ¥ |
| | | if (torp.Count == 0) |
| | | { |
| | | return new WebResponseContent { Status = true, Message = "è¿åå·¥èºè¡¨ä¸çç¬¬ä¸æ¡", Data =new { proNoe, maxproce } }; |
| | | proNow = process.Where(x => x.SetpNum == 1).First(); |
| | | return new WebResponseContent { Status = true, Message = "è¿åå·¥èºè¡¨ä¸çç¬¬ä¸æ¡", Data = new { proNow, maxproce } }; |
| | | } |
| | | |
| | | var nowNum = torp.Max(x => x.ProcessSte);//è·å¾å½åæå¤§æ¥éª¤ |
| | | |
| | | var flag = torp.Where(a => a.ProcessSte == nowNum && a.Modifier == "true").FirstOrDefault(); |
| | | //op.Modifier="true" 表示æ¯å¼ºå¶æ§è¡ï¼å°±ä¸éè¦å¤æåºæç次æ°ï¼ç´æ¥è¿å op.ProcessSte+1 |
| | | if (Mod == "true") |
| | | //if (Mod == "true") |
| | | //{ |
| | | // var now = maxproce + 1; |
| | | // return new WebResponseContent { Status = true, Data = new { proNoe, maxproce, now } }; |
| | | //} |
| | | if (flag != null) |
| | | { |
| | | var now= maxproce + 1; |
| | | return new WebResponseContent { Status = true, Data = new { proNoe, maxproce, now } }; |
| | | var now = maxproce + 1; |
| | | proNow = process.Where(x => x.SetpNum == now).First(); |
| | | var finish= process.Where(x => x.SetpNum > now); |
| | | return new WebResponseContent { Status = true, Data = new { proNow, maxproce, now, finish } }; |
| | | } |
| | | |
| | | //妿åå¼è¡¨ä¸ææ°æ®å°±è¿åç»ä»å½åå·¥èºæ¥éª¤ |
| | | var maxpro = process.Where(x => x.SetpNum == nowNum); |
| | | |
| | | var maxpro = process.Where(x => x.SetpNum == nowNum).FirstOrDefault(); |
| | | if (maxpro != null) |
| | | { |
| | | if (maxpro.TorqueOneQuantity + maxpro.TorqueTwoQuantity > torp.Where(a => a.ProcessSte == nowNum).Count()) |
| | | { |
| | | proNow = maxpro; |
| | | var finish = process.Where(x => x.SetpNum < nowNum); |
| | | return new WebResponseContent { Status = true, Message = "è¿åå½åä»»å¡åå°ç大æ¥éª¤", Data = new { proNow, maxproce, finish } }; |
| | | } |
| | | else |
| | | { |
| | | var now = nowNum + 1; |
| | | proNow = process.Where(x => x.SetpNum == now).First(); |
| | | var finish = process.Where(x => x.SetpNum < now); |
| | | return new WebResponseContent { Status = true, Message = "è¿åå½åä»»å¡åå°ç大æ¥éª¤", Data = new { proNow, maxproce, finish } }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "å·¥èºæ°æ®æè¯¯"}; |
| | | } |
| | | |
| | | //夿å½åæ¥éª¤çæåæ¬¡æ°æ¯å¦å®æï¼æ²¡å®æè¿åå½åæ¥éª¤ï¼å®æè¿åop.ProcessSte+1ï¼ç¶æå¼ç»false |
| | | |
| | | return new WebResponseContent { Status = true, Message = "è¿åå½åä»»å¡åå°ç大æ¥éª¤", Data =new { maxpro, maxproce } }; |
| | | //return new WebResponseContent { Status = true, Message = "è¿åå½åä»»å¡åå°ç大æ¥éª¤", Data = new { maxpro, maxproce } }; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent Nextprocess(SetpDTO setpDTO,bool flag)//å¼ºå¶æ§è¡ç»ætrue |
| | | /// <summary> |
| | | /// å·¥èºä¸ä¸æ¥è·³è½¬ |
| | | /// </summary> |
| | | /// <param name="setpDTO">å½åçç»çä»»å¡å½åæ¥éª¤</param> |
| | | /// <param name="flag">æ¯å¦å¼ºå¶æ§è¡ï¼æ¯trueï¼å¦false</param> |
| | | /// <returns>è¿å1ãå½åæ¥éª¤ï¼2ãæå¤§æ¥éª¤ï¼3ã已宿çå·¥èº</returns> |
| | | public WebResponseContent Nextprocess(SetpDTO setpDTO, bool flag)//å¼ºå¶æ§è¡ç»ætrue |
| | | { |
| | | try |
| | | { |
| | |
| | | |
| | | //è¿åå½åå·¥èºçæå¤§æ¥éª¤ |
| | | var maxproce = process.Max(x => x.SetpNum); |
| | | |
| | | var TorqueOneQuantity = nowdate.Select(x => x.TorqueOneQuantity).FirstOrDefault(); |
| | | var TorqueTwoQuantity= nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault(); |
| | | var TorqueTwoQuantity = nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault(); |
| | | |
| | | //夿åå¼è¡¨çæ°æ®æ¯å¦æ»¡è¶³è¯¥æ¥éª¤éè¦å æ¡æ°æ®çæ¡æ° |
| | | int TargetCount = TorqueOneQuantity + TorqueTwoQuantity;//ä¸å
±è¦æå¤å°æ¡æ°æ®ï¼ç®æ æ°éï¼ |
| | | |
| | | if (practiceCount < TargetCount && !flag) |
| | | { |
| | | return new WebResponseContent { Status = true, Message = "没æå®æå½åæ¥éª¤", Data =new { nowdate, maxproce } }; |
| | | return new WebResponseContent { Status = true, Message = "没æå®æå½åæ¥éª¤", Data = new { nowdate, maxproce } }; |
| | | } |
| | | else if(practiceCount == TargetCount || (practiceCount != TargetCount && flag))//å¼ºå¶æ§è¡ åç«¯ç»æä¸ä¸ªflag=tureæ¶ |
| | | else if ((practiceCount == TargetCount && TargetCount == 0) || (practiceCount != TargetCount && flag))//å¼ºå¶æ§è¡ åç«¯ç»æä¸ä¸ªflag=tureæ¶ |
| | | { |
| | | //强å¶è·³è½¬ä¸ä¸æ¥ï¼æå
¥op表å½åæ¥éª¤ |
| | | op.TakeId = setpDTO.takeid; |
| | |
| | | int num = setpDTO.setnum + 1; |
| | | |
| | | //è¿åä¸ä¸æ¥æ¥éª¤ |
| | | var nex = process.Where(x => x.CraftType == setpDTO.group && x.SetpNum == num).FirstOrDefault(); |
| | | |
| | | var nex = process.Where(x => x.SetpNum == num).FirstOrDefault(); |
| | | var finish = process.Where(x => x.SetpNum < num).ToList(); |
| | | |
| | | _torqueOpRepository.AddData(op); |
| | | return new WebResponseContent { Status = true,Message= $"ä½ å·²å®æå½å第{setpDTO.setnum}ï¼åå¤ç¬¬{num}æ¥ä»»å¡", Data = new { nex, maxproce } }; |
| | | return new WebResponseContent { Status = true, Message = $"ä½ å·²å®æå½å第{setpDTO.setnum}ï¼åå¤ç¬¬{num}æ¥ä»»å¡", Data = new { nex, maxproce, finish } }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ¥è¯¢å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | |
| | | public WebResponseContent PreviousProcess(SetpDTO setpDTO) |
| | | { |
| | |
| | | var maxproce = process.Max(x => x.SetpNum); |
| | | int num = setpDTO.setnum - 1; |
| | | var nex = process.Where(x => x.CraftType == setpDTO.group && x.SetpNum == num).FirstOrDefault(); |
| | | return new WebResponseContent { Status = true, Message = $"ä¸ä¸æ¥{setpDTO.setnum}", Data = new { nex, maxproce } }; |
| | | var finish = process.Where(x => x.SetpNum < num).ToList(); |
| | | return new WebResponseContent { Status = true, Message = $"ä¸ä¸æ¥{setpDTO.setnum}", Data = new { nex, maxproce, finish } }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ¥è¯¢å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 读åå½åå·¥èºæ¥éª¤çæåå¼ä¸æ¬¡æ° |
| | | /// </summary> |
| | | /// <param name="grop"></param> |
| | | /// <param name="setnum"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent GetValueandNumber(string grop, int setnum) |
| | | { |
| | | try |
| | | { |
| | | var result = BaseDal.QueryData(x => x.CraftType == grop && x.SetpNum == setnum) |
| | | .Select(g => new |
| | | { |
| | | g.TorqueOne, |
| | | g.TorqueOneQuantity, |
| | | g.TorqueTwo, |
| | | g.TorqueTwoQuantity |
| | | }); |
| | | return new WebResponseContent { Status = true, Data = result }; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false,Message="é误ï¼"+ex }; throw; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |