From 1a006b2bdf626a137f766fbc9cc4c310db97828d Mon Sep 17 00:00:00 2001 From: taoleite Date: Fri, 14 Mar 2025 09:54:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/Task/ManageIn.razor | 1 - NewWMSWebAPI/Controllers/TaskController.cs | 41 ++++ .../TaskService/Implement/ManageHelper.cs | 51 +++++ .../TaskService/Implement/ManagePreOut.cs | 176 ++++++++---------- .../TaskService/Interface/IManageHelper.cs | 7 + .../TaskService/Interface/IManagePreOut.cs | 2 +- 6 files changed, 178 insertions(+), 100 deletions(-) create mode 100644 NewWMSWebAPI/Controllers/TaskController.cs diff --git a/NewWMSProject/src/NewWMSProject.Client/Pages/Task/ManageIn.razor b/NewWMSProject/src/NewWMSProject.Client/Pages/Task/ManageIn.razor index 77d023e..4043cc5 100644 --- a/NewWMSProject/src/NewWMSProject.Client/Pages/Task/ManageIn.razor +++ b/NewWMSProject/src/NewWMSProject.Client/Pages/Task/ManageIn.razor @@ -330,7 +330,6 @@ manageList.GOODS_PROPERTY1 = manageListData.GOODS_PROPERTY1; manageList.GOODS_PROPERTY2 = manageListData.GOODS_PROPERTY2; manageListCollection.Add(manageList); - } _form.Submit(); diff --git a/NewWMSWebAPI/Controllers/TaskController.cs b/NewWMSWebAPI/Controllers/TaskController.cs new file mode 100644 index 0000000..8a99814 --- /dev/null +++ b/NewWMSWebAPI/Controllers/TaskController.cs @@ -0,0 +1,41 @@ +using EFCoreDatabase.Entities; +using Microsoft.AspNetCore.Mvc; +using Michelin_WebAPI.TaskServices; +using NewWMSWebAPI.TaskService.Interface; + +namespace NewWMSWebAPI.Controllers +{ + public class TaskController(IManageHelper manageHelper,Logger logger) : ControllerBase + { + private IManageHelper _manageHelper = manageHelper; + private Logger _logger = logger; + + /// + /// 生成无计划入库任务 + /// + /// + /// + /// + [HttpPost] + public IActionResult InsertManageInTask(MANAGE_MAIN manageMain ,List manageLists) + { + //根据输入的信息生成入库任务 + var sResult = string.Empty; + var bResult = true; + bResult = _manageHelper.ManageInTaskCreate(manageMain, manageLists, true, false, false, out sResult); + if (bResult) + { + //创建成功 + _logger.LogInformation("生成任务成功"); + return Ok(); + } + else + { + + + + } + + } + } +} diff --git a/NewWMSWebAPI/TaskService/Implement/ManageHelper.cs b/NewWMSWebAPI/TaskService/Implement/ManageHelper.cs index b5fcc3c..d3e20d3 100644 --- a/NewWMSWebAPI/TaskService/Implement/ManageHelper.cs +++ b/NewWMSWebAPI/TaskService/Implement/ManageHelper.cs @@ -35,6 +35,57 @@ namespace NewWMSWebAPI.TaskService.Implement } + /// + /// 生成入库任务 + /// + /// + /// + /// + /// + /// + /// + /// + public bool ManageInTaskCreate(MANAGE_MAIN mMANAGE_MAIN, + List lsMANAGE_LIST, + bool bTrans, + bool bComplete, + bool bAutoSendControl, + out string sResult) + { + bool bResult = true; + + sResult = string.Empty; + + int MANAGE_ID = 0; + + if (_manageRepository.GetManageMain("stockBarcode", mMANAGE_MAIN.STOCK_BARCODE) != null) + { + bResult = false; + + sResult = string.Format("托盘条码{0}已经存在任务", mMANAGE_MAIN.STOCK_BARCODE); + + return bResult; + } + //判断任务信息是否完整 + bResult = _manageRepository.AddManageMain(mMANAGE_MAIN, out MANAGE_ID); + if (bResult) + { + foreach (var mMANAGE_LIST in lsMANAGE_LIST) + { + mMANAGE_LIST.MANAGE_ID = mMANAGE_MAIN.MANAGE_ID; + + _manageRepository.AddManageList(mMANAGE_LIST); + } + } + + _logger.LogInformation($"生成无计划入库任务:{mMANAGE_MAIN.STOCK_BARCODE}"); + return bResult; + + } + + + + /// /// 创建移库任务 /// diff --git a/NewWMSWebAPI/TaskService/Implement/ManagePreOut.cs b/NewWMSWebAPI/TaskService/Implement/ManagePreOut.cs index 3f3237e..529b28d 100644 --- a/NewWMSWebAPI/TaskService/Implement/ManagePreOut.cs +++ b/NewWMSWebAPI/TaskService/Implement/ManagePreOut.cs @@ -1,110 +1,109 @@ using System; using System.Collections.Generic; using System.Globalization; -using Michelin_WebAPI.Data; -using Michelin_WebAPI.Entities; -using Michelin_WebAPI.Repositories.Interface; using Michelin_WebAPI.TaskServices.Interface; using Microsoft.EntityFrameworkCore.Storage; using System.Linq; -using AutoMapper; +using EFCoreDatabase.Data; +using EFCoreDatabase.Entities; +using EFCoreDatabase.Repositories.Interface; using Microsoft.Extensions.Logging; -using Michelin_WebAPI.Helper; +using NewWMSWebAPI.Helper; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; +using NewWMSWebAPI.Helper; +using NewWMSWebAPI.TaskService.Interface; namespace Michelin_WebAPI.TaskServices.Implement { public class ManagePreOut:IManagePreOut { - private readonly MichelinDBContext _context; - private readonly IMapper _mapper; + private readonly DmDBContext _context; private readonly IManageRepository _manageRepository; private readonly IWhCellRepository _whCellRepository; private readonly IStorageRepository _storageRepository; private readonly IManageHelper _manageHelper; private readonly ILogger _logger; - public ManagePreOut(IManageRepository manageRepository, IWhCellRepository whCellRepository, IStorageRepository storageRepository, IManageHelper manageHelper, MichelinDBContext context, IMapper mapper, ILogger logger) + public ManagePreOut(IManageRepository manageRepository, IWhCellRepository whCellRepository, IStorageRepository storageRepository, IManageHelper manageHelper, DmDBContext context, ILogger logger) { _manageRepository = manageRepository; _whCellRepository = whCellRepository; _storageRepository = storageRepository; _manageHelper = manageHelper; _context = context; - _mapper = mapper; _logger = logger; } - public bool FabricateListCreate(List manageMains, out string sResult) - { - //检查当前的manageMains中的雪花ID是否为同一个 + //public bool FabricateListCreate(List manageMains, out string sResult) + //{ + // //检查当前的manageMains中的雪花ID是否为同一个 - var snowFlakeList = manageMains.Select(x => x.BUCKET_GROUP).Distinct(); - //tlt20231211:当前雪花ID有问题:需要进行重新赋值,将所有的雪花ID重新赋值 - if (snowFlakeList.Any()) - { - _logger.LogInformation($"1.ManageMains with old bucket_group number :{JsonConvert.SerializeObject(snowFlakeList)}"); + // var snowFlakeList = manageMains.Select(x => x.BUCKET_GROUP).Distinct(); + // //tlt20231211:当前雪花ID有问题:需要进行重新赋值,将所有的雪花ID重新赋值 + // if (snowFlakeList.Any()) + // { + // _logger.LogInformation($"1.ManageMains with old bucket_group number :{JsonConvert.SerializeObject(snowFlakeList)}"); - var bucketGroup = SnowFlake.SnowflakeIDcreator.nextId().ToString(); + // var bucketGroup = SnowFlake.SnowflakeIDcreator.nextId().ToString(); - foreach (var manageMain in manageMains) - { - manageMain.BUCKET_GROUP = bucketGroup; - } - _logger.LogInformation($"2.Because the bucket_group number is not same, Modified the Bucket_Group number :{bucketGroup};ManageMains :{JsonConvert.SerializeObject(manageMains.Select(x => new { x.STOCK_BARCODE, x.BUCKET_GROUP }).Distinct())} "); + // foreach (var manageMain in manageMains) + // { + // manageMain.BUCKET_GROUP = bucketGroup; + // } + // _logger.LogInformation($"2.Because the bucket_group number is not same, Modified the Bucket_Group number :{bucketGroup};ManageMains :{JsonConvert.SerializeObject(manageMains.Select(x => new { x.STOCK_BARCODE, x.BUCKET_GROUP }).Distinct())} "); - } + // } - bool bResult = true; - sResult = string.Empty; - var transaction = _context.Database.BeginTransaction(); - try - { + // bool bResult = true; + // sResult = string.Empty; + // var transaction = _context.Database.BeginTransaction(); + // try + // { - foreach (var manageMain in manageMains) - { - var bucketMain = - _storageRepository.GetStorageMainByBucket(manageMain.STOCK_BARCODE); - var bucketLists = _storageRepository.GetStorageLists(bucketMain.STORAGE_ID); - - var lstManageList = new List(); - //根据autoMapper映射变量信息 - lstManageList.AddRange(bucketLists.Select(storageList => _mapper.Map(storageList))); - //tlt20230717:设置GOODS_PROPERTY8为本次出库桶数量 - foreach (var manageList in lstManageList) - { - manageList.GOODS_PROPERTY8 = manageMains.Count.ToString(); - } - bResult = ManageCreate(manageMain, lstManageList, false, true, false, out sResult); - if (!bResult) - break; + // foreach (var manageMain in manageMains) + // { + // var bucketMain = + // _storageRepository.GetStorageMainByBucket(manageMain.STOCK_BARCODE); + // var bucketLists = _storageRepository.GetStorageLists(bucketMain.STORAGE_ID); + + // var lstManageList = new List(); + // //根据autoMapper映射变量信息 + // lstManageList.AddRange(bucketLists.Select(storageList => _mapper.Map(storageList))); + // //tlt20230717:设置GOODS_PROPERTY8为本次出库桶数量 + // foreach (var manageList in lstManageList) + // { + // manageList.GOODS_PROPERTY8 = manageMains.Count.ToString(); + // } + // bResult = ManageCreate(manageMain, lstManageList, false, true, false, out sResult); + // if (!bResult) + // break; - } - } - catch (Exception ex) - { - bResult = false; - Console.WriteLine(ex.Message); - sResult = ex.Message; - _logger.LogError($"FabricateListCreate Exception:{ex.Message}"); - } - finally - { - if (bResult) - { - transaction.Commit(); - } - else - { - transaction.Rollback(); - } - } - - return bResult; - } + // } + // } + // catch (Exception ex) + // { + // bResult = false; + // Console.WriteLine(ex.Message); + // sResult = ex.Message; + // _logger.LogError($"FabricateListCreate Exception:{ex.Message}"); + // } + // finally + // { + // if (bResult) + // { + // transaction.Commit(); + // } + // else + // { + // transaction.Rollback(); + // } + // } + + // return bResult; + //} public bool ManageCreate(MANAGE_MAIN mMANAGE_MAIN, @@ -228,38 +227,19 @@ namespace Michelin_WebAPI.TaskServices.Implement mManageMain.MANAGE_LEVEL = string.Empty; mManageMain.MANAGE_REMARK = string.Empty; - //tlt20220629:新属性添加 - mManageMain.WEIGHT_PALLET = sStorageMain.WEIGHT_PALLET; - mManageMain.PG_CODE = sStorageMain.PG_CODE; - mManageMain.TRANSACTION_NUMBER = sStorageMain.TRANSACTION_NUMBER; - mManageMain.BUCKET_NUMBER = sStorageMain.BUCKET_NUMBER; - mManageMain.BUCKET_GROUP = sStorageMain.BUCKET_GROUP; - mManageMain.OperationRequestID = sStorageMain.OperationRequestID; - mManageMain.OperationToExecuteID = sStorageMain.OperationToExecuteID; - mManageMain.VirtualNameMachinePalletizer = sStorageMain.VirtualNameMachinePalletizer; - mManageMain.MFDCode = sStorageMain.MFDCode; - mManageMain.MATIND = sStorageMain.MATIND; - mManageMain.NIP = sStorageMain.NIP; - mManageMain.IMP = sStorageMain.IMP; - mManageMain.ItemIdentification = sStorageMain.ItemIdentification; - mManageMain.ItemTraceability = sStorageMain.ItemTraceability; - mManageMain.ItemHdvDate = sStorageMain.ItemHdvDate; - mManageMain.ItemHdvTime = sStorageMain.ItemHdvTime; - mManageMain.ItemFabricationDate = sStorageMain.ItemFabricationDate; - mManageMain.ItemFabricationTime = sStorageMain.ItemFabricationTime; - - - //添加list - foreach (STORAGE_LIST mSTORAGE_LIST in tempStorageList) - { - //根据映射关系添加信息 - var mManageList = _mapper.Map(mSTORAGE_LIST); + + + ////添加list + //foreach (STORAGE_LIST mSTORAGE_LIST in tempStorageList) + //{ + // //根据映射关系添加信息 + // var mManageList = _mapper.Map(mSTORAGE_LIST); - //////////////////////////////////////////////////////////////////// + // //////////////////////////////////////////////////////////////////// - lstManageList.Add(mManageList); + // lstManageList.Add(mManageList); - } + //} //根据终止节点下移库任务 bResult = _manageHelper.ManageMoveTaskCreate(mManageMain, diff --git a/NewWMSWebAPI/TaskService/Interface/IManageHelper.cs b/NewWMSWebAPI/TaskService/Interface/IManageHelper.cs index 5027d6d..bb62fce 100644 --- a/NewWMSWebAPI/TaskService/Interface/IManageHelper.cs +++ b/NewWMSWebAPI/TaskService/Interface/IManageHelper.cs @@ -15,5 +15,12 @@ namespace NewWMSWebAPI.TaskService.Interface out string sResult); public bool ManageDownLoad(string stockBarcode, bool bTrans, out string sResult); + + public bool ManageInTaskCreate(MANAGE_MAIN mMANAGE_MAIN, + List lsMANAGE_LIST, + bool bTrans, + bool bComplete, + bool bAutoSendControl, + out string sResult); } } \ No newline at end of file diff --git a/NewWMSWebAPI/TaskService/Interface/IManagePreOut.cs b/NewWMSWebAPI/TaskService/Interface/IManagePreOut.cs index b9b50f4..54060a1 100644 --- a/NewWMSWebAPI/TaskService/Interface/IManagePreOut.cs +++ b/NewWMSWebAPI/TaskService/Interface/IManagePreOut.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using Michelin_WebAPI.Entities; +using EFCoreDatabase.Entities; namespace Michelin_WebAPI.TaskServices.Interface {