修改实体属性

This commit is contained in:
tongfei
2023-11-01 09:19:41 +08:00
parent 1eafbc8503
commit 8a3361c61f
12 changed files with 135 additions and 71 deletions

View File

@@ -540,7 +540,7 @@
erp-采购入库-返回数据源 erp-采购入库-返回数据源
</summary> </summary>
</member> </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>
采购订单号 采购订单号
</summary> </summary>
@@ -555,16 +555,11 @@
采购组织 采购组织
</summary> </summary>
</member> </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>
规则型号 规则型号
</summary> </summary>
</member> </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"> <member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FMaterialName">
<summary> <summary>
物料名称 物料名称
@@ -575,22 +570,17 @@
物料ID 物料ID
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FStockId"> <member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FSOSTOCKID">
<summary> <summary>
仓库ID 仓库ID
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FStockLocId"> <member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FQty">
<summary>
子仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FRemainInStockQty">
<summary> <summary>
采购数量 采购数量
</summary> </summary>
</member> </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>
明细备注 明细备注
</summary> </summary>

View File

@@ -382,6 +382,11 @@
单据编号 单据编号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.InStockTask.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.InStockTask.Status"> <member name="P:WMS.Web.Domain.Entitys.InStockTask.Status">
<summary> <summary>
入库状态 入库状态
@@ -417,6 +422,12 @@
明细 明细
</summary> </summary>
</member> </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)"> <member name="M:WMS.Web.Domain.Entitys.InStockTask.MakeBillNo(System.Int32)">
<summary> <summary>
创建订单号 创建订单号
@@ -450,11 +461,6 @@
单据头ID 单据头ID
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.InStockTaskDetails.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.InStockTaskDetails.SupplierId"> <member name="P:WMS.Web.Domain.Entitys.InStockTaskDetails.SupplierId">
<summary> <summary>
供应商Id 供应商Id
@@ -767,6 +773,11 @@
单据编号 单据编号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.Status"> <member name="P:WMS.Web.Domain.Entitys.OutStockTask.Status">
<summary> <summary>
单据状态 单据状态
@@ -825,11 +836,6 @@
单据头Id 单据头Id
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo"> <member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
<summary> <summary>
销售订单号 销售订单号
@@ -1115,6 +1121,13 @@
<param name="ids"></param> <param name="ids"></param>
<returns></returns> <returns></returns>
</member> </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)"> <member name="M:WMS.Web.Domain.Infrastructure.IInStockTaskRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.InStockTask},System.Boolean)">
<summary> <summary>
批量添加 批量添加

View File

@@ -14,7 +14,7 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
/// <summary> /// <summary>
/// 采购订单号 /// 采购订单号
/// </summary> /// </summary>
public string FPOOrderNo { get; set; } public string FBillNo{ get; set; }
/// <summary> /// <summary>
/// 供应商 /// 供应商
@@ -27,11 +27,7 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
/// <summary> /// <summary>
/// 规则型号 /// 规则型号
/// </summary> /// </summary>
public string FUOM { get; set; } public string FModel { get; set; }
/// <summary>
/// 物料编码
/// </summary>
public string FNumber { get; set; }
/// <summary> /// <summary>
/// 物料名称 /// 物料名称
/// </summary> /// </summary>
@@ -43,19 +39,15 @@ namespace WMS.Web.Core.Dto.Erp.Purchase
/// <summary> /// <summary>
/// 仓库ID /// 仓库ID
/// </summary> /// </summary>
public int FStockId { get; set; } public int FSOSTOCKID { get; set; }
/// <summary>
/// 子仓库
/// </summary>
public int FStockLocId { get; set; }
/// <summary> /// <summary>
/// 采购数量 /// 采购数量
/// </summary> /// </summary>
public decimal FRemainInStockQty { get; set; } public decimal FQty { get; set; }
/// <summary> /// <summary>
/// 明细备注 /// 明细备注
/// </summary> /// </summary>
public string FNote { get; set; } public string FEntryNote { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>

View File

@@ -22,6 +22,10 @@ namespace WMS.Web.Domain.Entitys
/// </summary> /// </summary>
public string BillNo { get; set; } public string BillNo { get; set; }
/// <summary> /// <summary>
/// 来源单号
/// </summary>
public string SourceBillNo { get; set; }
/// <summary>
/// 入库状态 /// 入库状态
/// </summary> /// </summary>
public InstockStatus Status { get; set; } public InstockStatus Status { get; set; }
@@ -51,6 +55,16 @@ namespace WMS.Web.Domain.Entitys
/// </summary> /// </summary>
public List<InStockTaskDetails> Details = new List<InStockTaskDetails>(); 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> /// <summary>
/// 创建订单号 /// 创建订单号

View File

@@ -22,10 +22,6 @@ namespace WMS.Web.Domain.Entitys
/// </summary> /// </summary>
public int Fid { get; set; } public int Fid { get; set; }
/// <summary> /// <summary>
/// 来源单号
/// </summary>
public string SourceBillNo { get; set; }
/// <summary>
/// 供应商Id /// 供应商Id
/// </summary> /// </summary>
public int SupplierId { get; set; } public int SupplierId { get; set; }

View File

@@ -28,6 +28,11 @@ namespace WMS.Web.Domain.Entitys
[Column("BillNo")] [Column("BillNo")]
public string BillNo { get; set; } public string BillNo { get; set; }
/// <summary> /// <summary>
/// 来源单号
///</summary>
[Column("SourceBillNo")]
public string SourceBillNo { get; set; }
/// <summary>
/// 单据状态 /// 单据状态
/// </summary> /// </summary>
[Column("Status")] [Column("Status")]

View File

@@ -25,11 +25,6 @@ namespace WMS.Web.Domain.Entitys
[Column("Fid")] [Column("Fid")]
public int Fid { get; set; } public int Fid { get; set; }
/// <summary> /// <summary>
/// 来源单号
///</summary>
[Column("SourceBillNo")]
public string SourceBillNo { get; set; }
/// <summary>
/// 销售订单号 /// 销售订单号
///</summary> ///</summary>
[Column("SaleBillNo")] [Column("SaleBillNo")]

View File

@@ -34,6 +34,13 @@ namespace WMS.Web.Domain.Infrastructure
/// <returns></returns> /// <returns></returns>
Task<List<InStockTask>> GetList(List<int> ids); Task<List<InStockTask>> GetList(List<int> ids);
/// <summary>
/// 列表-根据明细中的来源单号
/// </summary>
/// <param name="sourceBillNos"></param>
/// <returns></returns>
Task<List<InStockTask>> GetListBy(List<string> sourceBillNos);
/// <summary> /// <summary>
/// 批量添加 /// 批量添加
/// </summary> /// </summary>

View File

@@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using WMS.Web.Core.Dto.Erp.Purchase;
using WMS.Web.Core.Dto.InStock; using WMS.Web.Core.Dto.InStock;
using WMS.Web.Core.Dto.InStockTask; using WMS.Web.Core.Dto.InStockTask;
using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Entitys;
@@ -22,7 +23,20 @@ namespace WMS.Web.Domain.Mappers
CreateMap<SaveInStockDetailsRequest, InStockDetails>().ReverseMap(); 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();
} }
} }
} }

View File

@@ -6,6 +6,7 @@ using Microsoft.Extensions.Options;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.ServiceModel; using System.ServiceModel;
using System.Text; using System.Text;
using System.Threading.Tasks; 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.Org;
using WMS.Web.Core.Dto.Erp.Purchase; using WMS.Web.Core.Dto.Erp.Purchase;
using WMS.Web.Core.Internal.Results; 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.IService.Public;
using WMS.Web.Domain.Options; using WMS.Web.Domain.Options;
using WMS.Web.Domain.Values; using WMS.Web.Domain.Values;
@@ -30,16 +33,19 @@ namespace WMS.Web.Domain.Services.Public
private ILogger<ErpService> _logger; private ILogger<ErpService> _logger;
private ERPGWSoapClient _client; private ERPGWSoapClient _client;
private readonly IMemoryCache _memoryCache; private readonly IMemoryCache _memoryCache;
private readonly IInStockTaskRepositories _inStockTaskRepositories;
public ErpService( public ErpService(
IMapper mapper, IMapper mapper,
IOptions<ErpOptions> erpOptions, IOptions<ErpOptions> erpOptions,
ILogger<ErpService> logger, ILogger<ErpService> logger,
IMemoryCache memoryCache) IMemoryCache memoryCache,
IInStockTaskRepositories inStockTaskRepositories)
{ {
this._erpOptions = erpOptions?.Value; this._erpOptions = erpOptions?.Value;
this._mapper = mapper; this._mapper = mapper;
this._logger = logger; this._logger = logger;
this._memoryCache = memoryCache; this._memoryCache = memoryCache;
this._inStockTaskRepositories = inStockTaskRepositories;
} }
/// <summary> /// <summary>
@@ -72,45 +78,64 @@ namespace WMS.Web.Domain.Services.Public
{ {
try try
{ {
//1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
if (!token_result.IsSuccess) if (!token_result.IsSuccess)
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(token_result); return ResultList<ErpPurchaseInStockResultDto>.ReFailure(token_result);
//var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00"); //2.时间条件:可能还有其它条件
//var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
var beginTime = DateTime.Now.ToString("2023-07-06 00:00:00"); var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var endTime = DateTime.Now.ToString("2023-07-06 01:00:00"); //3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data); var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString()); var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString());
param.FieldKeys = "FPOOrderNo,FSupplierId,FPurchaseOrgId,FUOM,FMaterialId.FNumber,FMaterialName,FMaterialId,FStockId,FStockLocId,FRemainInStockQty,FNote,FCreateDate"; param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FModel,FMaterialName,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate";
param.Limit = 10; param.Limit = 10;
param.FilterString = "FCreateDate>='"+beginTime+"' and FCreateDate<='"+endTime+"'"; param.FilterString = "FCreateDate>='"+beginTime+"' and FCreateDate<='"+endTime+"'";
query.Data = JsonConvert.SerializeObject(param); query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query); var json = JsonConvert.SerializeObject(query);
//4.请求查询接口
var result_json = await _client.ExecuteBillQueryAsync(json); var result_json = await _client.ExecuteBillQueryAsync(json);
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json); var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
//5.返回数据的组装
var list = new List<ErpPurchaseInStockResultDto>(); var list = new List<ErpPurchaseInStockResultDto>();
foreach (var item in result) foreach (var item in result)
{ {
var lis = new ErpPurchaseInStockResultDto(); var lis = new ErpPurchaseInStockResultDto();
lis.FPOOrderNo = item[0]; lis.FBillNo = item[0];
lis.FSupplierId = Convert.ToInt32(item[1]); lis.FSupplierId = Convert.ToInt32(item[1]);
lis.FPurchaseOrgId = Convert.ToInt32(item[2]); lis.FPurchaseOrgId = Convert.ToInt32(item[2]);
lis.FUOM = item[3]; lis.FModel = item[3];
lis.FNumber = item[4]; lis.FMaterialName = item[4];
lis.FMaterialName = item[5]; lis.FMaterialId = Convert.ToInt32(item[5]);
lis.FMaterialId = Convert.ToInt32(item[6]); lis.FSOSTOCKID = Convert.ToInt32(item[6]);
lis.FStockId = Convert.ToInt32(item[7]); lis.FQty = Convert.ToDecimal(item[7]);
lis.FStockLocId = Convert.ToInt32(item[8]); lis.FEntryNote = item[8];
lis.FRemainInStockQty =Convert.ToDecimal(item[9]); lis.FCreateDate =Convert.ToDateTime(item[9]);
lis.FNote = item[10]; //list.FCHUCHANGPRICE=[10]FCHUCHANGPRICE;//这个是出厂价,但是金蝶测试没有这个字段,正式有的
lis.FCreateDate =Convert.ToDateTime(item[11]);
list.Add(lis); 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); return ResultList<ErpPurchaseInStockResultDto>.ReSuccess(list);
} }

View File

@@ -45,7 +45,7 @@ namespace WMS.Web.Repositories
.Where(adv => 1 == 1); .Where(adv => 1 == 1);
if (!string.IsNullOrEmpty(dto.SourceBillNo)) 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)) //if (!string.IsNullOrEmpty(dto.MaterialNumber))
// query = query.Where(w => EF.Functions.Like(w.detail.BillNo, "%" + dto.BillNo + "%")); // query = query.Where(w => EF.Functions.Like(w.detail.BillNo, "%" + dto.BillNo + "%"));
@@ -81,7 +81,7 @@ namespace WMS.Web.Repositories
BillNo = s.order.BillNo, BillNo = s.order.BillNo,
Type = s.order.Type.GetRemark(), Type = s.order.Type.GetRemark(),
Status = s.order.Status.GetRemark(), Status = s.order.Status.GetRemark(),
SourceBillNo = s.detail.SourceBillNo, SourceBillNo = s.order.SourceBillNo,
Supplier = "", Supplier = "",
Org = "", Org = "",
MaterialName = "", MaterialName = "",
@@ -128,6 +128,19 @@ namespace WMS.Web.Repositories
.ToListAsync(); .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>
/// 批量添加 /// 批量添加
/// </summary> /// </summary>

View File

@@ -173,7 +173,7 @@ namespace WMS.Web.Repositories
if (dto.Ids.Count() > 0) if (dto.Ids.Count() > 0)
query = query.Where(w => dto.Ids.Contains(w.detail.Id)); query = query.Where(w => dto.Ids.Contains(w.detail.Id));
if (!string.IsNullOrEmpty(dto.SourceBillNo)) 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) if (dto.Type != null)
query = query.Where(w => w.order.Type == (OrderType)dto.Type); query = query.Where(w => w.order.Type == (OrderType)dto.Type);
if (dto.Status != null) if (dto.Status != null)
@@ -198,7 +198,7 @@ namespace WMS.Web.Repositories
Type = s.order.Type.GetRemark(), Type = s.order.Type.GetRemark(),
CreateTime = s.order.OperateTime.DateToStringSeconds(), CreateTime = s.order.OperateTime.DateToStringSeconds(),
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId), Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId),
SourceBillNo = s.detail.SourceBillNo, SourceBillNo = s.order.SourceBillNo,
SaleBillNo = s.detail.SaleBillNo, SaleBillNo = s.detail.SaleBillNo,
DeliveryOrg = "", DeliveryOrg = "",
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId), ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId),