Browse Source

更新版本

dev_DY_CC
赵新宇 11 months ago
parent
commit
db374da29a
  1. 74
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

74
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using MyNamespace; using MyNamespace;
using Omu.ValueInjecter;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.ObjectMapping; using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
@ -321,7 +322,7 @@ public class AssembleIssueJobAppService
Count = jobitem.RecommendFromQty, Count = jobitem.RecommendFromQty,
ProductNo = jobitem.ItemCode, ProductNo = jobitem.ItemCode,
NeedSite = pLoc, NeedSite = pLoc,
WorkNo = job.Number, WorkNo = job.AssembleRequestNumber,
TaskNo = job.Number TaskNo = job.Number
}); });
} }
@ -369,7 +370,7 @@ public class AssembleIssueJobAppService
var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path); var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path);
ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false);
_logger.LogInformation($"标志{flag}调用高通WMS:返回值{ret}"); _logger.LogInformation($"标志{flag}调用高通WMS:返回值{System.Text.Json.JsonSerializer.Serialize(ret)}");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -385,8 +386,14 @@ public class AssembleIssueJobAppService
[HttpPost("receive-issue-job-stereo")] [HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveIssueJobStereoAsync(IssueRequestFromRestoDTO input) public virtual async Task<ReusltObject> SyncReciveIssueJobStereoAsync(IssueRequestFromRestoDTO input)
{ {
#if DEBUG
var json = JsonSerializer.Serialize(input); var json = JsonSerializer.Serialize(input);
var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json);
#if DEBUG
#endif #endif
var errors = new List<string>(); var errors = new List<string>();
var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" };
@ -406,38 +413,82 @@ public class AssembleIssueJobAppService
var dtos = ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entities); var dtos = ObjectMapper.Map<List<AssembleIssueJob>, List<AssembleIssueJobDTO>>(entities);
if (input.Jobs.Count == entities.Count) if (input.Jobs.Count != entities.Count)
{ {
errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n"); errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n");
} }
if (errors.Count > 0)
{
ret = new ReusltObject
{
Code = int.Parse(GaoTongResultStatus.Failure),
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = string.Join(",", errors.ToArray()),
Data = json
};
}
foreach (var itm in dtos) foreach (var itm in dtos)
{ {
var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number); var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number);
var itmDetails = itm.Details.ToList(); var itmDetails = itm.Details.ToList();
var details = new List<AssembleIssueJobDetailDTO>(); var details = new List<AssembleIssueJobDetailDTO>();
foreach (var detail in first.Details) foreach (var detail in first.Details)
{ {
var loc=await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
if (loc == null)
{
errors.Add($"目标库位{detail.FromLocationCode}没查到");
}
var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode); var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode);
var dto = new AssembleIssueJobDetailDTO(); var dto = new AssembleIssueJobDetailDTO();
dto.HandledFromLocationCode = entity.HandledFromLocationCode; //dto.HandledFromLocationCode = entity.HandledFromLocationCode;
dto.HandledToLocationCode = entity.HandledToLocationCode; //dto.HandledToLocationCode = entity.HandledToLocationCode;
dto.ItemCode = detail.ItemCode; // dto.ItemCode = detail.ItemCode;
dto.InjectFrom(entity);
dto.RecommendFromQty = detail.Qty; dto.RecommendFromQty = detail.Qty;
dto.RecommendToQty = detail.Qty; dto.RecommendToQty = detail.Qty;
dto.HandledFromQty = detail.Qty; dto.HandledFromQty = detail.Qty;
dto.HandledToQty = detail.Qty; dto.HandledToQty = detail.Qty;
dto.Status = entity.Status;
//dto.HandledToLocationCode = loc.Code;
//dto.HandledToLocationGroup = loc.LocationGroupCode;
//dto.HandledToLocationArea = loc.AreaCode;
//dto.HandledToLocationErpCode = loc.ErpLocationCode;
//dto.HandledToPackingCode = "";
dto.HandledFromLocationCode = loc.Code;
dto.HandledFromLocationGroup = loc.LocationGroupCode;
dto.HandledFromLocationArea = loc.AreaCode;
dto.HandledFromLocationErpCode = loc.ErpLocationCode;
dto.HandledFromPackingCode = "";
//dto.Status = entity.Status;
details.Add(dto); details.Add(dto);
} }
itm.Details = details; itm.Details = details;
await CompleteAsync(itm.Id, itm).ConfigureAwait(false); await CompleteAsync(itm.Id, itm).ConfigureAwait(false);
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json+"立体库任务完成");
} }
} }
else else
{ {
errors.Add("立体库确认单据里无数据! \n"); errors.Add("立体库确认单据里无数据! \n");
} }
} }
catch (Exception ex) catch (Exception ex)
@ -445,6 +496,7 @@ public class AssembleIssueJobAppService
ret = new ReusltObject ret = new ReusltObject
{ {
Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message
, Data = json
}; };
return ret; return ret;
} }
@ -455,7 +507,9 @@ public class AssembleIssueJobAppService
{ {
Code = int.Parse(GaoTongResultStatus.Failure), Code = int.Parse(GaoTongResultStatus.Failure),
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = string.Join(",", errors.ToArray()) Message = string.Join(",", errors.ToArray()),
Data = json
}; };
} }
@ -560,7 +614,7 @@ public class AssembleIssueJobAppService
var jobDetailInputdetail = assembleIssueJobDto.Details.FirstOrDefault(); var jobDetailInputdetail = assembleIssueJobDto.Details.FirstOrDefault();
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendToLocationCode)
.ConfigureAwait(false); .ConfigureAwait(false);

Loading…
Cancel
Save