diff --git a/DOAN.Model/MES/product/ProRelWorkorderLineBody.cs b/DOAN.Model/MES/product/ProRelWorkorderLineBody.cs index 2065517..eae74dc 100644 --- a/DOAN.Model/MES/product/ProRelWorkorderLineBody.cs +++ b/DOAN.Model/MES/product/ProRelWorkorderLineBody.cs @@ -27,7 +27,7 @@ namespace DOAN.Model.MES.product /// /// 工位id /// - [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_station_id")] + [SugarColumn(IsNullable=true,IsIdentity = false, ColumnName = "fk_station_id")] public int FkStationId { get; set; } /// diff --git a/DOAN.Service/MES/product/ProWorkorderScheduleService.cs b/DOAN.Service/MES/product/ProWorkorderScheduleService.cs index da6f17f..154c6e5 100644 --- a/DOAN.Service/MES/product/ProWorkorderScheduleService.cs +++ b/DOAN.Service/MES/product/ProWorkorderScheduleService.cs @@ -81,21 +81,21 @@ namespace DOAN.Service.MES.product /// 工单号(不是工单id) /// 工序id /// 工序绑定的工位列表 - public List GetworkStation(string WorkorderId, int WorkProcessID) + public List GetworkStation(string WorkorderId, int WorkProcessID) { // 获取工序下可以选择的工位 - List Choices= Context.Queryable() + List Choices = Context.Queryable() .Where(it => it.FkWorkProcesses == WorkProcessID) .ToList().Adapt>(); - int Selected_id= Context.Queryable() - .Where(it => it.FkWorkorderId == WorkorderId) - .Where(it => it.FkProcessId == WorkProcessID) - .Select(it => it.FkStationId) - .First(); + int Selected_id = Context.Queryable() + .Where(it => it.FkWorkorderId == WorkorderId) + .Where(it => it.FkProcessId == WorkProcessID) + .Select(it => it.FkStationId) + .First(); - if(Choices != null&& Choices.Count()>0) + if (Choices != null && Choices.Count() > 0) { - foreach(BaseWorkStationDto3 choice in Choices) + foreach (BaseWorkStationDto3 choice in Choices) { if (choice.Id == Selected_id) { @@ -123,11 +123,22 @@ namespace DOAN.Service.MES.product /// public int UpdateSelectedWorkstation(ProRelWorkorderLineBodyDto lineBodyDto) { - return Context.Updateable() - .SetColumns(it => it.FkStationId == lineBodyDto.FkStationId) + + + int result = Context.Updateable() + .SetColumns(it => new ProRelWorkorderLineBody() { FkStationId = lineBodyDto.FkStationId }) .Where(it => it.FkWorkorderId == lineBodyDto.FkWorkorderId) .Where(it => it.FkProcessId == lineBodyDto.FkProcessId).ExecuteCommand(); - + if (result == 0) + { + ProRelWorkorderLineBody lineBody = new ProRelWorkorderLineBody(); + lineBody.FkStationId = lineBodyDto.FkStationId; + lineBody.FkWorkorderId = lineBodyDto.FkWorkorderId; + lineBody.FkProcessId = lineBodyDto.FkProcessId; + result = Context.Insertable(lineBody).ExecuteCommand(); + } + return result; + } /// @@ -139,30 +150,30 @@ namespace DOAN.Service.MES.product { int result = 0; // 查询工单下单 工艺路线BaseRelWorkRouteProcesses - string RouteCode = Context.Queryable().Where(it => it.Workorder == WorkorderId).Select(it => it.RouteId).First(); - var query= Context.Queryable().Where(it => it.Code == RouteCode); - int[] Processes_id= Context.Queryable(query).InnerJoin((q, r) => q.Id == r.FkWorkRoute) + string RouteCode = Context.Queryable().Where(it => it.Workorder == WorkorderId).Select(it => it.RouteId).First(); + var query = Context.Queryable().Where(it => it.Code == RouteCode); + int[] Processes_id = Context.Queryable(query).InnerJoin((q, r) => q.Id == r.FkWorkRoute) .Select((q, r) => r.FkWorkProcesses).ToArray(); var linqs = Context.Queryable(); - List inserts= new List(); + List inserts = new List(); foreach (var process in Processes_id) { - int station= linqs - .Where(it => it.FkWorkProcesses == process) - .Select(it=>it.Id).First(); + int station = linqs + .Where(it => it.FkWorkProcesses == process) + .Select(it => it.Id).First(); - ProRelWorkorderLineBody lineBody= new ProRelWorkorderLineBody(); + ProRelWorkorderLineBody lineBody = new ProRelWorkorderLineBody(); lineBody.FkWorkorderId = WorkorderId; lineBody.FkProcessId = process; - lineBody.FkStationId= station; - lineBody.CreatedTime= DateTime.Now; + lineBody.FkStationId = station; + lineBody.CreatedTime = DateTime.Now; inserts.Add(lineBody); } UseTran2(() => { - Context.Deleteable().Where(it=>it.FkWorkorderId == WorkorderId); - result=Context.Insertable(inserts).ExecuteCommand(); + Context.Deleteable().Where(it => it.FkWorkorderId == WorkorderId); + result = Context.Insertable(inserts).ExecuteCommand(); });