同步入库单-方法优化
This commit is contained in:
@@ -605,6 +605,71 @@
|
||||
表单所在的子系统内码,字符串类型(非必录)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.Erp.ErpInStockResultDto">
|
||||
<summary>
|
||||
ERP:入库单-统一响应对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.BillNo">
|
||||
<summary>
|
||||
单据编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.OrgId">
|
||||
<summary>
|
||||
组织
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.SupplierId">
|
||||
<summary>
|
||||
供应商
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.MaterialId">
|
||||
<summary>
|
||||
物料ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.StockId">
|
||||
<summary>
|
||||
仓库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.StockCode">
|
||||
<summary>
|
||||
仓库code
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.Qty">
|
||||
<summary>
|
||||
数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.FactoryPrice">
|
||||
<summary>
|
||||
出厂价
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.DeliveredQty">
|
||||
<summary>
|
||||
已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.Remark">
|
||||
<summary>
|
||||
明细备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.CreateTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.Type">
|
||||
<summary>
|
||||
单据类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto">
|
||||
<summary>
|
||||
erp:其他入库单
|
||||
|
||||
@@ -477,11 +477,13 @@
|
||||
明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTask.Create(WMS.Web.Domain.Values.InstockType)">
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTask.Create(WMS.Web.Domain.Values.InstockType,System.String,System.DateTime)">
|
||||
<summary>
|
||||
创建
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
<param name="sourceBillNo"></param>
|
||||
<param name="createTime"></param>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTask.MakeBillNo(System.Int32)">
|
||||
<summary>
|
||||
@@ -1847,6 +1849,13 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.IInStockTaskService.Sysn(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
同步
|
||||
</summary>
|
||||
<param name="billNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.IService.IOutStockService">
|
||||
<summary>
|
||||
出库服务
|
||||
@@ -2604,13 +2613,6 @@
|
||||
<param name="context"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.QuartzJob.InStockOrderQuartzJob.InStock(System.Boolean)">
|
||||
<summary>
|
||||
同步:入库单类型的数据(采购订单,其他入库单,)
|
||||
</summary>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.QuartzJob.OutStockOrderQuartzJob.Execute(Quartz.IJobExecutionContext)">
|
||||
<summary>
|
||||
执行方法
|
||||
@@ -2802,6 +2804,29 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.InStockTaskService.Sysn(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
同步
|
||||
</summary>
|
||||
<param name="billNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.InStockTaskService.InStock(System.Collections.Generic.List{System.String},System.Boolean)">
|
||||
<summary>
|
||||
同步:入库单类型的数据
|
||||
</summary>
|
||||
<param name="billNos"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.InStockTaskService.SysnData(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpInStockResultDto},System.Boolean)">
|
||||
<summary>
|
||||
ERP数据同步到WMS数据库
|
||||
</summary>
|
||||
<param name="erp_list"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Services.OutStockService">
|
||||
<summary>
|
||||
出库服务
|
||||
|
||||
71
src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs
Normal file
71
src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.Erp
|
||||
{
|
||||
/// <summary>
|
||||
/// ERP:入库单-统一响应对象
|
||||
/// </summary>
|
||||
public class ErpInStockResultDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 单据编号
|
||||
/// </summary>
|
||||
public string BillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 组织
|
||||
/// </summary>
|
||||
public int OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供应商
|
||||
/// </summary>
|
||||
public int SupplierId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仓库ID
|
||||
/// </summary>
|
||||
public int StockId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仓库code
|
||||
/// </summary>
|
||||
public string StockCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
public decimal Qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 出厂价
|
||||
/// </summary>
|
||||
public decimal FactoryPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有
|
||||
/// </summary>
|
||||
public decimal DeliveredQty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单据类型
|
||||
/// </summary>
|
||||
public int Type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -70,10 +70,14 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 创建
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
public void Create(InstockType type)
|
||||
/// <param name="sourceBillNo"></param>
|
||||
/// <param name="createTime"></param>
|
||||
public void Create(InstockType type,string sourceBillNo, DateTime createTime)
|
||||
{
|
||||
this.Status = InstockStatus.Wait;
|
||||
this.Type = type;
|
||||
this.SourceBillNo = sourceBillNo;
|
||||
this.CreateTime = createTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -64,5 +64,12 @@ namespace WMS.Web.Domain.IService
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> SysnAssembledApp(List<string> billNos = null, bool isTransaction = true);
|
||||
|
||||
/// <summary>
|
||||
/// 同步
|
||||
/// </summary>
|
||||
/// <param name="billNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> Sysn(List<string> billNos = null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,42 +25,42 @@ namespace WMS.Web.Domain.IService.Public
|
||||
/// erp:单据查询-采购入库单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpPurchaseInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-其他入库单
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpMiscellaneousDto>> BillQueryForMiscellaneous(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForMiscellaneous(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-直接调拨入库单
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpTransferDirectDto>> BillQueryForTransferDirect(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForTransferDirect(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-分步式调入单
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpTransferinDto>> BillQueryForTransferin(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForTransferin(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-组装拆卸单-组装(成品入库)
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpAssembledAppDto>> BillQueryForAssembledApp_Assembly(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForAssembledApp_Assembly(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-组装拆卸单-拆卸(子件入库)
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultList<ErpAssembledAppDto>> BillQueryForAssembledApp_Disassembly(List<string> sourceBillNos = null);
|
||||
Task<ResultList<ErpInStockResultDto>> BillQueryForAssembledApp_Disassembly(List<string> sourceBillNos = null);
|
||||
|
||||
/// <summary>
|
||||
/// erp:单据查询-出库单
|
||||
|
||||
@@ -39,6 +39,23 @@ namespace WMS.Web.Domain.Mappers
|
||||
|
||||
#region ERP-dto映射到wsm的任务表中
|
||||
|
||||
//ERP-同步结果对象统一映射
|
||||
CreateMap<ErpInStockResultDto, InStockTask>()
|
||||
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.BillNo))
|
||||
.ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.CreateTime));
|
||||
|
||||
CreateMap<ErpInStockResultDto, InStockTaskDetails>()
|
||||
.ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.SupplierId))
|
||||
.ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.OrgId))
|
||||
.ForMember(x => x.MaterialId, ops => ops.MapFrom(x => x.MaterialId))
|
||||
.ForMember(x => x.StockCode, ops => ops.MapFrom(x => x.StockCode))
|
||||
.ForMember(x => x.DeliveredQty, ops => ops.MapFrom(x => x.DeliveredQty))
|
||||
.ForMember(x => x.FactoryPrice, ops => ops.MapFrom(x => x.FactoryPrice))
|
||||
.ForMember(x => x.AccruedQty, ops => ops.MapFrom(x => x.Qty))
|
||||
.ForMember(x => x.Remark, ops => ops.MapFrom(x => x.Remark))
|
||||
.ReverseMap();
|
||||
|
||||
|
||||
//ERP采购订单
|
||||
CreateMap<ErpPurchaseInStockResultDto, InStockTask>()
|
||||
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo))
|
||||
|
||||
@@ -48,25 +48,18 @@ namespace WMS.Web.Domain.QuartzJob
|
||||
{
|
||||
try
|
||||
{
|
||||
//1.事务
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isTransaction = false;
|
||||
//2.记录:开始时间
|
||||
|
||||
//1.记录:开始时间
|
||||
var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"同步金蝶入库单数据:执行开始时间->{begindatetime}");
|
||||
//3.同步数据
|
||||
var result = await this.InStock(isTransaction);
|
||||
//2.同步数据
|
||||
var result = await _inStockTaskService.Sysn();
|
||||
if (!result.IsSuccess)
|
||||
{
|
||||
_logger.LogInformation($"同步金蝶入库单数据:执行失败->{result.Message}");
|
||||
isRollback = true;
|
||||
}
|
||||
|
||||
//4.提交事务
|
||||
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
|
||||
//5.记录:结束时间
|
||||
//3.记录:结束时间
|
||||
var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"同步金蝶入库单数据:执行结束时间->{begindatetime}");
|
||||
|
||||
@@ -78,39 +71,6 @@ namespace WMS.Web.Domain.QuartzJob
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步:入库单类型的数据(采购订单,其他入库单,)
|
||||
/// </summary>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> InStock(bool isTransaction)
|
||||
{
|
||||
//1.同步数据:采购订单
|
||||
var purchase_result = await _inStockTaskService.SsynPurchaseInStock(null, isTransaction);
|
||||
if (!purchase_result.IsSuccess)
|
||||
return Result.ReFailure(purchase_result.Message,purchase_result.Status);
|
||||
|
||||
//2.同步数据:其他入库单
|
||||
var miscellaneou_result = await _inStockTaskService.SysnMiscellaneous(null, isTransaction);
|
||||
if (!miscellaneou_result.IsSuccess)
|
||||
return Result.ReFailure(miscellaneou_result.Message, miscellaneou_result.Status);
|
||||
|
||||
//3.同步数据:直接调拨入库单
|
||||
var TransferDirect_result = await _inStockTaskService.SysnTransferDirect(null, isTransaction);
|
||||
if (!TransferDirect_result.IsSuccess)
|
||||
return Result.ReFailure(TransferDirect_result.Message, TransferDirect_result.Status);
|
||||
|
||||
//4.同步数据:分步式入库单
|
||||
var Transferin_result = await _inStockTaskService.SysnTransferin(null, isTransaction);
|
||||
if (!Transferin_result.IsSuccess)
|
||||
return Result.ReFailure(Transferin_result.Message, Transferin_result.Status);
|
||||
|
||||
//5.同步数据:组装拆卸单
|
||||
var AssembledApp_result = await _inStockTaskService.SysnAssembledApp(null, isTransaction);
|
||||
if (!AssembledApp_result.IsSuccess)
|
||||
return Result.ReFailure(AssembledApp_result.Message, AssembledApp_result.Status);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,67 +143,7 @@ namespace WMS.Web.Domain.Services
|
||||
return Result.ReFailure(erp_result.Message, erp_result.Status);
|
||||
var erp_list = erp_result.Data;
|
||||
|
||||
//2.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpPurchaseInStockResultDto>();
|
||||
var SourceBillNo_list = erp_list.GroupBy(x => x.FBillNo).Select(x => x.Key).ToList();
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
//2.1提取出wms任务单明细信息
|
||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_list_details)
|
||||
{
|
||||
var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
|
||||
//2.1.1对比erp的物料信息
|
||||
var erp_data = erp_list.Where(x => x.FBillNo == data.SourceBillNo && x.FMaterialId == item.MaterialId).FirstOrDefault();
|
||||
if (erp_data != null)
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.FQty;
|
||||
item.DeliveredQty = erp_data.FStockInQty;
|
||||
erp_removeList.Add(erp_data);
|
||||
}
|
||||
}
|
||||
|
||||
//2.2.提交修改
|
||||
var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
//2.3剔除:已修改的单据
|
||||
foreach (var item in erp_removeList)
|
||||
{
|
||||
erp_list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<InStockTask>();
|
||||
//var current_billNos = erp_list.GroupBy(x => x.FBillNo).Select(x => x.Key).ToList();
|
||||
var current_billNos = erp_list.GroupBy(x => new { x.FBillNo, x.FCreateDate }).Select(x => new { x.Key.FBillNo, x.Key.FCreateDate }).ToList();
|
||||
foreach (var item in current_billNos)
|
||||
{
|
||||
var dto = new InStockTask();
|
||||
dto.SourceBillNo = item.FBillNo;
|
||||
dto.CreateTime = item.FCreateDate;
|
||||
dto.Create(InstockType.Purchase);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.FBillNo == item.FBillNo).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
}
|
||||
//3.1提交新增
|
||||
var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
return await this.SysnData(erp_list.ToList(), isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -220,65 +160,7 @@ namespace WMS.Web.Domain.Services
|
||||
return Result.ReFailure(erp_result.Message, erp_result.Status);
|
||||
var erp_list = erp_result.Data;
|
||||
|
||||
//2.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpMiscellaneousDto>();
|
||||
var SourceBillNo_list = erp_list.GroupBy(x => x.BillNo).Select(x => x.Key).ToList();
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
//2.1提取出wms任务单明细信息
|
||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_list_details)
|
||||
{
|
||||
var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
|
||||
//2.1.1对比erp的物料信息
|
||||
var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
if (erp_data != null)
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.Qty;
|
||||
erp_removeList.Add(erp_data);
|
||||
}
|
||||
}
|
||||
|
||||
//2.2.提交修改
|
||||
var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
//2.3剔除:已修改的单据
|
||||
foreach (var item in erp_removeList)
|
||||
{
|
||||
erp_list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<InStockTask>();
|
||||
var current_billNos = erp_list.GroupBy(x => new { x.BillNo,x.CreateTime }).Select(x => new {x.Key.BillNo,x.Key.CreateTime }).ToList();
|
||||
foreach (var item in current_billNos)
|
||||
{
|
||||
var dto = new InStockTask();
|
||||
dto.SourceBillNo = item.BillNo;
|
||||
dto.CreateTime = item.CreateTime;
|
||||
dto.Create(InstockType.Miscellaneous);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.BillNo == item.BillNo).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
}
|
||||
//3.1提交新增
|
||||
var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
return await this.SysnData(erp_list.ToList(), isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -295,65 +177,7 @@ namespace WMS.Web.Domain.Services
|
||||
return Result.ReFailure(erp_result.Message, erp_result.Status);
|
||||
var erp_list = erp_result.Data;
|
||||
|
||||
//2.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpTransferDirectDto>();
|
||||
var SourceBillNo_list = erp_list.GroupBy(x => x.BillNo).Select(x => x.Key).ToList();
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
//2.1提取出wms任务单明细信息
|
||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_list_details)
|
||||
{
|
||||
var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
|
||||
//2.1.1对比erp的物料信息
|
||||
var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
if (erp_data != null)
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.Qty;
|
||||
erp_removeList.Add(erp_data);
|
||||
}
|
||||
}
|
||||
|
||||
//2.2.提交修改
|
||||
var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
//2.3剔除:已修改的单据
|
||||
foreach (var item in erp_removeList)
|
||||
{
|
||||
erp_list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<InStockTask>();
|
||||
var current_billNos = erp_list.GroupBy(x => new { x.BillNo, x.CreateTime }).Select(x => new { x.Key.BillNo, x.Key.CreateTime }).ToList();
|
||||
foreach (var item in current_billNos)
|
||||
{
|
||||
var dto = new InStockTask();
|
||||
dto.SourceBillNo = item.BillNo;
|
||||
dto.CreateTime = item.CreateTime;
|
||||
dto.Create(InstockType.Stkdirecttransfers);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.BillNo == item.BillNo).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
}
|
||||
//3.1提交新增
|
||||
var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
return await this.SysnData(erp_list.ToList(), isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -370,65 +194,7 @@ namespace WMS.Web.Domain.Services
|
||||
return Result.ReFailure(erp_result.Message, erp_result.Status);
|
||||
var erp_list = erp_result.Data;
|
||||
|
||||
//2.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpTransferinDto>();
|
||||
var SourceBillNo_list = erp_list.GroupBy(x => x.BillNo).Select(x => x.Key).ToList();
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
//2.1提取出wms任务单明细信息
|
||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_list_details)
|
||||
{
|
||||
var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
|
||||
//2.1.1对比erp的物料信息
|
||||
var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
if (erp_data != null)
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.Qty;
|
||||
erp_removeList.Add(erp_data);
|
||||
}
|
||||
}
|
||||
|
||||
//2.2.提交修改
|
||||
var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
//2.3剔除:已修改的单据
|
||||
foreach (var item in erp_removeList)
|
||||
{
|
||||
erp_list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
//3.wms任务单的来源单据编号不存在于erp中,那么就新增
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<InStockTask>();
|
||||
var current_billNos = erp_list.GroupBy(x => new { x.BillNo, x.CreateTime }).Select(x => new { x.Key.BillNo, x.Key.CreateTime }).ToList();
|
||||
foreach (var item in current_billNos)
|
||||
{
|
||||
var dto = new InStockTask();
|
||||
dto.SourceBillNo = item.BillNo;
|
||||
dto.CreateTime = item.CreateTime;
|
||||
dto.Create(InstockType.StktransferInst);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.BillNo == item.BillNo).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
}
|
||||
//3.1提交新增
|
||||
var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
return await this.SysnData(erp_list.ToList(), isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -439,7 +205,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SysnAssembledApp(List<string> billNos = null, bool isTransaction = true)
|
||||
{
|
||||
var erp_list = new List<ErpAssembledAppDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
|
||||
//1.获取金蝶数据:组装成品入库订单数据
|
||||
var erp_result_ass = await _erpService.BillQueryForAssembledApp_Assembly(billNos);
|
||||
@@ -456,8 +222,79 @@ namespace WMS.Web.Domain.Services
|
||||
erp_list.AddRange(erp_list_disass);
|
||||
|
||||
|
||||
//2.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpAssembledAppDto>();
|
||||
return await this.SysnData(erp_list, isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步
|
||||
/// </summary>
|
||||
/// <param name="billNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> Sysn(List<string> billNos = null)
|
||||
{
|
||||
//1.事务
|
||||
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isTransaction = false;
|
||||
|
||||
//3.同步数据
|
||||
var result = await this.InStock(billNos, isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
|
||||
//3.提交事务
|
||||
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步:入库单类型的数据
|
||||
/// </summary>
|
||||
/// <param name="billNos"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> InStock(List<string> billNos,bool isTransaction)
|
||||
{
|
||||
//1.同步数据:采购订单
|
||||
var purchase_result = await this.SsynPurchaseInStock(billNos, isTransaction);
|
||||
if (!purchase_result.IsSuccess)
|
||||
return Result.ReFailure(purchase_result.Message, purchase_result.Status);
|
||||
|
||||
//2.同步数据:其他入库单
|
||||
var miscellaneou_result = await this.SysnMiscellaneous(billNos, isTransaction);
|
||||
if (!miscellaneou_result.IsSuccess)
|
||||
return Result.ReFailure(miscellaneou_result.Message, miscellaneou_result.Status);
|
||||
|
||||
//3.同步数据:直接调拨入库单
|
||||
var TransferDirect_result = await this.SysnTransferDirect(billNos, isTransaction);
|
||||
if (!TransferDirect_result.IsSuccess)
|
||||
return Result.ReFailure(TransferDirect_result.Message, TransferDirect_result.Status);
|
||||
|
||||
//4.同步数据:分步式入库单
|
||||
var Transferin_result = await this.SysnTransferin(billNos, isTransaction);
|
||||
if (!Transferin_result.IsSuccess)
|
||||
return Result.ReFailure(Transferin_result.Message, Transferin_result.Status);
|
||||
|
||||
//5.同步数据:组装拆卸单
|
||||
var AssembledApp_result = await this.SysnAssembledApp(billNos, isTransaction);
|
||||
if (!AssembledApp_result.IsSuccess)
|
||||
return Result.ReFailure(AssembledApp_result.Message, AssembledApp_result.Status);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ERP数据同步到WMS数据库
|
||||
/// </summary>
|
||||
/// <param name="erp_list"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SysnData(List<ErpInStockResultDto> erp_list, bool isTransaction)
|
||||
{
|
||||
//1.通过单据编号找到wms系统现有的任务单;并修改
|
||||
var erp_removeList = new List<ErpInStockResultDto>();
|
||||
var SourceBillNo_list = erp_list.GroupBy(x => x.BillNo).Select(x => x.Key).ToList();
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
@@ -474,6 +311,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.Qty;
|
||||
item.DeliveredQty = erp_data.DeliveredQty;
|
||||
erp_removeList.Add(erp_data);
|
||||
}
|
||||
}
|
||||
@@ -494,16 +332,16 @@ namespace WMS.Web.Domain.Services
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<InStockTask>();
|
||||
var current_billNos = erp_list.GroupBy(x => new { x.BillNo, x.CreateTime }).Select(x => new { x.Key.BillNo, x.Key.CreateTime }).ToList();
|
||||
var current_billNos = erp_list.GroupBy(x => x.BillNo).Select(x => x.Key).ToList();
|
||||
|
||||
foreach (var item in current_billNos)
|
||||
{
|
||||
var current_order= erp_list.Where(x => x.BillNo == item).FirstOrDefault();
|
||||
var dto = new InStockTask();
|
||||
dto.SourceBillNo = item.BillNo;
|
||||
dto.CreateTime = item.CreateTime;
|
||||
dto.Create(InstockType.Assembled);
|
||||
dto.Create((InstockType)current_order.Type, current_order.BillNo, current_order.CreateTime);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.BillNo == item.BillNo).ToList();
|
||||
var current_erp_details = erp_list.Where(x => x.BillNo == item).ToList();
|
||||
//给到dto的实体明细中
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(current_erp_details);
|
||||
add_entitys.Add(dto);
|
||||
|
||||
@@ -141,21 +141,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// <param name="billNo">模糊搜索</param>
|
||||
/// <param name="sourceBillNos">单据编号集合精确查找</param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpPurchaseInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -163,7 +163,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString());
|
||||
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FModel,FMaterialName,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate,FCHUCHANGPRICE,FSOSTOCKID.FNumber,FStockInQty,FDocumentStatus,FBillTypeID,FMRPCloseStatus,FBillTypeID.FName";
|
||||
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate,FCHUCHANGPRICE,FSOSTOCKID.FNumber,FStockInQty";
|
||||
param.Limit = 10000;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -217,34 +217,29 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpPurchaseInStockResultDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpPurchaseInStockResultDto();
|
||||
lis.FBillNo = item[0];
|
||||
lis.FSupplierId = Convert.ToInt32(item[1]);
|
||||
lis.FPurchaseOrgId = Convert.ToInt32(item[2]);
|
||||
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]);
|
||||
lis.FCHUCHANGPRICE = Convert.ToDecimal(item[10]);
|
||||
lis.StockFNumber = item[11];
|
||||
lis.FStockInQty = Convert.ToDecimal(item[12]);
|
||||
lis.FDocumentStatus = item[13];
|
||||
lis.FBillTypeID = item[14];
|
||||
lis.FMRPCloseStatus = item[15];
|
||||
lis.FBillTypeFName = item[16];
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.SupplierId = Convert.ToInt32(item[1]);
|
||||
lis.OrgId = Convert.ToInt32(item[2]);
|
||||
lis.MaterialId = Convert.ToInt32(item[3]);
|
||||
lis.StockId = Convert.ToInt32(item[4]);
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.Remark = item[6];
|
||||
lis.CreateTime = Convert.ToDateTime(item[7]);
|
||||
lis.FactoryPrice = Convert.ToDecimal(item[8]);
|
||||
lis.StockCode = item[9];
|
||||
lis.DeliveredQty = Convert.ToDecimal(item[10]);
|
||||
lis.Type = (int)InstockType.Purchase;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,21 +248,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpMiscellaneousDto>> BillQueryForMiscellaneous(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForMiscellaneous(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpMiscellaneousDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpMiscellaneousDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -328,25 +323,26 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpMiscellaneousDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpMiscellaneousDto();
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.StockOrgId = Convert.ToInt32(item[1]);
|
||||
lis.OrgId = Convert.ToInt32(item[1]);
|
||||
lis.MaterialId = Convert.ToInt32(item[2]);
|
||||
lis.StockId = Convert.ToInt32(item[3]);
|
||||
lis.StockCode = item[4];
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.CreateTime = Convert.ToDateTime(item[6]);
|
||||
lis.Remark = item[7];
|
||||
lis.Type = (int)InstockType.Miscellaneous;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpMiscellaneousDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpMiscellaneousDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,21 +351,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpTransferDirectDto>> BillQueryForTransferDirect(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForTransferDirect(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpTransferDirectDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpTransferDirectDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -430,25 +426,26 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpTransferDirectDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpTransferDirectDto();
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.StockOrgId = Convert.ToInt32(item[1]);
|
||||
lis.OrgId = Convert.ToInt32(item[1]);
|
||||
lis.MaterialId = Convert.ToInt32(item[2]);
|
||||
lis.DestStockId = Convert.ToInt32(item[3]);
|
||||
lis.DestStockCode = item[4];
|
||||
lis.StockId = Convert.ToInt32(item[3]);
|
||||
lis.StockCode = item[4];
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.CreateTime = Convert.ToDateTime(item[6]);
|
||||
lis.Remark = item[7];
|
||||
lis.Type = (int)InstockType.Stkdirecttransfers;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpTransferDirectDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpTransferDirectDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,21 +454,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpTransferinDto>> BillQueryForTransferin(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForTransferin(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpTransferinDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpTransferinDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -532,25 +529,26 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpTransferinDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpTransferinDto();
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.StockOrgId = Convert.ToInt32(item[1]);
|
||||
lis.OrgId = Convert.ToInt32(item[1]);
|
||||
lis.MaterialId = Convert.ToInt32(item[2]);
|
||||
lis.DestStockId = Convert.ToInt32(item[3]);
|
||||
lis.DestStockCode = item[4];
|
||||
lis.StockId = Convert.ToInt32(item[3]);
|
||||
lis.StockCode = item[4];
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.CreateTime = Convert.ToDateTime(item[6]);
|
||||
lis.Remark = item[7];
|
||||
lis.Type = (int)InstockType.StktransferInst;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpTransferinDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpTransferinDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,21 +557,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpAssembledAppDto>> BillQueryForAssembledApp_Assembly(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForAssembledApp_Assembly(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -635,10 +633,10 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpAssembledAppDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpAssembledAppDto();
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.OrgId = Convert.ToInt32(item[1]);
|
||||
lis.MaterialId = Convert.ToInt32(item[2]);
|
||||
@@ -647,13 +645,14 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.CreateTime = Convert.ToDateTime(item[6]);
|
||||
lis.Remark = item[7];
|
||||
lis.Type = (int)InstockType.Assembled;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpAssembledAppDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -662,21 +661,21 @@ namespace WMS.Web.Domain.Services.Public
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultList<ErpAssembledAppDto>> BillQueryForAssembledApp_Disassembly(List<string> sourceBillNos = null)
|
||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForAssembledApp_Disassembly(List<string> sourceBillNos = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
|
||||
if (stocks.Count == 0)
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
|
||||
var stocks_codes = stocks.Select(x => x.Code).ToList();
|
||||
|
||||
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(token_result);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
@@ -738,10 +737,10 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
|
||||
//5.返回数据的组装
|
||||
var erp_list = new List<ErpAssembledAppDto>();
|
||||
var erp_list = new List<ErpInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpAssembledAppDto();
|
||||
var lis = new ErpInStockResultDto();
|
||||
lis.BillNo = item[0];
|
||||
lis.OrgId = Convert.ToInt32(item[1]);
|
||||
lis.MaterialId = Convert.ToInt32(item[2]);
|
||||
@@ -750,13 +749,14 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Qty = Convert.ToDecimal(item[5]);
|
||||
lis.CreateTime = Convert.ToDateTime(item[6]);
|
||||
lis.Remark = item[7];
|
||||
lis.Type = (int)InstockType.Assembled;
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpAssembledAppDto>.ReSuccess(erp_list);
|
||||
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ResultList<ErpAssembledAppDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user