From 4470a0cd5dc71aaedaaed7725bb362289170ff61 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 15:34:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=9C=8D=E5=8A=A1=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CherySupplierConDateService.cs | 62 ++++++++++++++++++- .../CherySupplierMrpDataService.cs | 62 ++++++++++++++++++- 2 files changed, 121 insertions(+), 3 deletions(-) diff --git a/API/Wood.Service/Controllers/CherySupplierConDateService.cs b/API/Wood.Service/Controllers/CherySupplierConDateService.cs index f621d30..e9d64eb 100644 --- a/API/Wood.Service/Controllers/CherySupplierConDateService.cs +++ b/API/Wood.Service/Controllers/CherySupplierConDateService.cs @@ -1,4 +1,7 @@ -using TaskManager.Contracts.Dtos; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore.Storage; +using TaskManager.Contracts.Dtos; +using TaskManager.Entity; using TaskManager.Entity.Entitys; using TaskManager.EntityFramework; @@ -9,7 +12,62 @@ namespace TaskManager.Controllers public SupplierConDateService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository) { } - + /// + /// 审批通过 + /// + /// + /// + [HttpPost] + 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_DATE"; + 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/CherySupplierMrpDataService.cs b/API/Wood.Service/Controllers/CherySupplierMrpDataService.cs index 884a267..e4f69e0 100644 --- a/API/Wood.Service/Controllers/CherySupplierMrpDataService.cs +++ b/API/Wood.Service/Controllers/CherySupplierMrpDataService.cs @@ -1,6 +1,8 @@ -using TaskManager.Contracts.Dtos; +using System.Data.Common; +using TaskManager.Contracts.Dtos; using TaskManager.Controllers; using TaskManager.Entity; +using TaskManager.Entity.Entitys; using TaskManager.EntityFramework; using TaskManager.EntityFramework; @@ -12,5 +14,63 @@ namespace TaskManager.Controllers public CherySupplierMrpDataService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository) { } + protected override async Task ConfirmDataInsertAsync(List plist, JobDbContext dbContext, DbTransaction dbTransaction) + { + if (plist.Count > 0) + { + List list = new List(); + plist.ForEach(p => + { + var con = new SUPPLIER_CON_DATE(); + con.SupplierCode = "8EG"; + con.ReleaseEdition = p.ReleaseEdition; + con.MaterialCode = p.MaterialCode; + con.PlantId = p.PlantId; + con.FeedbackResults = ""; + con.VentureType = ""; + con.VentureSpecific = ""; + con.Measures = ""; + con.StartDate = p.StartDate.ToString(); + con.QuantityMeet1 =p.QuantityDemand1 ; + con.QuantityMeet2 =p.QuantityDemand2 ; + con.QuantityMeet3 =p.QuantityDemand3 ; + con.QuantityMeet4 =p.QuantityDemand4 ; + con.QuantityMeet5 =p.QuantityDemand5 ; + con.QuantityMeet6 =p.QuantityDemand6 ; + con.QuantityMeet7 =p.QuantityDemand7 ; + con.QuantityMeet8 =p.QuantityDemand8 ; + con.QuantityMeet9 =p.QuantityDemand9 ; + con.QuantityMeet10 =p.QuantityDemand10 ; + con.QuantityMeet11 =p.QuantityDemand11 ; + con.QuantityMeet12 =p.QuantityDemand12 ; + con.QuantityMeet13 =p.QuantityDemand13 ; + con.QuantityMeet14 =p.QuantityDemand14 ; + con.QuantityMeet15 =p.QuantityDemand15 ; + con.QuantityMeet16 =p.QuantityDemand16 ; + con.QuantityMeet17 =p.QuantityDemand17 ; + con.QuantityMeet18 =p.QuantityDemand18 ; + con.QuantityMeet19 =p.QuantityDemand19 ; + con.QuantityMeet20 =p.QuantityDemand20 ; + con.QuantityMeet21 =p.QuantityDemand21 ; + con.QuantityMeet22 =p.QuantityDemand22 ; + con.QuantityMeet23 =p.QuantityDemand23 ; + con.QuantityMeet24 =p.QuantityDemand24 ; + con.QuantityMeet25 =p.QuantityDemand25 ; + con.QuantityMeet26 =p.QuantityDemand26 ; + con.QuantityMeet27 =p.QuantityDemand27 ; + con.QuantityMeet28 =p.QuantityDemand28 ; + con.QuantityMeet29 =p.QuantityDemand29 ; + con.QuantityMeet30 =p.QuantityDemand30 ; + con.QuantityMeet31 = p.QuantityDemand31; + list.Add(con); + }); + + await dbContext.BulkInsertAsync(list, options => { options.Transaction = dbTransaction; options.UseTableLock = false; }); + } + return; + } + + + } }