From 814074bb017eba80096dc07b1831921fb2547928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Wed, 4 Jun 2025 14:43:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO.cs} | 2 +- .../CheryRecurringJobInputPageController.cs | 6 +- .../CherySupplierConMmrpService.cs | 67 ++++++++++++++++++- .../CherySupplierMrpMonthService.cs | 16 +++-- 4 files changed, 80 insertions(+), 11 deletions(-) rename API/TaskManager.Contracts/Dtos/10_17/{SUPPLIER_PRO_PROCESS_EQUIPMENT_DT.cs => SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO.cs} (99%) diff --git a/API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT.cs b/API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO.cs similarity index 99% rename from API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT.cs rename to API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO.cs index 3e0f034..0a63fd4 100644 --- a/API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT.cs +++ b/API/TaskManager.Contracts/Dtos/10_17/SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO.cs @@ -5,7 +5,7 @@ namespace TaskManager.Entity.Entitys /// /// 工艺装备 /// - public class SUPPLIER_PRO_PROCESS_EQUIPMENT_DT + public class SUPPLIER_PRO_PROCESS_EQUIPMENT_DT_DTO { /// /// 供应商代码 diff --git a/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs b/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs index 82fc756..f3a74de 100644 --- a/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs +++ b/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs @@ -145,13 +145,13 @@ namespace TaskManager.Controllers await _logger.AddError("任务名称或客户端不能为空",taskName); return; } - var sublist = _jobDbContext.TaskSub.Where(p => p.TaskName == taskName && p.WriteState == false && p.Subscriber == client).ToList(); + var sublist = _jobDbContext.TaskSub.Where(p => p.TaskName == taskName && p.WriteState == false && p.Subscriber == client ).ToList(); int pageSize = 1000; if (!sublist.Any()) { foreach (var sub in sublist) { - string querystr = $"select * from {sub.TableName} where TaskId='{sub.TaskId}' and WriteState=0 order by uid";//任务表 + string querystr = $"select * from {sub.TableName} where TaskId='{sub.TaskId}' and WriteState=0 and ReadState=1 order by uid";//任务表 var entites = _jobDbContext.Database.GetDbConnection().Query(querystr);//明细表 if (entites.Any()) @@ -164,7 +164,7 @@ namespace TaskManager.Controllers var records = entites.Skip((i - 1) * pageSize) .Take(pageSize).ToList(); - #region dto转换作为参数发给 + #region dto转换作为参数发给客户API 因为实体比DTO字段多 List dtos = new List(); foreach (var itm in records) { diff --git a/API/Wood.Service/Controllers/CherySupplierConMmrpService.cs b/API/Wood.Service/Controllers/CherySupplierConMmrpService.cs index 988869a..c1be7f4 100644 --- a/API/Wood.Service/Controllers/CherySupplierConMmrpService.cs +++ b/API/Wood.Service/Controllers/CherySupplierConMmrpService.cs @@ -1,4 +1,12 @@ -using TaskManager.Entity.Entitys; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Storage; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; +using Org.BouncyCastle.Bcpg.Sig; +using SkiaSharp; +using System.Xml; +using TaskManager.Entity; +using TaskManager.Entity.Entitys; using TaskManager.EntityFramework; namespace TaskManager.Controllers @@ -8,5 +16,62 @@ namespace TaskManager.Controllers public CherySupplierConMmrpService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository) { } + /// + /// 审批通过 + /// + /// + /// + public async Task Confirm([FromBody] List entites) + { + + var taskId = Guid.NewGuid(); + var task = new TaskSub(); + task.TaskId = taskId; + task.TaskName = TaskName; + task.Subscriber = Client; + task.TableName = "SUPPLIER_CON_MMRP"; + task.DataCount = entites.Count; + task.Domain = "1"; + task.Site = "1"; + task.FailedCount = 0; + task.CreateTime = DateTime.Now; + task.CreateUser = "admin"; + task.CreationTime = DateTime.Now; + task.SyncedPageCount = 0; + + entites.ForEach(p => + { + p.ReadState = true; + p.TaskId = taskId; + + + }); + + using (var transaction = await _jobDbContext.Database.BeginTransactionAsync()) + { + var tran = transaction.GetDbTransaction(); + try + { + await _jobDbContext.BulkUpdateAsync(entites, options => { options.Transaction = tran; }); + await _jobDbContext.AddAsync(task); + _jobDbContext.SaveChanges(); + + // 提交事务 + await transaction.CommitAsync(); + } + catch (Exception ex) + { + await transaction.RollbackAsync(); + new JsonResult(new { Code = 400, Message = ex.Message }); + } + } + + return new JsonResult(new { Code = 200, Message = "修改成功!" }); + + + } + + + } } diff --git a/API/Wood.Service/Controllers/CherySupplierMrpMonthService.cs b/API/Wood.Service/Controllers/CherySupplierMrpMonthService.cs index 150fc9d..7daf384 100644 --- a/API/Wood.Service/Controllers/CherySupplierMrpMonthService.cs +++ b/API/Wood.Service/Controllers/CherySupplierMrpMonthService.cs @@ -21,12 +21,8 @@ namespace TaskManager.Controllers } protected override async Task CreateTaskAsync(List plist, JobDbContext dbContext) { - var taskId = Guid.NewGuid(); - var task = new TaskSub(); - task.TaskId = taskId; - task.TaskName = TaskName; - task.Subscriber = Client; - task.TableName = "SUPPLIER_CON_MMRP"; + + if (plist.Count > 0) { List list = new List(); @@ -56,8 +52,16 @@ namespace TaskManager.Controllers con.QuantityMeet12 = p.QuantityDemand12; list.Add(con); }); + dbContext.BulkInsert(list, new BulkOperationOptions() { UseTableLock = false }); } + + + + + + + return; } }