成品即时库存

This commit is contained in:
18942506660
2024-10-16 11:03:45 +08:00
parent 06fcd26b5b
commit dfa59fc3bc
19 changed files with 996 additions and 3 deletions

View File

@@ -0,0 +1,101 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;
using WMS.Web.Core.Dto.OutStock;
using WMS.Web.Core.Dto.ProductInventory;
using WMS.Web.Core.Dto.SingleData;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
using WMS.Web.Domain.Services.Public;
using WMS.Web.Domain.Values;
using WMS.Web.Repositories;
using WMS.Web.Core;
using WMS.Web.Domain.IService;
using WMS.Web.Domain.Options;
using Google.Protobuf.WellKnownTypes;
using WMS.Web.Domain.Services;
using Microsoft.Extensions.Options;
using System.Linq;
namespace WMS.Web.Api.Controllers
{
/// <summary>
/// 成品仓即时库存
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class ProductInventoryController : ControllerBase
{
private readonly ILoginService _loginService;
private readonly IBasicsRepositories _basicsRepositories;
private readonly IProductInventoryRepositories _repositories;
private readonly QiniuOptions _option;
private readonly IExportExcelService _exportExcelService;
public ProductInventoryController(ILoginService loginService, IBasicsRepositories basicsRepositories,
IProductInventoryRepositories repositories, IOptions<QiniuOptions> option, IExportExcelService exportExcelServic) {
_loginService = loginService;
_basicsRepositories = basicsRepositories;
_repositories = repositories;
_option = option?.Value;
_exportExcelService = exportExcelServic;
}
/// <summary>
/// 获取仓库
/// </summary>
/// <param name="name">仓库模糊匹配 不必填</param>
/// <returns></returns>
[HttpGet]
[Route("GetUcStock")]
public async Task<ResultList<UcStockHeadOfficeResponse>> GetUcStock([FromQuery] string name)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return ResultList<UcStockHeadOfficeResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
var r = await _basicsRepositories.GetUcStockByHeadOfficeAsync(name, loginInfo.UserInfo.CompanyId);
return ResultList<UcStockHeadOfficeResponse>.ReSuccess(r);
}
/// <summary>
/// 列表
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("GetList")]
public async Task<ResultPagedNumber2List<ProductInventoryQueryResponse>> GetPagedList([FromBody] ProductInventoryQueryRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return ResultPagedNumber2List<ProductInventoryQueryResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
var (list, count, details) = await _repositories.GetListAsync(dto);
var result = ResultPagedNumber2List<ProductInventoryQueryResponse>.ReSuccess(list,count,details);
return result;
}
/// <summary>
/// 导出
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("Export")]
public Task<Result<string>> Export([FromBody] OutStockQueryRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null)
return Task.FromResult(Result<string>.ReFailure(ResultCodes.Token_Invalid_Error));
string fileName = FileDownLoadOrderType.ProductInventory.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
string res = _option.Url + fileName;
Task.Run(async () =>
{
await _exportExcelService.ExportList<OutStockQueryInfoResponse, OutStockQueryRequest>(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock);
});
return Task.FromResult(Result<string>.ReSuccess(res));
}
}
}

View File

@@ -560,6 +560,32 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Api.Controllers.ProductInventoryController">
<summary>
成品仓即时库存
</summary>
</member>
<member name="M:WMS.Web.Api.Controllers.ProductInventoryController.GetUcStock(System.String)">
<summary>
获取仓库
</summary>
<param name="name">仓库模糊匹配 不必填</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.ProductInventoryController.GetPagedList(WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest)">
<summary>
列表
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.ProductInventoryController.Export(WMS.Web.Core.Dto.OutStock.OutStockQueryRequest)">
<summary>
导出
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.SerialNumberController.Get(System.String)">
<summary>
获取序列号信息

View File

@@ -5534,6 +5534,86 @@
每页条数 不传默认每页10 条
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest">
<summary>
成品即时库存列表
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest.StockCode">
<summary>
仓库编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest.Customer">
<summary>
客户/店铺
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse">
<summary>
成品即时库存
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Id">
<summary>
单据Id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Type">
<summary>
单据类型
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Stock">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Org">
<summary>
组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Customer">
<summary>
客户/店铺
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Batch">
<summary>
批号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.Qty">
<summary>
可用量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryResponse.BeforeQty">
<summary>
库存量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.SendDataDto.CustomerCode">
<summary>
客户编码
@@ -5824,6 +5904,26 @@
仓库名称
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.SingleData.UcStockHeadOfficeResponse">
<summary>
根据总公司查仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.SingleData.UcStockHeadOfficeResponse.WarehouseCodeOfLingxing">
<summary>
领星仓库编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.SingleData.UcStockHeadOfficeResponse.WarehouseCodeOfJushuitan">
<summary>
聚水潭仓库编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.SingleData.UcStockHeadOfficeResponse.WarehouseUseTo">
<summary>
用途
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.SingleData.UcStockResponse">
<summary>
仓库响应
@@ -6817,6 +6917,78 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.#ctor">
<summary>
实体分页集合结果
</summary>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.#ctor(System.Collections.Generic.IList{`0},System.Int32,System.Collections.Generic.List{System.Decimal})">
<summary>
实体分页集合结果
</summary>
<param name="data">实体集合</param>
<param name="totalCount">总条数</param>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.#ctor(System.Collections.Generic.IList{`0},System.Int32,System.ValueTuple{System.Int32,System.String})">
<summary>
实体分页集合结果
</summary>
<param name="data"></param>
<param name="totalCount"></param>
<param name="result"></param>
</member>
<member name="P:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.TotalCount">
<summary>
Total count of Items.
</summary>
</member>
<member name="P:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.Details">
<summary>
总数量
</summary>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.ReSuccess(System.Collections.Generic.IList{`0},System.Int32,System.Collections.Generic.List{System.Decimal})">
<summary>
创建成功的返回消息
</summary>
<param name="data">实体集合</param>
<param name="totalCount">总条数</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.ReSuccess">
<summary>
创建成功的返回消息
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.ReFailure(System.String,System.Int32)">
<summary>
创建返回信息(返回处理失败)
</summary>
<param name="message">结果消息</param>
<param name="status">结果状态</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.ReFailure(System.ValueTuple{System.Int32,System.String})">
<summary>
创建返回信息(返回处理失败)
</summary>
<param name="result">结果消息</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.ReFailure(WMS.Web.Core.Internal.Results.Result)">
<summary>
创建返回信息(返回处理失败)
</summary>
<param name="result">结果</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Core.Internal.Results.ResultPagedNumber2List`1.AsTask">
<summary>
转换为 task
</summary>
<returns></returns>
</member>
<member name="T:WMS.Web.Core.Internal.Results.ResultPagedNumberList`1">
<summary>
分页列表结果对象

View File

@@ -2075,6 +2075,56 @@
已出库数量
</summary>
</member>
<member name="T:WMS.Web.Domain.Entitys.ProductInventory">
<summary>
成品仓即时库存
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.Id">
<summary>
主键 订单编号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.Type">
<summary>
单据类型
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.OrgCode">
<summary>
组织编码
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.StockCode">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.Customer">
<summary>
客户/店铺
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.Batch">
<summary>
批号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.Qty">
<summary>
可用量
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ProductInventory.BeforeQty">
<summary>
库存量
</summary>
</member>
<member name="T:WMS.Web.Domain.Entitys.SendLog">
<summary>
短信和邮箱发送日志表
@@ -2676,6 +2726,12 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IBasicsRepositories.GetUcStockByHeadOfficeAsync(System.String,System.Int32)">
<summary>
获取仓库总公司
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IBasicsRepositories.GetTransaction">
<summary>
获取事务 用来处理即时库存
@@ -3364,6 +3420,34 @@
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.DeleteEntityList(System.Collections.Generic.List{System.Int32},System.Boolean)">
删除实体集合
</member>
<member name="T:WMS.Web.Domain.Infrastructure.IProductInventoryRepositories">
<summary>
成品仓即时库存
</summary>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IProductInventoryRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ProductInventory},System.Boolean)">
<summary>
添加
</summary>
<param name="entitys"></param>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IProductInventoryRepositories.Delete(WMS.Web.Domain.Values.ProductInventoryType,System.Boolean)">
<summary>
删除
</summary>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IProductInventoryRepositories.GetListAsync(WMS.Web.Core.Dto.ProductInventory.ProductInventoryQueryRequest,System.Int32)">
<summary>
列表-分页
</summary>
<param name="dto"></param>
<param name="companyId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Infrastructure.ISerialNumberOperateRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
<summary>
批量添加
@@ -6918,6 +7002,11 @@
出库信息
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.FileDownLoadOrderType.ProductInventory">
<summary>
成品即时库存
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.InstockStatus">
<summary>
入库状态
@@ -7163,6 +7252,26 @@
组装拆卸出库
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.ProductInventoryType">
<summary>
成品即时库存类型
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.ProductInventoryType.JinDie">
<summary>
金蝶
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.ProductInventoryType.LingXing">
<summary>
领星
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.ProductInventoryType.JushuiTan">
<summary>
聚水潭
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.ResultCodes">
<summary>
错误提示信息
@@ -7713,6 +7822,11 @@
获取仓位详情根据仓位Codes集合和公司ID
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.Single.SysConfigAction.GetWmsWarehouseByHeadOfficeAndNameAndCompany">
<summary>
获取仓库::根据总公司标记获取仓库
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.SyncStatus">
<summary>
同步金蝶状态