| | |
| | | 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 SqlSugar; |
| | | using WIDESEA_ISerialPortRepository; |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | |
| | | //è·åå¥çæ°é |
| | | /// <summary> |
| | | /// è·åå¥çæ°é |
| | | /// </summary> |
| | | /// <returns>è¿åçç»ãæ»æ¥éª¤ãå¥çæ°é</returns> |
| | | public WebResponseContent GetSleeveandStep() |
| | | { |
| | | try |
| | |
| | | { |
| | | try |
| | | { |
| | | var allProcesses = BaseDal.QueryData().OrderBy(x => x.SetpNum).ToList(); // æ setnum æåº |
| | | var allProcesses = BaseDal.QueryData().OrderBy(x => x.SetpNum).ToList(); // æ SetpNum æåº |
| | | Dt_Process proces = _mapper.Map<Dt_Process>(addProcessDTO); |
| | | |
| | | if (addProcessDTO.id == 0) // æ·»å |
| | | #region æ·»å |
| | | if (addProcessDTO.CraftID == 0) // æ·»å |
| | | { |
| | | // æ£æ¥æ¯å¦å·²ç»åå¨ç¸åç setnum |
| | | if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setpNum && x.CraftType == addProcessDTO.craftstype)) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = $"æ¥éª¤ {addProcessDTO.setpNum} å·²åå¨ï¼ä¸è½é夿·»å ï¼" }; |
| | | } |
| | | //// æ£æ¥æ¯å¦å·²ç»åå¨ç¸åç 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); |
| | | //} |
| | | |
| | | // éè¦è°æ´åç»æ¥éª¤çåºå· |
| | | foreach (var process in allProcesses.Where(x => x.SetpNum >= addProcessDTO.setpNum)) |
| | | { |
| | | process.SetpNum++; // åç§»ä¸ä½ |
| | | BaseDal.UpdateData(process); |
| | | } |
| | | |
| | | // å建æ°å·¥èºæ¥éª¤ |
| | | 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, |
| | | //为空就æ¯0ï¼ä¸ä¸ºç©ºå°±æ¯1 |
| | | TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1) |
| | | }; |
| | | |
| | | 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.id); |
| | | 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; |
| | | int newSetNum = addProcessDTO.SetpNum; |
| | | |
| | | if (oldSetNum == newSetNum) // å¦ææ²¡æ¹é¡ºåºï¼ç´æ¥æ´æ°å
¶ä»å
容 |
| | | if (existingProcess.SetpNum == addProcessDTO.SetpNum) // å¦ææ²¡æ¹é¡ºåºï¼ç´æ¥æ´æ°å
¶ä»å
容 |
| | | { |
| | | 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); |
| | | proces.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.ArticleOne) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.ArticleTwo) ? 0 : 1); |
| | | proces.ModifyDate = DateTime.Now; |
| | | |
| | | BaseDal.UpdateData(existingProcess); |
| | | return new WebResponseContent { Status = true, Data = existingProcess }; |
| | | //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) // ååç§»å¨ï¼åç»æ°æ®å¾åç§» |
| | | { |
| | | foreach (var process in allProcesses.Where(x => x.SetpNum >= newSetNum && x.SetpNum < oldSetNum)) |
| | | var processList = allProcesses.Where(x => x.SetpNum >= newSetNum && x.SetpNum < oldSetNum).ToList(); |
| | | |
| | | for (int i = 0; i < processList.Count; i++) |
| | | { |
| | | process.SetpNum++; // åç§»ä¸ä½ |
| | | BaseDal.UpdateData(process); |
| | | 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) // ååç§»å¨ï¼å颿°æ®å¾åç§» |
| | | { |
| | | foreach (var process in allProcesses.Where(x => x.SetpNum > oldSetNum && x.SetpNum <= newSetNum)) |
| | | var processList = allProcesses.Where(x => x.SetpNum > oldSetNum && x.SetpNum <= newSetNum).ToList(); |
| | | |
| | | for (int i = 0; i < processList.Count; i++) |
| | | { |
| | | process.SetpNum--; // åç§»ä¸ä½ |
| | | BaseDal.UpdateData(process); |
| | | 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); |
| | | //} |
| | | } |
| | | |
| | | // æ´æ°å½åæ¥éª¤çæ°åºå· |
| | | 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; |
| | | proces.SetpNum = newSetNum; |
| | | proces.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.ArticleOne) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.ArticleTwo) ? 0 : 1); |
| | | proces.ModifyDate = DateTime.Now; |
| | | |
| | | BaseDal.UpdateData(existingProcess); |
| | | return new WebResponseContent { Status = true, Data = existingProcess }; |
| | | //// æ´æ°å½åæ¥éª¤çæ°åºå· |
| | | //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) |
| | | { |