Browse Source

完成 【立库接口】-组盘信息接口(喷涂完工转储)

dev_DY_CC
刘云峰 1 year ago
parent
commit
dd79204085
  1. 9
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs
  2. 34
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/DTOs/GaoTongResultDTO.cs
  3. 20
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/DTOs/GaoTongResultStatus.cs
  4. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/GaoTongPermissions.cs
  5. 21
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/IGaoTongAppService.cs
  6. 37
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/Inputs/ZuPanEditInput.cs
  7. 138
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs
  8. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs

9
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs

@ -28,4 +28,13 @@ public sealed class CommonHelper
return DateTime.Now; return DateTime.Now;
} }
} }
public static string CurTimeStr
{
get
{
return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
}
} }

34
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/DTOs/GaoTongResultDTO.cs

@ -0,0 +1,34 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
/// <summary>
/// 库存转移记录-实体DTO //??TransferLib实体
/// </summary>
public class GaoTongResultDTO : EntityDto
{
/// <summary>
///
/// </summary>
[Display(Name = "")]
public string Code { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = "")]
public string Message { get; set; }
/// <summary>
///
/// </summary>
[Display(Name = "")]
public string OperateTime { get; set; }
}
/*
{"code":"1","message":"接收成功",
"operateTime":"2020-01-0513:50:01"}
*/

20
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/DTOs/GaoTongResultStatus.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public sealed class GaoTongResultStatus
{
/// <summary>
/// 成功
/// </summary>
public const string Success = "1";
/// <summary>
/// 失败
/// </summary>
public const string Failure = "-1";
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/GaoTongPermissions.cs

@ -0,0 +1,8 @@
using Volo.Abp.Authorization.Permissions;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public static class GaoTongPermissions
{
}

21
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/IGaoTongAppService.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
/// <summary>
/// 立库接口
/// </summary>
public interface IGaoTongAppService : IApplicationService
{
/// <summary>
/// 组盘信息反馈到东阳WMS(喷涂完工转储)
/// </summary>
/// <param name="input">组盘接口输入参数</param>
/// <returns>立库接口通用输出参数</returns>
Task<GaoTongResultDTO> FeedbackZuPanAsync(ZuPanEditInput input);
}

37
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/GaoTongs/Inputs/ZuPanEditInput.cs

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
/// <summary>
/// 新增和更新基础DTO //??TransferLib实体
/// </summary>
public class ZuPanEditInput : EntityDto
{
[Display(Name = "产品编号:映射ERP料号")]
public string ItemCode { get; set; }
[Display(Name = "器具号")]
public string ContainerCode { get; set; }
[Display(Name = "数量")]
public string Qty { get; set; }
[Display(Name = "固定值,在立库中配置。用于多立库时区分哪个立库")]
public string ToLocationCode { get; set; }
[Display(Name = "由1.2接口中获取富维东阳MES提供的来源位置")]
public string FromLocationCode { get; set; }
}
/*
{
"ItemCode": "ERPCODE0001",
"Qty": 122,
"ContainerCode": "C111123",
"ToLocationCode": "W1",
"FromLocationCode": "WIPT"
}
*/

138
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/GaoTongs/GaoTongAppService.cs

@ -1,10 +1,142 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.GaoTongs; namespace Win_in.Sfs.Wms.Store.Application;
internal class GaoTongAppService
/// <summary>
/// 立库接口
/// </summary>
//[Authorize]
[AllowAnonymous]
[Route($"{StoreConsts.RootPath}gao-tong")]
public class GaoTongAppService : ApplicationService, IGaoTongAppService
{ {
private readonly IBalanceAppService _balanceAppService;
private readonly ITransferNoteAppService _transferNoteAppService;
private readonly CurrentUser _currentUser;
private readonly IItemBasicAppService _itemBasicAppService;
private readonly ILocationAppService _locationAppService;
public GaoTongAppService(
IBalanceAppService balanceAppService
, ITransferNoteAppService transferNoteAppService
, CurrentUser currentUser
, IItemBasicAppService itemBasicAppService
,ILocationAppService locationAppService)
{
_balanceAppService = balanceAppService;
_transferNoteAppService = transferNoteAppService;
_currentUser = currentUser;
_itemBasicAppService = itemBasicAppService;
_locationAppService = locationAppService;
}
/// <summary>
/// 组盘信息反馈到东阳WMS
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("feedback-zu-pan")]
public async Task<GaoTongResultDTO> FeedbackZuPanAsync(ZuPanEditInput input)
{
GaoTongResultDTO ret = new GaoTongResultDTO();
try
{
ItemBasicDTO itemBasicObj = await _itemBasicAppService.GetByCodeAsync(input.ItemCode).ConfigureAwait(false);
if (itemBasicObj == null)
{
throw new UserFriendlyException($"{input.ItemCode}在Item表不存在!");
}
TransferNoteEditInput transferNoteEditInput = new TransferNoteEditInput();
transferNoteEditInput.TenantId = null;
transferNoteEditInput.Remark = String.Empty;
transferNoteEditInput.Worker = _currentUser.UserName;
transferNoteEditInput.ActiveDate = CommonHelper.CurTime;
transferNoteEditInput.Type = EnumTransSubType.Transfer_Coating.ToString(); //喷涂完工转储
transferNoteEditInput.UseOnTheWayLocation = false;
//transferNoteEditInput.number
//transferNoteEditInput.CallServerName
//transferNoteEditInput.Confirmed = true;
//transferNoteEditInput.ConfirmTime = CommonHelper.CurTime;
if (transferNoteEditInput.Details == null)
{
transferNoteEditInput.Details = new List<TransferNoteDetailInput>();
}
TransferNoteDetailInput detailObj = new TransferNoteDetailInput();
transferNoteEditInput.Details.Add(detailObj);
detailObj.Remark = "";
detailObj.ItemCode = input.ItemCode;
detailObj.ItemName = itemBasicObj.Name;
detailObj.ItemDesc1 = itemBasicObj.Desc1;
detailObj.ItemDesc2 = itemBasicObj.Desc2;
detailObj.Uom = itemBasicObj.BasicUom;
detailObj.Qty = input.Qty.TryToDecimalZero();
detailObj.StdPackQty = itemBasicObj.StdPackQty;
#region 去箱、去批、去托
detailObj.FromPackingCode = String.Empty;
detailObj.ToPackingCode = String.Empty;
detailObj.FromContainerCode = String.Empty;
detailObj.ToContainerCode = String.Empty;
detailObj.FromLot = String.Empty;
detailObj.ToLot = String.Empty;
#endregion
detailObj.SupplierBatch = String.Empty;
detailObj.ArriveDate = CommonHelper.CurTime;
detailObj.ProduceDate = CommonHelper.CurTime;
detailObj.ExpireDate = DateTime.MaxValue;
var fromLocationObj = await _locationAppService.GetByCodeAsync(input.FromLocationCode).ConfigureAwait(false);
if (fromLocationObj == null)
{
throw new UserFriendlyException($"{input.FromLocationCode}在Location表不存在!");
}
detailObj.FromLocationCode = input.FromLocationCode;
detailObj.FromLocationArea = fromLocationObj.AreaCode;
detailObj.FromLocationGroup = fromLocationObj.LocationGroupCode;
detailObj.FromLocationErpCode = fromLocationObj.ErpLocationCode;
detailObj.FromWarehouseCode = fromLocationObj.WarehouseCode;
var toLocationObj = await _locationAppService.GetByCodeAsync(input.ToLocationCode).ConfigureAwait(false);
if (toLocationObj == null)
{
throw new UserFriendlyException($"{input.ToLocationCode}在Location表不存在!");
}
detailObj.ToLocationCode = input.ToLocationCode;
detailObj.ToLocationArea = toLocationObj.AreaCode;
detailObj.ToLocationGroup = toLocationObj.LocationGroupCode;
detailObj.ToLocationErpCode = toLocationObj.ErpLocationCode;
detailObj.ToWarehouseCode = toLocationObj.WarehouseCode;
detailObj.FromStatus = EnumInventoryStatus.OK;
detailObj.ToStatus = EnumInventoryStatus.OK;
detailObj.OnTheWayLocationCode = String.Empty;
detailObj.Reason = "";
var temp = await _transferNoteAppService.CreateAsync(transferNoteEditInput).ConfigureAwait(false);
ret.Code = GaoTongResultStatus.Success;
ret.Message = "接收成功";
ret.OperateTime = CommonHelper.CurTimeStr;
return ret;
}
catch (Exception ex)
{
ret.Code = GaoTongResultStatus.Failure;
ret.Message = "FeedbackZuPanAsync执行失败:" + ex.Message;
ret.OperateTime = CommonHelper.CurTimeStr;
return ret;
}
}
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs

@ -137,5 +137,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile
ChassisOperationSequenceAutoMapperProfile(); ChassisOperationSequenceAutoMapperProfile();
KittingPackagingNoteAutoMapperProfile(); KittingPackagingNoteAutoMapperProfile();
//高通WMS-立库接口
GaoTongAutoMapperProfile();
} }
} }

Loading…
Cancel
Save