|
|
@ -162,5 +162,102 @@ public class GaoTongAppService : ApplicationService, IGaoTongAppService |
|
|
|
}).ToList(); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 人工拣选反馈富维东阳WMS【我方提供】【出库、立库系统直接出库、通知我方】
|
|
|
|
/// 人工拣选出库缴库完成,高通WMS反馈到富维东阳WMS
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("manual-selection")] |
|
|
|
public async Task<GaoTongResultDTO> ManualSelection(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.Depot_Out.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 = "ManualSelection执行失败:" + ex.Message; |
|
|
|
ret.OperateTime = CommonHelper.CurTimeStr; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|