Browse Source

更新任务服务

master
taoleite 3 months ago
parent
commit
1a006b2bdf
  1. 1
      NewWMSProject/src/NewWMSProject.Client/Pages/Task/ManageIn.razor
  2. 41
      NewWMSWebAPI/Controllers/TaskController.cs
  3. 51
      NewWMSWebAPI/TaskService/Implement/ManageHelper.cs
  4. 176
      NewWMSWebAPI/TaskService/Implement/ManagePreOut.cs
  5. 7
      NewWMSWebAPI/TaskService/Interface/IManageHelper.cs
  6. 2
      NewWMSWebAPI/TaskService/Interface/IManagePreOut.cs

1
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();

41
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<TaskController> logger) : ControllerBase
{
private IManageHelper _manageHelper = manageHelper;
private Logger<TaskController> _logger = logger;
/// <summary>
/// 生成无计划入库任务
/// </summary>
/// <param name="manageMain"></param>
/// <param name="manageLists"></param>
/// <returns></returns>
[HttpPost]
public IActionResult InsertManageInTask(MANAGE_MAIN manageMain ,List<MANAGE_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
{
}
}
}
}

51
NewWMSWebAPI/TaskService/Implement/ManageHelper.cs

@ -35,6 +35,57 @@ namespace NewWMSWebAPI.TaskService.Implement
}
/// <summary>
/// 生成入库任务
/// </summary>
/// <param name="mMANAGE_MAIN"></param>
/// <param name="lsMANAGE_LIST"></param>
/// <param name="bTrans"></param>
/// <param name="bComplete"></param>
/// <param name="bAutoSendControl"></param>
/// <param name="sResult"></param>
/// <returns></returns>
public bool ManageInTaskCreate(MANAGE_MAIN mMANAGE_MAIN,
List<MANAGE_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;
}
/// <summary>
/// 创建移库任务
/// </summary>

176
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<ManagePreOut> _logger;
public ManagePreOut(IManageRepository manageRepository, IWhCellRepository whCellRepository, IStorageRepository storageRepository, IManageHelper manageHelper, MichelinDBContext context, IMapper mapper, ILogger<ManagePreOut> logger)
public ManagePreOut(IManageRepository manageRepository, IWhCellRepository whCellRepository, IStorageRepository storageRepository, IManageHelper manageHelper, DmDBContext context, ILogger<ManagePreOut> logger)
{
_manageRepository = manageRepository;
_whCellRepository = whCellRepository;
_storageRepository = storageRepository;
_manageHelper = manageHelper;
_context = context;
_mapper = mapper;
_logger = logger;
}
public bool FabricateListCreate(List<MANAGE_MAIN> manageMains, out string sResult)
{
//检查当前的manageMains中的雪花ID是否为同一个
//public bool FabricateListCreate(List<MANAGE_MAIN> 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<MANAGE_LIST>();
//根据autoMapper映射变量信息
lstManageList.AddRange(bucketLists.Select(storageList => _mapper.Map<MANAGE_LIST>(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<MANAGE_LIST>();
// //根据autoMapper映射变量信息
// lstManageList.AddRange(bucketLists.Select(storageList => _mapper.Map<MANAGE_LIST>(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<MANAGE_LIST>(mSTORAGE_LIST);
////添加list
//foreach (STORAGE_LIST mSTORAGE_LIST in tempStorageList)
//{
// //根据映射关系添加信息
// var mManageList = _mapper.Map<MANAGE_LIST>(mSTORAGE_LIST);
////////////////////////////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////
lstManageList.Add(mManageList);
// lstManageList.Add(mManageList);
}
//}
//根据终止节点下移库任务
bResult = _manageHelper.ManageMoveTaskCreate(mManageMain,

7
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<MANAGE_LIST> lsMANAGE_LIST,
bool bTrans,
bool bComplete,
bool bAutoSendControl,
out string sResult);
}
}

2
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
{

Loading…
Cancel
Save