From b27a3ffa8de0acc262af603bab0dfb065632f4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Tue, 16 Sep 2025 09:41:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E9=98=9F=E5=88=97=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=B0=83=E8=AF=95=E5=AE=8C=E6=88=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pro/ProWorkorderV2Controller.cs | 13 + ZR.Admin.WebApi/Hubs/MessageHub.cs | 80 ++-- .../pro/IService/IProWorkorderServiceV2.cs | 2 + ZR.Service/mes/pro/ProWorkorderServiceV2.cs | 342 +++++++++++------- 4 files changed, 284 insertions(+), 153 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/pro/ProWorkorderV2Controller.cs b/ZR.Admin.WebApi/Controllers/mes/pro/ProWorkorderV2Controller.cs index 8291fd19..bbd6b9bc 100644 --- a/ZR.Admin.WebApi/Controllers/mes/pro/ProWorkorderV2Controller.cs +++ b/ZR.Admin.WebApi/Controllers/mes/pro/ProWorkorderV2Controller.cs @@ -247,6 +247,19 @@ namespace ZR.Admin.WebApi.Controllers.mes.pro return ToResponse(new ApiResult(200, "success", data)); } + /// + /// 更新工单状态 + /// + /// 主键 + /// 状态 + /// + [HttpGet("UpdateWorkOrderStatus")] + public IActionResult UpdateWorkOrderStatus(string id, int status) + { + var result = proWorkorderService.UpdateWorkOrderStatus(id, status); + return ToResponse(new ApiResult(200, "success", result)); + } + /// /// 根据工单顺序 排序 diff --git a/ZR.Admin.WebApi/Hubs/MessageHub.cs b/ZR.Admin.WebApi/Hubs/MessageHub.cs index 975e34b4..b35e6691 100644 --- a/ZR.Admin.WebApi/Hubs/MessageHub.cs +++ b/ZR.Admin.WebApi/Hubs/MessageHub.cs @@ -40,34 +40,43 @@ namespace ZR.Admin.WebApi.Hubs /// public override Task OnConnectedAsync() { - var name = HttpContextExtension.GetName(App.HttpContext); - var ip = HttpContextExtension.GetClientUserIp(App.HttpContext); - var ip_info = IpTool.Search(ip); - - ClientInfo clientInfo = HttpContextExtension.GetClientInfo(App.HttpContext); - string device = clientInfo.ToString(); - - var userid = HttpContextExtension.GetUId(App.HttpContext); - string uuid = device + userid + ip; - var user = clientUsers.Any(u => u.ConnnectionId == Context.ConnectionId); - var user2 = clientUsers.Any(u => u.Uuid == uuid); - - //判断用户是否存在,否则添加集合!user2 && !user && - if (!user2 && !user && Context.User.Identity.IsAuthenticated) + try { - OnlineUsers users = new(Context.ConnectionId, name, userid, ip, device) + var name = HttpContextExtension.GetName(App.HttpContext); + var ip = HttpContextExtension.GetClientUserIp(App.HttpContext); + var ip_info = IpTool.Search(ip); + + ClientInfo clientInfo = HttpContextExtension.GetClientInfo(App.HttpContext); + string device = clientInfo.ToString(); + + var userid = HttpContextExtension.GetUId(App.HttpContext); + string uuid = device + userid + ip; + var user = clientUsers.Any(u => u.ConnnectionId == Context.ConnectionId); + var user2 = clientUsers.Any(u => u.Uuid == uuid); + + //判断用户是否存在,否则添加集合!user2 && !user && + if (!user2 && !user && Context.User.Identity.IsAuthenticated) { - Location = ip_info.City, - Uuid = uuid - }; - clientUsers.Add(users); - Console.WriteLine($"{DateTime.Now}:{name},{Context.ConnectionId}连接服务端success,当前已连接{clientUsers.Count}个"); - Clients.All.SendAsync("welcome", $"欢迎您:{name},当前时间:{DateTime.Now}"); - Clients.All.SendAsync(HubsConstant.MoreNotice, SendNotice()); + OnlineUsers users = new(Context.ConnectionId, name, userid, ip, device) + { + Location = ip_info.City, + Uuid = uuid + }; + clientUsers.Add(users); + Console.WriteLine($"{DateTime.Now}:{name},{Context.ConnectionId}连接服务端success,当前已连接{clientUsers.Count}个"); + Clients.All.SendAsync("welcome", $"欢迎您:{name},当前时间:{DateTime.Now}"); + Clients.All.SendAsync(HubsConstant.MoreNotice, SendNotice()); + } + + Clients.All.SendAsync(HubsConstant.OnlineNum, clientUsers.Count); + return base.OnConnectedAsync(); + } + catch (Exception ex) + { + Console.WriteLine($"OnConnectedAsyncError:{ex.Message}"); + return base.OnConnectedAsync(); } - Clients.All.SendAsync(HubsConstant.OnlineNum, clientUsers.Count); - return base.OnConnectedAsync(); } /// @@ -76,16 +85,25 @@ namespace ZR.Admin.WebApi.Hubs /// public override Task OnDisconnectedAsync(Exception? exception) { - var user = clientUsers.Where(p => p.ConnnectionId == Context.ConnectionId).FirstOrDefault(); - //判断用户是否存在,否则添加集合 - if (user != null) + try { - clientUsers.Remove(user); - Clients.All.SendAsync(HubsConstant.OnlineNum, clientUsers.Count); + var user = clientUsers.Where(p => p.ConnnectionId == Context.ConnectionId).FirstOrDefault(); + //判断用户是否存在,否则添加集合 + if (user != null) + { + clientUsers.Remove(user); + Clients.All.SendAsync(HubsConstant.OnlineNum, clientUsers.Count); - Console.WriteLine($"用户{user?.Name}离开了,当前已连接{clientUsers.Count}个"); + Console.WriteLine($"用户{user?.Name}离开了,当前已连接{clientUsers.Count}个"); + } + return base.OnDisconnectedAsync(exception); } - return base.OnDisconnectedAsync(exception); + catch (Exception ex) + { + Console.WriteLine($"OnDisconnectedAsync:{ex.Message}"); + return base.OnDisconnectedAsync(exception); + } + } #endregion diff --git a/ZR.Service/mes/pro/IService/IProWorkorderServiceV2.cs b/ZR.Service/mes/pro/IService/IProWorkorderServiceV2.cs index 9ef4ee46..65c3e750 100644 --- a/ZR.Service/mes/pro/IService/IProWorkorderServiceV2.cs +++ b/ZR.Service/mes/pro/IService/IProWorkorderServiceV2.cs @@ -28,6 +28,8 @@ namespace ZR.Service.mes.pro.IService public int UpdateworkorderSort(string id, int sort); public int UpdateworkorderSort2(string oldId, int oldSort, string newId, int newSort); + public int UpdateWorkOrderStatus(string id, int status); + public int StartWorkOrder(string id); public int CancelWorkOrder(string id); diff --git a/ZR.Service/mes/pro/ProWorkorderServiceV2.cs b/ZR.Service/mes/pro/ProWorkorderServiceV2.cs index f1b4cb21..c4881901 100644 --- a/ZR.Service/mes/pro/ProWorkorderServiceV2.cs +++ b/ZR.Service/mes/pro/ProWorkorderServiceV2.cs @@ -1,11 +1,11 @@ -using Infrastructure; +using System; +using System.IO; +using Infrastructure; using Infrastructure.Attribute; using Microsoft.AspNetCore.Hosting; using MiniExcelLibs; using Model.DBModel; using SqlSugar; -using System; -using System.IO; using ZR.Model.MES.pro; using ZR.Model.MES.pro.DTO; using ZR.Model.MES.wms; @@ -16,49 +16,60 @@ namespace ZR.Service.mes.pro [AppService(ServiceType = typeof(IProWorkorderServiceV2), ServiceLifetime = LifeTime.Transient)] public class ProWorkorderServiceV2 : BaseService, IProWorkorderServiceV2 { - - public (List, int) GetWorkorderList(int pageNum, int pageSize, int year, int week, int date, int isSchedule) + public (List, int) GetWorkorderList( + int pageNum, + int pageSize, + int year, + int week, + int date, + int isSchedule + ) { - - var predicate = Expressionable.Create() - .AndIF(year > 0, it => it.Year == year) - .AndIF(week > 0, it => it.Week == week) - .AndIF(date > 0, it => it.Date == date) - .ToExpression(); + var predicate = Expressionable + .Create() + .AndIF(year > 0, it => it.Year == year) + .AndIF(week > 0, it => it.Week == week) + .AndIF(date > 0, it => it.Date == date) + .ToExpression(); int totalCount = 0; - List proWorkorderList = Context.Queryable().Where(predicate).OrderBy(it => it.Sort).ToPageList(pageNum, pageSize, ref totalCount); + List proWorkorderList = Context + .Queryable() + .Where(predicate) + .OrderBy(it => it.Sort) + .ToPageList(pageNum, pageSize, ref totalCount); List orders = new(); foreach (ProWorkorder_v2 item in proWorkorderList) { - ProWorkOrder proWorkOrder = new() - { - Id = item.Id, - Week = item.Week, - Year = item.Year, - Date = item.Date, - BlankNumber = item.BlankNumber, - ClientWorkorder = item.ClientWorkorder, - FinishedPartNumber = item.FinishedPartNumber, - ProductDescription = item.ProductDescription, - Specifications = item.Specifications, - Colour = item.Colour, - CodeNumber = item.CodeNumber, - CylinderNumber = item.CylinderNumber, - hangNumber = item.hangNumber, - PreviousNumber = item.PreviousNumber, - VehicleNumber = item.VehicleNumber, - CreatedBy = item.CreatedBy, - CreatedTime = item.CreatedTime, - UpdatedBy = item.UpdatedBy, - UpdatedTime = item.UpdatedTime, - Sort = item.Sort, - Status = item.Status, - Remark1 = item.Remark1, - Remark2 = item.Remark2, - Remark3 = item.Remark3, - Remark4 = item.Remark4, - }; + ProWorkOrder proWorkOrder = + new() + { + Id = item.Id, + Week = item.Week, + Year = item.Year, + Date = item.Date, + BlankNumber = item.BlankNumber, + ClientWorkorder = item.ClientWorkorder, + FinishedPartNumber = item.FinishedPartNumber, + ProductDescription = item.ProductDescription, + Specifications = item.Specifications, + Colour = item.Colour, + CodeNumber = item.CodeNumber, + CylinderNumber = item.CylinderNumber, + hangNumber = item.hangNumber, + PreviousNumber = item.PreviousNumber, + VehicleNumber = item.VehicleNumber, + CreatedBy = item.CreatedBy, + CreatedTime = item.CreatedTime, + UpdatedBy = item.UpdatedBy, + UpdatedTime = item.UpdatedTime, + Sort = item.Sort, + Status = item.Status, + Remark1 = item.Remark1, + Remark2 = item.Remark2, + Remark3 = item.Remark3, + Remark4 = item.Remark4, + }; proWorkOrder.State = CheckWorkOrder(item); orders.Add(proWorkOrder); } @@ -66,29 +77,48 @@ namespace ZR.Service.mes.pro return (orders, totalCount); } - public (List, int) GetWorkorderList_Piliang(int pageNum, int pageSize, int year, int week, int date, int isSchedule) + public (List, int) GetWorkorderList_Piliang( + int pageNum, + int pageSize, + int year, + int week, + int date, + int isSchedule + ) { - - var predicate = Expressionable.Create() - .AndIF(year > 0, it => it.Year == year) - .AndIF(week > 0, it => it.Week == week) - .AndIF(date > 0, it => it.Date == date) - .ToExpression(); + var predicate = Expressionable + .Create() + .AndIF(year > 0, it => it.Year == year) + .AndIF(week > 0, it => it.Week == week) + .AndIF(date > 0, it => it.Date == date) + .ToExpression(); int totalCount = 0; - List proWorkorderList = Context.Queryable().Where(predicate).Where(it => it.Remark3 == "是").OrderBy(it => it.Sort).ToPageList(pageNum, pageSize, ref totalCount); + List proWorkorderList = Context + .Queryable() + .Where(predicate) + .Where(it => it.Remark3 == "是") + .OrderBy(it => it.Sort) + .ToPageList(pageNum, pageSize, ref totalCount); return (proWorkorderList, totalCount); } + /// /// 获取生产计划id /// /// private int Getworkplanid_max() { - - ProWorkorder_v2 max_workoder = Context.Queryable().OrderBy(it => it.Id, OrderByType.Desc).First(); - if (max_workoder != null && !string.IsNullOrEmpty(max_workoder.Id) && max_workoder.Id.Substring(2, 8) == DateTime.Now.ToString("yyyyMMdd")) + ProWorkorder_v2 max_workoder = Context + .Queryable() + .OrderBy(it => it.Id, OrderByType.Desc) + .First(); + if ( + max_workoder != null + && !string.IsNullOrEmpty(max_workoder.Id) + && max_workoder.Id.Substring(2, 8) == DateTime.Now.ToString("yyyyMMdd") + ) { int num = Convert.ToInt32(max_workoder.Id.Substring(10)) + 1; return num; @@ -97,16 +127,12 @@ namespace ZR.Service.mes.pro { return 0; } - - } - public string ImportExceldata(List workorderList) { int max_id = Getworkplanid_max(); - // 更新生产计划 if (workorderList != null && workorderList.Count > 0) { @@ -115,7 +141,12 @@ namespace ZR.Service.mes.pro item.Id = "WO" + DateTime.Now.ToString("yyyyMMdd") + max_id.ToString("000"); item.Remark4 = "Excel导入"; // 添加属性 ------》 排序规则是 年周日+序列号(000) - item.Sort = Convert.ToInt32(item.Year.ToString("0000").Substring(2) + item.Week.ToString("00") + item.Date.ToString("00") + workorderList.IndexOf(item).ToString("000")); + item.Sort = Convert.ToInt32( + item.Year.ToString("0000").Substring(2) + + item.Week.ToString("00") + + item.Date.ToString("00") + + workorderList.IndexOf(item).ToString("000") + ); if (item.Remark2 == "批量") { @@ -129,32 +160,34 @@ namespace ZR.Service.mes.pro foreach (ProWorkorder_v2 item in workorderList) { // 修正计划 - ProWorklplan_v2 planItem = Context.Queryable().Where(it => it.Id == item.FinishedPartNumber).First(); + ProWorklplan_v2 planItem = Context + .Queryable() + .Where(it => it.Id == item.FinishedPartNumber) + .First(); if (planItem != null) { - Context.Updateable().Where(it => it.Id == planItem.Id) - .SetColumns(it => - - it.NoSchedule == planItem.RequireNum - item.hangNumber - ).ExecuteCommandAsync(); - + Context + .Updateable() + .Where(it => it.Id == planItem.Id) + .SetColumns(it => + it.NoSchedule == planItem.RequireNum - item.hangNumber + ) + .ExecuteCommandAsync(); } - } - UseTran(() => { // 删除之前的工单 - Context.Deleteable().Where(it => it.Year == workorderList[0].Year) + Context + .Deleteable() + .Where(it => it.Year == workorderList[0].Year) .Where(it => it.Week == workorderList[0].Week) - .Where(it => it.Date == workorderList[0].Date).ExecuteCommand(); - - + .Where(it => it.Date == workorderList[0].Date) + .ExecuteCommand(); //插入 Context.Insertable(workorderList).ExecuteCommand(); - }); return "success"; @@ -178,8 +211,7 @@ namespace ZR.Service.mes.pro // x.TotalList.Count); - return ""; //插入可插入部分 - + return ""; //插入可插入部分 } /// @@ -192,11 +224,14 @@ namespace ZR.Service.mes.pro public (string, string) ExportExceldata(int year, int week, int date) { //1.0 读取表数据 - var list = Queryable().Where(it => it.Year == year && it.Week == week && it.Date == date) - .OrderBy(it => it.Sort).ToList(); + var list = Queryable() + .Where(it => it.Year == year && it.Week == week && it.Date == date) + .OrderBy(it => it.Sort) + .ToList(); //2.0 保存为excel - IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); + IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment) + App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); string sFileName = $"{year}年{week}周{date}日计划-{DateTime.Now:MM-dd-HHmmss}.xlsx"; string fullPath = Path.Combine(webHostEnvironment.WebRootPath, "export", sFileName); Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); @@ -209,7 +244,11 @@ namespace ZR.Service.mes.pro workorder = list }; - string templatePath = Path.Combine(webHostEnvironment.WebRootPath, "ImportTemplate", "日生产计划模板1.xlsx"); + string templatePath = Path.Combine( + webHostEnvironment.WebRootPath, + "ImportTemplate", + "日生产计划模板1.xlsx" + ); MiniExcel.SaveAsByTemplate(fullPath, templatePath, Sheet1); // MiniExcel.SaveAs(fullPath, list); //3.0 返回路径和文件名 @@ -224,19 +263,27 @@ namespace ZR.Service.mes.pro /// public int DeleteAllWorkorder(int year, int week, int date) { - return Context.Deleteable().Where(it => it.Year == year && it.Week == week && it.Date == date).ExecuteCommand(); + return Context + .Deleteable() + .Where(it => it.Year == year && it.Week == week && it.Date == date) + .ExecuteCommand(); } - /// /// 获取生产计划id /// /// private int Getworkorderid_max() { - - ProWorkorder_v2 max_workorder = Context.Queryable().OrderBy(it => it.Id, OrderByType.Desc).First(); - if (max_workorder != null && !string.IsNullOrEmpty(max_workorder.Id) && max_workorder.Id.Substring(2, 8) == DateTime.Now.ToString("yyyyMMdd")) + ProWorkorder_v2 max_workorder = Context + .Queryable() + .OrderBy(it => it.Id, OrderByType.Desc) + .First(); + if ( + max_workorder != null + && !string.IsNullOrEmpty(max_workorder.Id) + && max_workorder.Id.Substring(2, 8) == DateTime.Now.ToString("yyyyMMdd") + ) { int num = Convert.ToInt32(max_workorder.Id.Substring(10)) + 1; return num; @@ -245,15 +292,12 @@ namespace ZR.Service.mes.pro { return 0; } - - } public int AddWorkOrder(ProWorkorder_v2 workorder) { - - - workorder.Id = "WO" + DateTime.Now.ToString("yyyyMMdd") + Getworkorderid_max().ToString("000"); + workorder.Id = + "WO" + DateTime.Now.ToString("yyyyMMdd") + Getworkorderid_max().ToString("000"); workorder.Remark4 = "手动插入"; workorder.Status = 0; if (workorder.Remark2 == "批量") @@ -264,20 +308,19 @@ namespace ZR.Service.mes.pro if (workorder.Sort > 0) { int max = Convert.ToInt32(workorder.Sort.ToString().Substring(0, 6) + "999"); - Context.Updateable().Where(it => it.Sort >= workorder.Sort && it.Sort <= max).SetColumns(it => it.Sort == it.Sort + 1).ExecuteCommand(); - + Context + .Updateable() + .Where(it => it.Sort >= workorder.Sort && it.Sort <= max) + .SetColumns(it => it.Sort == it.Sort + 1) + .ExecuteCommand(); } - - return Context.Insertable(workorder).ExecuteCommand(); } public int DeleteWorkOrder(string id) - { return Context.Deleteable().In(id).ExecuteCommand(); - } public int UpdateWorkOrder(ProWorkorder_v2 workorder) @@ -287,8 +330,21 @@ namespace ZR.Service.mes.pro { workorder.Remark3 = "是"; } + else + { + workorder.Remark3 = ""; + } - return Context.Updateable(workorder).IgnoreColumns(it => new { it.CreatedBy, it.CreatedTime, it.Remark4, it.Sort }).ExecuteCommand(); + return Context + .Updateable(workorder) + .IgnoreColumns(it => new + { + it.CreatedBy, + it.CreatedTime, + it.Remark4, + it.Sort + }) + .ExecuteCommand(); } /// @@ -306,20 +362,26 @@ namespace ZR.Service.mes.pro int max = Convert.ToInt32(sort.ToString().Substring(0, 6) + "999"); - int result = Context.Updateable().Where(it => it.Sort >= sort && it.Sort <= max).SetColumns(it => it.Sort == it.Sort + 1).ExecuteCommand(); + int result = Context + .Updateable() + .Where(it => it.Sort >= sort && it.Sort <= max) + .SetColumns(it => it.Sort == it.Sort + 1) + .ExecuteCommand(); if (result > 0) { - finalreuslt = Context.Updateable().Where(it => it.Id == id).SetColumns(it => it.Sort == sort).ExecuteCommand(); + finalreuslt = Context + .Updateable() + .Where(it => it.Id == id) + .SetColumns(it => it.Sort == sort) + .ExecuteCommand(); } return finalreuslt; - } return 0; } - /// /// 工单开始 /// @@ -328,12 +390,13 @@ namespace ZR.Service.mes.pro /// public int StartWorkOrder(string id) { - return Context.Updateable().Where(it => it.Id == id) - .SetColumns(it => it.Status == 1).ExecuteCommand(); + return Context + .Updateable() + .Where(it => it.Id == id) + .SetColumns(it => it.Status == 1) + .ExecuteCommand(); } - - /// /// 工单上线取消 /// @@ -342,13 +405,13 @@ namespace ZR.Service.mes.pro /// public int CancelWorkOrder(string id) { - - return Context.Updateable().Where(it => it.Id == id) - .SetColumns(it => it.Status == 0).ExecuteCommand(); + return Context + .Updateable() + .Where(it => it.Id == id) + .SetColumns(it => it.Status == 0) + .ExecuteCommand(); } - - /// /// 生成工单号 /// @@ -361,13 +424,16 @@ namespace ZR.Service.mes.pro { if (year > 0 && week > 0 && date > 0) { - DateTime week_first = GetWeekStartTime(year, week); string date_now = week_first.AddDays(date - 1).ToString("yyMMdd"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"生成工单号前缀{date_now}"); - List workorderList = Context.Queryable().Where(it => it.Year == year && it.Week == week && it.Date == date).Where(it => it.Remark3 == "是").ToList(); + List workorderList = Context + .Queryable() + .Where(it => it.Year == year && it.Week == week && it.Date == date) + .Where(it => it.Remark3 == "是") + .ToList(); foreach (ProWorkorder_v2 item in workorderList) { @@ -375,7 +441,6 @@ namespace ZR.Service.mes.pro item.ClientWorkorder = date_now + index.ToString("000"); } - return Context.Updateable(workorderList).ExecuteCommand(); } return 0; @@ -404,13 +469,17 @@ namespace ZR.Service.mes.pro /// private DateTime GetWeekStartTime(int year, int weekNum) { - //本年1月1日 DateTime firstOfYear = new DateTime(year, 1, 1); //周数 //本年1月1日与本周星期一相差的天数 - int dayDiff = (firstOfYear.DayOfWeek == DayOfWeek.Sunday ? 7 : Convert.ToInt32(firstOfYear.DayOfWeek)) - 1; + int dayDiff = + ( + firstOfYear.DayOfWeek == DayOfWeek.Sunday + ? 7 + : Convert.ToInt32(firstOfYear.DayOfWeek) + ) - 1; //第一周的星期一 DateTime firstDayOfFirstWeek = firstOfYear.AddDays(-dayDiff); //当前周的星期一 @@ -421,8 +490,16 @@ namespace ZR.Service.mes.pro public int UpdateworkorderSort2(string oldId, int oldSort, string newId, int newSort) { int finalreuslt = 0; - int result1 = Context.Updateable().Where(it => it.Id == oldId).SetColumns(it => it.Sort == newSort).ExecuteCommand(); - int result2 = Context.Updateable().Where(it => it.Id == newId).SetColumns(it => it.Sort == oldSort).ExecuteCommand(); + int result1 = Context + .Updateable() + .Where(it => it.Id == oldId) + .SetColumns(it => it.Sort == newSort) + .ExecuteCommand(); + int result2 = Context + .Updateable() + .Where(it => it.Id == newId) + .SetColumns(it => it.Sort == oldSort) + .ExecuteCommand(); if (result1 > 0 && result2 > 0) { finalreuslt = 1; @@ -430,6 +507,15 @@ namespace ZR.Service.mes.pro return finalreuslt; } + public int UpdateWorkOrderStatus(string id, int status) + { + return Context + .Updateable() + .Where(it => it.Id == id) + .SetColumns(it => it.Status == status) + .ExecuteCommand(); + } + /// /// 判断 /// @@ -444,32 +530,45 @@ namespace ZR.Service.mes.pro { return 0; } - WmMaterial material = Context.Queryable() - .Where(it => it.Partnumber == proWorkorder.FinishedPartNumber) - // .Where(it => it.Status == 1) - .First(); + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == proWorkorder.FinishedPartNumber) + // .Where(it => it.Status == 1) + .First(); // 物料号不存在 if (material == null) { return 1; } // 毛坯号异常 - if (!string.IsNullOrEmpty(material.BlankNum) && material.BlankNum != proWorkorder.BlankNumber) + if ( + !string.IsNullOrEmpty(material.BlankNum) + && material.BlankNum != proWorkorder.BlankNumber + ) { return 2; } // 颜色异常 - if (!string.IsNullOrEmpty(material.Color) && !material.Color.Contains(proWorkorder.Colour)) + if ( + !string.IsNullOrEmpty(material.Color) + && !material.Color.Contains(proWorkorder.Colour) + ) { return 3; } // 规格异常 - if (!string.IsNullOrEmpty(material.Specification) && !material.Specification.Contains(proWorkorder.Specifications)) + if ( + !string.IsNullOrEmpty(material.Specification) + && !material.Specification.Contains(proWorkorder.Specifications) + ) { return 4; } // 描述异常不包含 - if (!string.IsNullOrEmpty(material.Description) && !material.Description.Contains(proWorkorder.ProductDescription)) + if ( + !string.IsNullOrEmpty(material.Description) + && !material.Description.Contains(proWorkorder.ProductDescription) + ) { return 5; } @@ -480,7 +579,6 @@ namespace ZR.Service.mes.pro { throw new Exception(ex.Message); } - } } }