This commit is contained in:
tongfei
2023-11-22 11:06:27 +08:00
12 changed files with 77 additions and 72 deletions

View File

@@ -46,7 +46,10 @@ namespace WMS.Web.Api.Controllers
[Route("hj")]
public async Task<string> TestHJ()
{
var result = await this._outStockTaskService.Sync(null);
var bc = await _erpService.BillQueryForTransferOutOutStock(null, DateTime.Now.AddDays(-10));
var b=await _erpService.BillQueryForAssembledAppOutStock_Assembly(null, DateTime.Now.AddDays(-10));
var b2 = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(null, DateTime.Now.AddDays(-10));
//var result = await this._outStockTaskService.Sync(null);
//var t=await _outStockTaskRepositories.Get(1);
// t.Details[0].Remark = "sdf";
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";

View File

@@ -994,6 +994,11 @@
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStock.StockCode">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStock.CreatorId">
<summary>
创建人
@@ -1082,16 +1087,6 @@
序列号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.StockCode">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SubStockId">
<summary>
仓位
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.Qty">
<summary>
出库数量
@@ -1162,6 +1157,11 @@
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.StockCode">
<summary>
仓库ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.Status">
<summary>
单据状态
@@ -1238,16 +1238,6 @@
物料Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.StockCode">
<summary>
仓库ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SubStockId">
<summary>
仓位ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.AccruedQty">
<summary>
应出库数量

View File

@@ -47,6 +47,11 @@ namespace WMS.Web.Domain.Entitys
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 仓库
///</summary>
[Column("StockCode")]
public string StockCode { get; set; }
/// <summary>
/// 创建人
/// </summary>
[Column("CreatorId")]

View File

@@ -35,16 +35,12 @@ namespace WMS.Web.Domain.Entitys
/// </summary>
[Column("SerialNumbers")]
public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 仓库
///</summary>
[Column("StockCode")]
public string StockCode { get; set; }
/// <summary>
/// 仓位
///</summary>
[Column("SubStockId")]
public string SubStockId { get; set; }
///// <summary>
///// 仓位
/////</summary>
//[Column("SubStockId")]
//public string SubStockId { get; set; }
/// <summary>
/// 出库数量
///</summary>

View File

@@ -39,6 +39,11 @@ namespace WMS.Web.Domain.Entitys
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 仓库ID
///</summary>
[Column("StockCode")]
public string StockCode { get; set; }
/// <summary>
/// 单据状态
/// </summary>
[Column("Status")]
@@ -67,10 +72,10 @@ namespace WMS.Web.Domain.Entitys
/// 明细
/// </summary>
public List<OutStockTaskDetails> Details = new List<OutStockTaskDetails>();
public void Create(OutStockType type, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
public void Create(OutStockType type,string stockCode, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
{
this.Type = type;
//this.SourceBillNos.Add(sourceBillNo);
this.StockCode = stockCode;
this.DeliveryOrgId = deliveryOrgId;
this.ReceiptCustomerId = receiptCustomerId;
this.CreateTime = createTime;
@@ -175,7 +180,7 @@ namespace WMS.Web.Domain.Entitys
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
var details = list.SelectMany(s => s.Details).ToList();
if (details.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
if (list.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
List<OutStockTaskDetails> details_new = new List<OutStockTaskDetails>();
//清空数据绑定

View File

@@ -32,16 +32,12 @@ namespace WMS.Web.Domain.Entitys
///</summary>
[Column("MaterialId")]
public int MaterialId { get; set; }
/// <summary>
/// 仓库ID
///</summary>
[Column("StockCode")]
public string StockCode { get; set; }
/// <summary>
/// 仓位ID
///</summary>
[Column("SubStockId")]
public int SubStockId { get; set; }
///// <summary>
///// 仓位ID
/////</summary>
//[Column("SubStockId")]
//public int SubStockId { get; set; }
/// <summary>
/// 应出库数量
///</summary>

View File

@@ -114,8 +114,8 @@ namespace WMS.Web.Domain.Services
{
BoxId = boxId,
InventoryInOutMethod = dto.Method,
StockCode = outStockTask.Details.First().StockCode,
SubStockId = outStockTask.Details.First().SubStockId,
StockCode = outStockTask.StockCode,
SubStockId = 0,// outStockTask.Details.First().SubStockId,
Details = inventoryDetail
};
inventoryList.Add(inventory);

View File

@@ -106,9 +106,11 @@ namespace WMS.Web.Domain.Services
foreach (var outStockTask in data_list)
{
var sourcNos = outStockTask.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo).ToList();
var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo)).ToList();
//仓库不同 拆分成不同的任务单
var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo) && outStockTask.StockCode.Equals(w.StockCode)).ToList();
foreach (var erp in erps)
{
//仓库不同 拆分成不同的
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialId == erp.MaterialId);
if (detail == null)
{
@@ -120,19 +122,17 @@ namespace WMS.Web.Domain.Services
}
else
{
//找到物料明细下面对应的来源单明细 然后修改
var erpDetail = detail.ErpDetails.FirstOrDefault(f => f.SourceBillNo.Equals(erp.SourceBillNo));
//找到物料明细下面对应的金蝶明细Id 然后修改(跟金蝶明细一一对应)
var erpDetail = detail.ErpDetails.FirstOrDefault(f => f.Erp_DetailId == erp.Erp_DetailId);
if (erpDetail == null)
{
erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
detail.ErpDetails.Add(erpDetail);
outStockTask.Details.Add(detail);
}
else
{
erpDetail.AccruedQty = erp.AccruedQty;
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
}
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
}
//操作完后剔除
erp_removeList.Add(erp);
@@ -153,21 +153,26 @@ namespace WMS.Web.Domain.Services
if (erp_list.Count != 0)
{
var add_entitys = new List<OutStockTask>();
var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
//根据来源订单号和仓库分组 一个来源订单号和一个仓库 对应一个任务单
var billNos = erp_list.GroupBy(x => (x.SourceBillNo, x.StockCode)).Select(x => x.Key).ToList();
foreach (var item in billNos)
{
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
var eList = erp_list.Where(f => f.SourceBillNo == item.SourceBillNo && f.StockCode == item.StockCode).ToList();
var e = eList.First();
var entity = new OutStockTask();
entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
entity.Create((OutStockType)e.Type, e.StockCode, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
//找到当前对应来源单据编号的集合数据
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
var mIds = eList.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
//给到dto的实体明细中
foreach (var erp in current_erp_details)
foreach (var mid in mIds)
{
var detail = _mapper.Map<OutStockTaskDetails>(erp);
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
detail.ErpDetails.Add(erpDetail);
var emList = eList.Where(w => w.MaterialId == mid).ToList();
var detail = _mapper.Map<OutStockTaskDetails>(emList.First());
var erpDetail = _mapper.Map<List<OutStockTaskErpDetails>>(emList);
detail.ErpDetails.AddRange(erpDetail);
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
entity.Details.Add(detail);
}
add_entitys.Add(entity);

View File

@@ -1465,7 +1465,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_TransferDirect.ToString());
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate";
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1507,6 +1507,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Stkdirecttransfers;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
@@ -1543,7 +1544,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_TRANSFEROUT.ToString());
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate";
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1585,6 +1586,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.StktransferInst;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
@@ -1621,7 +1623,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
param.FieldKeys = "FBillNo,'','0','0',FMaterialID,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate";
param.FieldKeys = "FBillNo,'','0','0',FMaterialID,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate,FEntity_FEntryID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1663,6 +1665,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Assembled;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
@@ -1699,7 +1702,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_MisDelivery.ToString());
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate";
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate,FEntity_FEntryID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1741,6 +1744,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Miscellaneous;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
@@ -1777,7 +1781,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate";
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate,FSubEntity_FDetailID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1819,6 +1823,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Assembled;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);

View File

@@ -143,7 +143,7 @@ namespace WMS.Web.Repositories
if (dto.DeliveryOrgId != null)
query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId);
if (!string.IsNullOrEmpty(dto.StockCode))
query = query.Where(w => w.detail.StockCode == dto.StockCode);
query = query.Where(w => w.order.StockCode == dto.StockCode);
if (dto.CreateBeginDate != null)
query = query.Where(w => w.order.CreateTime >= dto.CreateBeginDate);
if (dto.CreateEndDate != null)
@@ -159,7 +159,7 @@ namespace WMS.Web.Repositories
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.CreatorId),
CreateTime = s.order.CreateTime.DateToStringSeconds(),
SuccessSync = s.order.SuccessSync == true ? "成功" : "失败",
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.order.StockCode),
SourceBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SourceBillNo)),
SaleBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SaleBillNo)),
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),

View File

@@ -273,7 +273,7 @@ namespace WMS.Web.Repositories
if (dto.DeliveryOrgId != null)
query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId);
if (!string.IsNullOrEmpty(dto.StockCode))
query = query.Where(w => w.detail.StockCode == dto.StockCode);
query = query.Where(w => w.order.StockCode == dto.StockCode);
if (dto.CreateBeginDate != null)
query = query.Where(w => w.order.OperateTime >= dto.CreateBeginDate);
if (dto.CreateEndDate != null)
@@ -291,7 +291,7 @@ namespace WMS.Web.Repositories
CreateTime = s.order.OperateTime.DateToStringSeconds(),
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.order.StockCode),
SourceBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SourceBillNo)),
SaleBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SaleBillNo)),
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
@@ -331,7 +331,7 @@ namespace WMS.Web.Repositories
foreach (var r in response)
{
var entity = list.FirstOrDefault(f => f.Id == r.Id);
r.StockCode = entity.Details.First().StockCode;
r.StockCode = entity.StockCode;
r.StockName = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, r.StockCode);
}
//获取物料信息 显示物料三件套
@@ -363,7 +363,7 @@ namespace WMS.Web.Repositories
if (entity == null) return new GetOutStockTaskByNoResponse();
var response = _mapper.Map<GetOutStockTaskByNoResponse>(entity);
response.StockCode = entity.Details.First().StockCode;
response.StockCode = entity.StockCode;
response.StockName = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, response.StockCode);
//获取物料信息 显示物料三件套
foreach (var r in response.details)