修改实体属性

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-采购入库-返回数据源
</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>

View File

@@ -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>
批量添加

View File

@@ -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>

View File

@@ -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>
/// 创建订单号

View File

@@ -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>

View File

@@ -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")]

View File

@@ -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")]

View File

@@ -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>

View File

@@ -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();
}
}
}

View File

@@ -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);
}

View File

@@ -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>

View File

@@ -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),