Browse Source

非生产领退料修改

dev_DY_CC
lvzb 10 months ago
parent
commit
8c09aaa1a2
  1. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs
  2. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs
  3. 11
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs
  4. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs
  5. 94
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs
  6. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs
  7. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs
  8. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs
  9. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs

@ -116,9 +116,9 @@ public class CustomerReturnNoteConverter : IOutgoingConverter
wmsoutm_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
wmsoutm_stat = "Y",
wmsoutm_tyrp_dt = "",
wmsoutm_user = exchangeOrder.Worker.Length >= 6 ? exchangeOrder.Worker.Substring(0, 6) : exchangeOrder.Worker,
wmsoutm_user ="WMS",
wmsoutm_dept = "",//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = exchangeOrder.Customer,
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs

@ -111,6 +111,10 @@ public class IssueNoteConverter : IOutgoingConverter
scontrol_type = billtype,
scontrol_id = 0,//明细中最大scmsend_id
};
if (ret.scontrol_nbr.Length > 10)
{
ret.scontrol_nbr = "SN23" + ret.scontrol_nbr.Substring(5, 6);
}
return ret;
}
/// <summary>
@ -137,6 +141,10 @@ public class IssueNoteConverter : IOutgoingConverter
scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_userid = "WMS"
};
if (ret.scmsend_nbr.Length > 10)
{
ret.scmsend_nbr = "SN23" + ret.scmsend_nbr.Substring(5, 6);
}
return ret;
}
}

11
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
@ -117,6 +118,12 @@ public class PurchaseOrderConverter : IOutgoingConverter
scontrol_type = billtype,
scontrol_id = 0,//明细中最大scmsend_id
};
if (ret.scontrol_nbr.Length > 10)
{
ret.scontrol_nbr = "PO23" + ret.scontrol_nbr.Substring(5, 6);
}
return ret;
}
/// <summary>
@ -143,6 +150,10 @@ public class PurchaseOrderConverter : IOutgoingConverter
scmsend_wipd_loc = "",
scmsend_userid = "WMS"
};
if (ret.scmsend_nbr.Length > 10)
{
ret.scmsend_nbr = "PO23" + ret.scmsend_nbr.Substring(5, 6);
}
return ret;
}
}

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs

@ -129,6 +129,10 @@ public class PutawayNoteConverter : IOutgoingConverter
scontrol_type = billtype,
scontrol_id = 0,//明细中最大scmsend_id
};
if (ret.scontrol_nbr == "YS24000076")
{
ret.scontrol_nbr = "YS23000002";
}
return ret;
}
/// <summary>
@ -155,6 +159,11 @@ public class PutawayNoteConverter : IOutgoingConverter
scmsend_wipd_loc = "",
scmsend_userid = "WMS"
};
if (ret.scmsend_nbr == "YS24000076")
{
ret.scmsend_nbr = "YS23000002";
ret.scmsend_orderno = "PO23000011";
}
return ret;
}
}

94
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs

@ -5,6 +5,8 @@ using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Auth.Application.Contracts;
using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp;
@ -24,18 +26,21 @@ public class TransferNoteConverter : IOutgoingConverter
private readonly IOutgoingToExternalManager _outgoingToExternalManager;
private readonly IDepartmentAppService _departmentAppService;
private readonly IObjectMapper _objectMapper;
private readonly IErpLocationAppService _erpLocationAppService;
public TransferNoteConverter(
IOutgoingFromWmsManager outgoingFromWmsManager
, IOutgoingToExternalManager outgoingToExternalManager
, IDepartmentAppService departmentAppService
, IObjectMapper objectMapper
, IErpLocationAppService erpLocationAppService
)
{
_outgoingFromWmsManager = outgoingFromWmsManager;
_outgoingToExternalManager = outgoingToExternalManager;
_departmentAppService = departmentAppService;
_objectMapper = objectMapper;
_erpLocationAppService = erpLocationAppService;
}
@ -53,8 +58,8 @@ public class TransferNoteConverter : IOutgoingConverter
var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code;
var details = wmsReceipt.Details.Where(r => r.FromLocationErpCode != r.ToLocationErpCode).ToList();
List<TransferNoteDetailExchangeDto> WipDetails = new List<TransferNoteDetailExchangeDto>();
if (details.Count > 0 && (wmsReceipt.Type != EnumTransSubType.Transfer_Inside.ToString()||wmsReceipt.Type!=EnumTransSubType.Transfer_SplitPacking.ToString()))
List<TransferNoteDetailExchangeDto> WipDetails = new List<TransferNoteDetailExchangeDto>();
if (details.Count > 0 && (wmsReceipt.Type != EnumTransSubType.Transfer_Inside.ToString() || wmsReceipt.Type != EnumTransSubType.Transfer_SplitPacking.ToString()))
{
string tyrpNumber = outgoingFromWms.TyrpNumber;
#region 主表
@ -63,7 +68,7 @@ public class TransferNoteConverter : IOutgoingConverter
// DataType = dataType,
TableType = EnumExchangeTableType.MainTable,
DataAction = outgoingFromWms.DataAction,
SerialNumber=tyrpNumber,
SerialNumber = tyrpNumber,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = wmsReceipt.Id.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
@ -75,32 +80,43 @@ public class TransferNoteConverter : IOutgoingConverter
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt);
string dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss");
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_s);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol);
WipDetails =details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode , r.ToLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode, ToLocationErpCode=p.Key.ToLocationErpCode }).ToList();
}
else if (exchangeReceipt.Type != EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
var stat = "1";
if (exchangeReceipt.Type == EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_issue);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol);
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode, r.ToLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode, ToLocationErpCode = p.Key.ToLocationErpCode }).ToList();
}
else
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString();
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w, tyrpNumber);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm);
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_s);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol);
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode, r.ToLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode, ToLocationErpCode = p.Key.ToLocationErpCode }).ToList();
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }).ToList();
}
else
{
var toLocationErpcode = details[0].ToLocationErpCode;
var erplocation = await _erpLocationAppService.GetByCodeAsync(toLocationErpcode).ConfigureAwait(false);
if (erplocation.Type != "2")
{
stat = "2";
}
var location = stat == "1" ? details[0].ToLocationErpCode : details[0].FromLocationErpCode;
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString();
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(departmentCode, dt_w, tyrpNumber, location, stat);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm);
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }).ToList();
}
}
outgoingToExternalList.Add(outgoingToExternal);
@ -114,7 +130,7 @@ public class TransferNoteConverter : IOutgoingConverter
DataType = outgoingToExternal.DataType,
TableType = EnumExchangeTableType.DetailTable,
DataAction = outgoingFromWms.DataAction,
SerialNumber=tyrpNumber,
SerialNumber = tyrpNumber,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Number.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
@ -124,23 +140,25 @@ public class TransferNoteConverter : IOutgoingConverter
DestinationDataId = "",
};
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
// var exchangeReceiptDetail = _objectMapper.Map<TransferNoteDetailDTO, TransferNoteDetailExchangeDto>(detail);
// var exchangeReceiptDetail = _objectMapper.Map<TransferNoteDetailDTO, TransferNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, detail, dt_w, billtype_s);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend);
}
else if (exchangeReceipt.Type != EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
if (exchangeReceipt.Type == EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
{
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, detail, dt_w, billtype_issue);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend);
}
else
{
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(tyrpNumber, detail);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailWmsoutd);
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, detail, dt_w, billtype_s);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend);
}
else
{
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(tyrpNumber, detail, stat);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailWmsoutd);
}
}
outgoingToExternalList.Add(outgoingDetailToExternal);
}
@ -161,7 +179,7 @@ public class TransferNoteConverter : IOutgoingConverter
/// </summary>
/// <param name="exchangeOrder"></param>
/// <returns></returns>
private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder, string dt_w,string type)
private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder, string dt_w, string type)
{
var ret = new Scontrol()
{
@ -180,7 +198,7 @@ public class TransferNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param>
/// <returns></returns>
private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w,string type)
private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w, string type)
{
var ret = new Scmsend()
{
@ -206,7 +224,7 @@ public class TransferNoteConverter : IOutgoingConverter
/// </summary>
/// <param name="exchangeOrder"></param>
/// <returns></returns>
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w,string tyrpNumber)
private Wmsoutm BuildWmsoutmDataInterface(string departmentCode, string dt_w, string tyrpNumber,string locationcode,string stat)
{
var ret = new Wmsoutm()
{
@ -216,12 +234,12 @@ public class TransferNoteConverter : IOutgoingConverter
wmsoutm_stat = "Y",
wmsoutm_tyrp_dt = "",
wmsoutm_user = "WMS",
wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_dept = "510800",//根据Worker从UserDepartment中获取
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",
wmsoutm_stock_stat = "1",
wmsoutm_cust_loc = locationcode,
wmsoutm_stock_stat = stat,
wmsoutm_open_part = "",
wmsoutm_open_loc = "",
wmsoutm_open_hours = 0,
@ -237,13 +255,13 @@ public class TransferNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param>
/// <returns></returns>
private Wmsoutd BuildWmsoutdDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder)
private Wmsoutd BuildWmsoutdDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder,string stat)
{
var ret = new Wmsoutd()
{
wmsoutd_nbr = tyrpNumber,
wmsoutd_part = exchangeDetailOrder.ItemCode,
wmsoutd_loc = exchangeDetailOrder.FromLocationErpCode,
wmsoutd_loc = stat=="1"? exchangeDetailOrder.FromLocationErpCode: exchangeDetailOrder.ToLocationErpCode,
wmsoutd_qty = exchangeDetailOrder.Qty,
wmsoutd_bcm_code = "",//有问题
wmsoutd_projt_id = "",//有问题

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs

@ -44,8 +44,7 @@ public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase
/// 专案
/// </summary>
[Display(Name = "专案")]
[Required(ErrorMessage = "专案不能为空")]
public string CaseCode { get; set; }
public string CaseCode { get; set; } = "";
/// <summary>
/// 项目分类

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs

@ -44,8 +44,7 @@ public class UnplannedReceiptRequestImportInput : SfsStoreImportInputBase
/// 专案
/// </summary>
[Display(Name = "专案")]
[Required(ErrorMessage = "专案不能为空")]
public string CaseCode { get; set; }
public string CaseCode { get; set; } = "";
/// <summary>
/// 项目分类

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs

@ -185,7 +185,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
{
var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
CheckItemBasic(itemBasic, detail.ItemCode);
await CheckOnceBusiCodeAsync(detail).ConfigureAwait(false);
//await CheckOnceBusiCodeAsync(detail).ConfigureAwait(false);
if (itemBasic != null)
{
detail.ItemCode = itemBasic.Code;
@ -404,7 +404,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
_ = await CheckLocationAsync(model.LocationCode, validationRresult).ConfigureAwait(false);
await CheckOnceBusiCodeAsync(model, validationRresult).ConfigureAwait(false);//次交易码
await CheckCaseCodeAsync(model, validationRresult).ConfigureAwait(false);//专案代码
//await CheckCaseCodeAsync(model, validationRresult).ConfigureAwait(false);//专案代码
await CheckProjCapacityCodeAsync(model, validationRresult).ConfigureAwait(false);//项目分类
// _ = await CheckBalanceAsync(model, validationRresult).ConfigureAwait(false);
}

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

@ -153,7 +153,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
{
var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
CheckItemBasic(itemBasic, detail.ItemCode);
CheckOnceBusiCodeAsync(detail);
//CheckOnceBusiCodeAsync(detail);
if (itemBasic != null)
{
detail.ItemName = itemBasic.Name;
@ -350,7 +350,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
_ = await CheckLocationAsync(importInput.LocationCode, validationRresult).ConfigureAwait(false);
await CheckOnceBusiCodeAsync(importInput, validationRresult).ConfigureAwait(false);//次交易码
await CheckCaseCodeAsync(importInput, validationRresult).ConfigureAwait(false);//专案代码
// await CheckCaseCodeAsync(importInput, validationRresult).ConfigureAwait(false);//专案代码
await CheckProjCapacityCodeAsync(importInput, validationRresult).ConfigureAwait(false);//项目分类
//var transactionType = await CheckTransactionTypeAsync(EnumTransType.UnplannedReceipt, dataRowErrorInfo);

Loading…
Cancel
Save