|
|
@ -52,18 +52,18 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter |
|
|
|
#region 主表
|
|
|
|
var wmsReceipt = JsonSerializer.Deserialize<UnplannedIssueNoteDTO>(outgoingFromWms.DataContent); |
|
|
|
var exchangeReceipt = _objectMapper.Map<UnplannedIssueNoteDTO, UnplannedIssueNoteExchangeDto>(wmsReceipt); |
|
|
|
//var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false);
|
|
|
|
//var departmentCode = department == null ? "" : department.Code;
|
|
|
|
if (Guid.TryParse(exchangeReceipt.CreatorId.ToString(), out Guid guid)) |
|
|
|
{ |
|
|
|
var username = await _sfsUserAppService.GetUserNameById(guid).ConfigureAwait(false); |
|
|
|
if (!string.IsNullOrEmpty(username)) |
|
|
|
{ |
|
|
|
exchangeReceipt.Worker = username; |
|
|
|
} |
|
|
|
} |
|
|
|
var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); |
|
|
|
var departmentCode = department == null ? "" : department.Code; |
|
|
|
//if (Guid.TryParse(exchangeReceipt.CreatorId.ToString(), out Guid guid))
|
|
|
|
//{
|
|
|
|
// var username = await _sfsUserAppService.GetUserNameById(guid).ConfigureAwait(false);
|
|
|
|
// if (!string.IsNullOrEmpty(username))
|
|
|
|
// {
|
|
|
|
// exchangeReceipt.Worker = username;
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
var purchaseOrder = BuildDataInterface(exchangeReceipt, tyrpNumber); |
|
|
|
var purchaseOrder = BuildDataInterface(exchangeReceipt, tyrpNumber, departmentCode); |
|
|
|
var outgoingToExternal = new OutgoingToExternal() |
|
|
|
{ |
|
|
|
DataType = EnumOutgoingDataType.UnplannedIssue.ToString(), |
|
|
@ -85,7 +85,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 明细
|
|
|
|
var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.LocationErpCode }).Select(p => new UnplannedIssueNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode }); |
|
|
|
var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.LocationErpCode, r.ProjCapacityCode, r.CaseCode }).Select(p => new UnplannedIssueNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode, ProjCapacityCode = p.Key.ProjCapacityCode, CaseCode = p.Key.CaseCode }); |
|
|
|
foreach (var detail in WipDetails) |
|
|
|
{ |
|
|
|
var outgoingDetailToExternal = new OutgoingToExternal() |
|
|
@ -123,7 +123,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter |
|
|
|
/// </summary>
|
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder,string tyrpNumber) |
|
|
|
private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder,string tyrpNumber,string departmentCode) |
|
|
|
{ |
|
|
|
var ret = new Wmsoutm() |
|
|
|
{ |
|
|
@ -133,7 +133,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter |
|
|
|
wmsoutm_stat = "Y", |
|
|
|
wmsoutm_tyrp_dt = "", |
|
|
|
wmsoutm_user = exchangeOrder.Worker.Length >= 6 ? exchangeOrder.Worker.Substring(exchangeOrder.Worker.Length- 6) : exchangeOrder.Worker, |
|
|
|
wmsoutm_dept = "",//根据Worker从UserDepartment中获取
|
|
|
|
wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取
|
|
|
|
// wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
|
|
|
|
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"), |
|
|
|
wmsoutm_cust = "", |
|
|
@ -163,8 +163,8 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter |
|
|
|
wmsoutd_part = exchangeDetailOrder.ItemCode, |
|
|
|
wmsoutd_loc = exchangeDetailOrder.LocationErpCode ?? "", |
|
|
|
wmsoutd_qty = exchangeDetailOrder.Qty, |
|
|
|
wmsoutd_bcm_code = "",//有问题
|
|
|
|
wmsoutd_projt_id = "",//有问题
|
|
|
|
wmsoutd_bcm_code = string.IsNullOrEmpty( exchangeDetailOrder.ProjCapacityCode)?"": exchangeDetailOrder.ProjCapacityCode,//项目代码
|
|
|
|
wmsoutd_projt_id = string.IsNullOrEmpty( exchangeDetailOrder.CaseCode)?"": exchangeDetailOrder.CaseCode,//专案代码
|
|
|
|
}; |
|
|
|
return ret; |
|
|
|
} |
|
|
|