调整接口

This commit is contained in:
18942506660
2024-10-21 14:32:22 +08:00
parent 2b56446765
commit 7ee8c65806
5 changed files with 85 additions and 3 deletions

View File

@@ -29,6 +29,8 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <returns></returns>
Task<bool> Delete(ProductInventoryType type, bool isTransaction = true); Task<bool> Delete(ProductInventoryType type, bool isTransaction = true);
Task<bool> EditEntityList(List<ProductInventory> entitys, bool isTransaction = true);
Task<List<ProductInventory>> GetEntityList(ProductInventoryType type);
/// <summary> /// <summary>
/// 列表-分页 /// 列表-分页
/// </summary> /// </summary>

View File

@@ -0,0 +1,17 @@
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Text;
using WMS.Web.Core.Dto.Erp;
using WMS.Web.Domain.Entitys;
namespace WMS.Web.Domain.Mappers
{
public class ProductInventoryMapper : Profile
{
public ProductInventoryMapper()
{
CreateMap<ProductInventory, ProductInventory>().ReverseMap();
}
}
}

View File

@@ -130,6 +130,9 @@ namespace WMS.Web.Domain.Services
.Select(s => s.WarehouseCodeOfJushuitan) .Select(s => s.WarehouseCodeOfJushuitan)
.ToList(); .ToList();
if (listNames.Count() <= 0) return Result.ReSuccess(); if (listNames.Count() <= 0) return Result.ReSuccess();
//获取原数据
var yList = await _repositories.GetEntityList(ProductInventoryType.JushuiTan);
//获取领星仓库 //获取领星仓库
var resStock = await _juShuiTanService.GetStock(); var resStock = await _juShuiTanService.GetStock();
if (!resStock.IsSuccess) return resStock; if (!resStock.IsSuccess) return resStock;
@@ -139,6 +142,8 @@ namespace WMS.Web.Domain.Services
var resInventory = await _juShuiTanService.GetInventory(ids); var resInventory = await _juShuiTanService.GetInventory(ids);
if (!resInventory.IsSuccess) return resStock; if (!resInventory.IsSuccess) return resStock;
//物料 //物料
var materials_result = await _erpService.BillQueryForMaterial(); var materials_result = await _erpService.BillQueryForMaterial();
List<ErpMaterialDto> materials = new List<ErpMaterialDto>(); List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
@@ -146,6 +151,7 @@ namespace WMS.Web.Domain.Services
materials = materials_result.Data.ToList(); materials = materials_result.Data.ToList();
List<ProductInventory> inventoryList = new List<ProductInventory>(); List<ProductInventory> inventoryList = new List<ProductInventory>();
List<ProductInventory> update_List = new List<ProductInventory>();
foreach (var item in resInventory.Data) foreach (var item in resInventory.Data)
{ {
//如果物料不匹配 过滤 //如果物料不匹配 过滤
@@ -167,6 +173,16 @@ namespace WMS.Web.Domain.Services
Qty = item.ky_qty, Qty = item.ky_qty,
BeforeQty = item.qty ?? 0 BeforeQty = item.qty ?? 0
}; };
var old_Entity = yList.FirstOrDefault(f => f.MaterialNumber.Equals(entity.MaterialNumber) &&
f.OrgCode.Equals(entity.OrgCode) && f.StockCode.Equals(entity.StockCode));
if (old_Entity != null)
{
old_Entity.Qty = entity.Qty;
old_Entity.BeforeQty = entity.BeforeQty;
update_List.Add(old_Entity);
}
else
inventoryList.Add(entity); inventoryList.Add(entity);
} }
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
@@ -176,7 +192,7 @@ namespace WMS.Web.Domain.Services
//先删除之前的再添加 //先删除之前的再添加
if (res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
{ {
isSuccess = await _repositories.Delete(ProductInventoryType.LingXing, false); isSuccess = await _repositories.EditEntityList(update_List, false);
if (isSuccess == false) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError); if (isSuccess == false) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
} }
if (res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
@@ -283,7 +299,7 @@ namespace WMS.Web.Domain.Services
_logger.LogInformation($"同步成品仓库存->开始 {DateTime.Now}"); _logger.LogInformation($"同步成品仓库存->开始 {DateTime.Now}");
var res = await this.Erp(); var res = await this.Erp();
if(!res.IsSuccess)return res; if (!res.IsSuccess) return res;
res = await this.JuShuiTan(); res = await this.JuShuiTan();
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;

View File

@@ -19,6 +19,8 @@ using WMS.Web.Core.Dto.OutStockTask;
using WMS.Web.Domain.Values.Single; using WMS.Web.Domain.Values.Single;
using WMS.Web.Core; using WMS.Web.Core;
using NPOI.SS.Formula.Functions; using NPOI.SS.Formula.Functions;
using WMS.Web.Domain.Mappers;
using WMS.Web.Core.Help;
namespace WMS.Web.Repositories namespace WMS.Web.Repositories
{ {
@@ -173,5 +175,50 @@ namespace WMS.Web.Repositories
var (list, count, qty) = await GetListAsync(dto, companyId); var (list, count, qty) = await GetListAsync(dto, companyId);
return (list, count); return (list, count);
} }
/// <summary>
/// 批量修改
/// </summary>
/// <param name="entitys"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
public async Task<bool> EditEntityList(List<ProductInventory> entitys, bool isTransaction = true)
{
IDbContextTransaction _transaction = null;
if (isTransaction)
_transaction = _context.Database.BeginTransaction();
try
{
List<int> list = entitys.Select(s => s.Id).ToList();
var res = await _context.ProductInventory
.Where(f => list.Contains(f.Id)).ToListAsync();
_mapper.ToMapList(entitys, res);
await _context.SaveChangesAsync();
if (_transaction != null)
_transaction.Commit();
}
catch (Exception ex)
{
if (_transaction != null)
_transaction.Rollback();
return false;
}
return true;
}
/// <summary>
/// 获取数据
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public async Task<List<ProductInventory>> GetEntityList(ProductInventoryType type)
{
var res = await _context.ProductInventory
.Where(f => f.Type==type)
.ToListAsync();
return res.Clone();
}
} }
} }