修改实体属性
This commit is contained in:
@@ -540,7 +540,7 @@
|
||||
erp-采购入库-返回数据源
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FPOOrderNo">
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FBillNo">
|
||||
<summary>
|
||||
采购订单号
|
||||
</summary>
|
||||
@@ -555,16 +555,11 @@
|
||||
采购组织
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FUOM">
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FModel">
|
||||
<summary>
|
||||
规则型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FMaterialName">
|
||||
<summary>
|
||||
物料名称
|
||||
@@ -575,22 +570,17 @@
|
||||
物料ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FStockId">
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FSOSTOCKID">
|
||||
<summary>
|
||||
仓库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FStockLocId">
|
||||
<summary>
|
||||
子仓库
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FRemainInStockQty">
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FQty">
|
||||
<summary>
|
||||
采购数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FNote">
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FEntryNote">
|
||||
<summary>
|
||||
明细备注
|
||||
</summary>
|
||||
|
||||
@@ -382,6 +382,11 @@
|
||||
单据编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.Status">
|
||||
<summary>
|
||||
入库状态
|
||||
@@ -417,6 +422,12 @@
|
||||
明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTask.Create(WMS.Web.Domain.Values.InstockType)">
|
||||
<summary>
|
||||
创建
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTask.MakeBillNo(System.Int32)">
|
||||
<summary>
|
||||
创建订单号
|
||||
@@ -450,11 +461,6 @@
|
||||
单据头ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTaskDetails.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTaskDetails.SupplierId">
|
||||
<summary>
|
||||
供应商Id
|
||||
@@ -767,6 +773,11 @@
|
||||
单据编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.Status">
|
||||
<summary>
|
||||
单据状态
|
||||
@@ -825,11 +836,6 @@
|
||||
单据头Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
|
||||
<summary>
|
||||
销售订单号
|
||||
@@ -1115,6 +1121,13 @@
|
||||
<param name="ids"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IInStockTaskRepositories.GetListBy(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
列表-根据明细中的来源单号
|
||||
</summary>
|
||||
<param name="sourceBillNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IInStockTaskRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.InStockTask},System.Boolean)">
|
||||
<summary>
|
||||
批量添加
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
|
||||
/// <summary>
|
||||
/// 采购订单号
|
||||
/// </summary>
|
||||
public string FPOOrderNo { get; set; }
|
||||
public string FBillNo{ get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供应商
|
||||
@@ -27,11 +27,7 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
|
||||
/// <summary>
|
||||
/// 规则型号
|
||||
/// </summary>
|
||||
public string FUOM { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public string FNumber { get; set; }
|
||||
public string FModel { get; set; }
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
@@ -43,19 +39,15 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
|
||||
/// <summary>
|
||||
/// 仓库ID
|
||||
/// </summary>
|
||||
public int FStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 子仓库
|
||||
/// </summary>
|
||||
public int FStockLocId { get; set; }
|
||||
public int FSOSTOCKID { get; set; }
|
||||
/// <summary>
|
||||
/// 采购数量
|
||||
/// </summary>
|
||||
public decimal FRemainInStockQty { get; set; }
|
||||
public decimal FQty { get; set; }
|
||||
/// <summary>
|
||||
/// 明细备注
|
||||
/// </summary>
|
||||
public string FNote { get; set; }
|
||||
public string FEntryNote { get; set; }
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
|
||||
@@ -22,6 +22,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
public string BillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
/// </summary>
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 入库状态
|
||||
/// </summary>
|
||||
public InstockStatus Status { get; set; }
|
||||
@@ -51,6 +55,16 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
public List<InStockTaskDetails> Details = new List<InStockTaskDetails>();
|
||||
|
||||
/// <summary>
|
||||
/// 创建
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
public void Create(InstockType type)
|
||||
{
|
||||
this.Status = InstockStatus.Wait;
|
||||
this.Type = type;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建订单号
|
||||
|
||||
@@ -20,11 +20,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 单据头ID
|
||||
/// </summary>
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
/// </summary>
|
||||
public string SourceBillNo { get; set; }
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 供应商Id
|
||||
/// </summary>
|
||||
|
||||
@@ -28,6 +28,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("BillNo")]
|
||||
public string BillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 单据状态
|
||||
/// </summary>
|
||||
[Column("Status")]
|
||||
|
||||
@@ -25,11 +25,6 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
|
||||
@@ -34,6 +34,13 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
/// <returns></returns>
|
||||
Task<List<InStockTask>> GetList(List<int> ids);
|
||||
|
||||
/// <summary>
|
||||
/// 列表-根据明细中的来源单号
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<InStockTask>> GetListBy(List<string> sourceBillNos);
|
||||
|
||||
/// <summary>
|
||||
/// 批量添加
|
||||
/// </summary>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using WMS.Web.Core.Dto.Erp.Purchase;
|
||||
using WMS.Web.Core.Dto.InStock;
|
||||
using WMS.Web.Core.Dto.InStockTask;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
@@ -22,7 +23,20 @@ namespace WMS.Web.Domain.Mappers
|
||||
|
||||
CreateMap<SaveInStockDetailsRequest, InStockDetails>().ReverseMap();
|
||||
|
||||
CreateMap<ErpPurchaseInStockResultDto, InStockTask>()
|
||||
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo));
|
||||
|
||||
CreateMap<ErpPurchaseInStockResultDto, InStockTaskDetails>()
|
||||
.ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.FSupplierId))
|
||||
.ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.FPurchaseOrgId))
|
||||
.ForMember(x => x.MaterialId, ops => ops.MapFrom(x => x.FMaterialId))
|
||||
.ForMember(x => x.StockId, ops => ops.MapFrom(x => x.FSOSTOCKID))
|
||||
|
||||
.ForMember(x => x.AccruedQty, ops => ops.MapFrom(x => x.FQty))
|
||||
.ForMember(x => x.Remark, ops => ops.MapFrom(x => x.FEntryNote))
|
||||
.ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.FCreateDate))
|
||||
|
||||
.ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.ServiceModel;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -13,6 +14,8 @@ using WMS.Web.Core.Dto.Erp;
|
||||
using WMS.Web.Core.Dto.Erp.Org;
|
||||
using WMS.Web.Core.Dto.Erp.Purchase;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
using WMS.Web.Domain.IService.Public;
|
||||
using WMS.Web.Domain.Options;
|
||||
using WMS.Web.Domain.Values;
|
||||
@@ -30,16 +33,19 @@ namespace WMS.Web.Domain.Services.Public
|
||||
private ILogger<ErpService> _logger;
|
||||
private ERPGWSoapClient _client;
|
||||
private readonly IMemoryCache _memoryCache;
|
||||
private readonly IInStockTaskRepositories _inStockTaskRepositories;
|
||||
public ErpService(
|
||||
IMapper mapper,
|
||||
IOptions<ErpOptions> erpOptions,
|
||||
ILogger<ErpService> logger,
|
||||
IMemoryCache memoryCache)
|
||||
IMemoryCache memoryCache,
|
||||
IInStockTaskRepositories inStockTaskRepositories)
|
||||
{
|
||||
this._erpOptions = erpOptions?.Value;
|
||||
this._mapper = mapper;
|
||||
this._logger = logger;
|
||||
this._memoryCache = memoryCache;
|
||||
this._inStockTaskRepositories = inStockTaskRepositories;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -72,45 +78,64 @@ namespace WMS.Web.Domain.Services.Public
|
||||
{
|
||||
try
|
||||
{
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
//var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var beginTime = DateTime.Now.ToString("2023-07-06 00:00:00");
|
||||
var endTime = DateTime.Now.ToString("2023-07-06 01:00:00");
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString());
|
||||
param.FieldKeys = "FPOOrderNo,FSupplierId,FPurchaseOrgId,FUOM,FMaterialId.FNumber,FMaterialName,FMaterialId,FStockId,FStockLocId,FRemainInStockQty,FNote,FCreateDate";
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString());
|
||||
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FModel,FMaterialName,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate";
|
||||
param.Limit = 10;
|
||||
param.FilterString = "FCreateDate>='"+beginTime+"' and FCreateDate<='"+endTime+"'";
|
||||
query.Data = JsonConvert.SerializeObject(param);
|
||||
var json = JsonConvert.SerializeObject(query);
|
||||
|
||||
//4.请求查询接口
|
||||
var result_json = await _client.ExecuteBillQueryAsync(json);
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var list = new List<ErpPurchaseInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpPurchaseInStockResultDto();
|
||||
lis.FPOOrderNo = item[0];
|
||||
lis.FBillNo = item[0];
|
||||
lis.FSupplierId = Convert.ToInt32(item[1]);
|
||||
lis.FPurchaseOrgId = Convert.ToInt32(item[2]);
|
||||
lis.FUOM = item[3];
|
||||
lis.FNumber = item[4];
|
||||
lis.FMaterialName = item[5];
|
||||
lis.FMaterialId = Convert.ToInt32(item[6]);
|
||||
lis.FStockId = Convert.ToInt32(item[7]);
|
||||
lis.FStockLocId = Convert.ToInt32(item[8]);
|
||||
lis.FRemainInStockQty =Convert.ToDecimal(item[9]);
|
||||
lis.FNote = item[10];
|
||||
lis.FCreateDate =Convert.ToDateTime(item[11]);
|
||||
lis.FModel = item[3];
|
||||
lis.FMaterialName = item[4];
|
||||
lis.FMaterialId = Convert.ToInt32(item[5]);
|
||||
lis.FSOSTOCKID = Convert.ToInt32(item[6]);
|
||||
lis.FQty = Convert.ToDecimal(item[7]);
|
||||
lis.FEntryNote = item[8];
|
||||
lis.FCreateDate =Convert.ToDateTime(item[9]);
|
||||
//list.FCHUCHANGPRICE=[10]FCHUCHANGPRICE;//这个是出厂价,但是金蝶测试没有这个字段,正式有的
|
||||
list.Add(lis);
|
||||
|
||||
}
|
||||
|
||||
//6.
|
||||
var SourceBillNo_list = list.GroupBy(x=>x.FBillNo).Select(x => x.Key).ToList();
|
||||
var data_list= await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
var data_details_list= data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_details_list)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
var dto = new InStockTask();
|
||||
dto.Create(InstockType.Purchase);
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(list);
|
||||
|
||||
|
||||
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReSuccess(list);
|
||||
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace WMS.Web.Repositories
|
||||
.Where(adv => 1 == 1);
|
||||
|
||||
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
||||
query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNo, "%" + dto.SourceBillNo + "%"));
|
||||
query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%"));
|
||||
|
||||
//if (!string.IsNullOrEmpty(dto.MaterialNumber))
|
||||
// query = query.Where(w => EF.Functions.Like(w.detail.BillNo, "%" + dto.BillNo + "%"));
|
||||
@@ -81,7 +81,7 @@ namespace WMS.Web.Repositories
|
||||
BillNo = s.order.BillNo,
|
||||
Type = s.order.Type.GetRemark(),
|
||||
Status = s.order.Status.GetRemark(),
|
||||
SourceBillNo = s.detail.SourceBillNo,
|
||||
SourceBillNo = s.order.SourceBillNo,
|
||||
Supplier = "",
|
||||
Org = "",
|
||||
MaterialName = "",
|
||||
@@ -128,6 +128,19 @@ namespace WMS.Web.Repositories
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 列表-根据明细中的来源单号
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<InStockTask>> GetListBy(List<string> sourceBillNos)
|
||||
{
|
||||
return await _context.InStockTask
|
||||
.Include(s => s.Details)
|
||||
.Where(w => sourceBillNos.Contains(w.SourceBillNo))
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量添加
|
||||
/// </summary>
|
||||
|
||||
@@ -173,7 +173,7 @@ namespace WMS.Web.Repositories
|
||||
if (dto.Ids.Count() > 0)
|
||||
query = query.Where(w => dto.Ids.Contains(w.detail.Id));
|
||||
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
||||
query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNo, "%" + dto.SourceBillNo + "%"));
|
||||
query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%"));
|
||||
if (dto.Type != null)
|
||||
query = query.Where(w => w.order.Type == (OrderType)dto.Type);
|
||||
if (dto.Status != null)
|
||||
@@ -198,7 +198,7 @@ namespace WMS.Web.Repositories
|
||||
Type = s.order.Type.GetRemark(),
|
||||
CreateTime = s.order.OperateTime.DateToStringSeconds(),
|
||||
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId),
|
||||
SourceBillNo = s.detail.SourceBillNo,
|
||||
SourceBillNo = s.order.SourceBillNo,
|
||||
SaleBillNo = s.detail.SaleBillNo,
|
||||
DeliveryOrg = "",
|
||||
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId),
|
||||
|
||||
Reference in New Issue
Block a user