From cbf06cbb2e7988fdee53507dede034756ebfbf59 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期二, 14 一月 2025 15:47:40 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 188 +++++++++++++++++++++++++++++------------------
1 files changed, 116 insertions(+), 72 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index c08a1ca..e3deb6c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -204,38 +204,8 @@
_unitOfWorkManage.CommitTran();
#region 鍑哄簱瀹屾垚涓婃姤ERP
- ERPPickItemModel pickItemModel = new ERPPickItemModel()
- {
- Lotno = model.LotNo,
- Qty = model.Quantity.ToString(),
- Location = warehouse.WarehouseCode
- };
- ERPPickModel pickModel = new ERPPickModel()
- {
- Rowindex = outboundOrderDetail.RowNo,
- Material = outboundOrderDetail.MaterielCode,
- Qty = pickItemModel.Qty,
- Dataitem = new List<ERPPickItemModel> { pickItemModel }
- };
- List<ERPPickModel> eRPPickModels = new List<ERPPickModel>() { pickModel };
- ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
- {
- Pickcode = outboundOrder.UpperOrderNo,
- PickList = eRPPickModels
- };
- ERPIssueModel issueModel = new ERPIssueModel()
- {
- UniqueTag = outboundOrderDetail.OrderId.ToString(),
- Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)),
- WarehouseCode = warehouse.WarehouseCode,
- Docremark = "",
- Deptno = outboundOrder.DepartmentCode,
- Deptname = outboundOrder.DepartmentName,
- Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- Createuser = App.User.UserName,
- Issitem = new List<ERPIssueItemModel>() { issueItemModel },
- };
- _invokeERPService.InvokeOutStandardsApi(issueModel);
+ if (outboundOrder.OrderStatus == OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt())
+ _invokeERPService.InvokeOutStandardsApi(GetERPIssueModel(outboundOrder, warehouse.WarehouseCode));
#endregion
content.OK();
}
@@ -245,6 +215,59 @@
content.Error(ex.Message);
}
return content;
+ }
+ public ERPIssueModel GetERPIssueModel(Dt_OutboundOrder outboundOrder, string WarehouseCode)
+ {
+ ERPIssueModel issueModel = new ERPIssueModel();
+ try
+ {
+ List<Dt_OutStockLockInfo> stockLockInfos = _outStockLockInfoService.OutStockLockInfos(outboundOrder.OrderNo);
+ List<ERPPickModel> eRPPickModels = new List<ERPPickModel>();
+ foreach (var item in stockLockInfos)
+ {
+ ERPPickItemModel pickItemModel = new ERPPickItemModel()
+ {
+ Lotno = item.BatchNo,
+ Qty = item.AssignQuantity.ObjToInt().ToString(),
+ Location = WarehouseCode
+ };
+ //鑾峰彇鍑哄簱鍗曟槑缁�
+ Dt_OutboundOrderDetail outboundOrderDetail = outboundOrder.Details.FirstOrDefault(x => x.Id == item.OrderDetailId);
+ ERPPickModel pickModel = new ERPPickModel()
+ {
+ Rowindex = outboundOrderDetail.RowNo,
+ Material = outboundOrderDetail.MaterielCode,
+ Qty = pickItemModel.Qty,
+ Dataitem = new List<ERPPickItemModel> { pickItemModel }
+ };
+ eRPPickModels.Add(pickModel);
+ }
+ ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
+ {
+ Pickcode = outboundOrder.UpperOrderNo,
+ PickList = eRPPickModels
+ };
+ string Createuser = "";
+ if (!string.IsNullOrEmpty(App.User.UserName)) Createuser = App.User.UserName;
+ else Createuser = stockLockInfos.FirstOrDefault().Creater;
+ issueModel = new ERPIssueModel()
+ {
+ UniqueTag = outboundOrder.Id.ToString(),
+ Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)),
+ WarehouseCode = WarehouseCode,
+ Docremark = "",
+ Deptno = outboundOrder.DepartmentCode,
+ Deptname = outboundOrder.DepartmentName,
+ Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ Createuser = string.IsNullOrEmpty(Createuser) ? Createuser : "admin",
+ Issitem = new List<ERPIssueItemModel>() { issueItemModel },
+ };
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ return issueModel;
}
public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model)
{
@@ -312,7 +335,9 @@
WarehouseId = warehouse.WarehouseId,
DepartmentCode = model.DepartmentCode,
DepartmentName = model.DepartmentName,
- Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }
+ Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail },
+ Remark = model.Node
+
};
Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand();
}
@@ -340,6 +365,7 @@
MaterielName = materielInfo.MaterielName,
OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
OrderQuantity = model.Qty,
+ Unit = model.Unit,
};
_outboundOrderDetailRepository.UpdateData(outboundOrderDetail);
@@ -422,7 +448,7 @@
issueModel = new ERPIssueModel()
{
UniqueTag = id.ToString(),
- Code = outboundOrder.OrderNo,//娴嬭瘯
+ Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)),//娴嬭瘯
WarehouseCode = warehouse.WarehouseCode,
Docremark = "",
Deptno = outboundOrder.DepartmentCode,
@@ -431,53 +457,67 @@
Createuser = outboundOrder.Creater,
Issitem = new List<ERPIssueItemModel>() { issueItemModel },
};
+ _invokeERPService.InvokeOutStandardsApi(issueModel);
}
else
{
- List<ERPPickModel> eRPPickModels = new List<ERPPickModel>();
-
- //鑾峰彇鍑哄簱璇︽儏鍗�
+ #region MyRegion
foreach (var item in outStockLockInfos)
{
- ERPPickItemModel pickItemModel = new ERPPickItemModel()
- {
- Lotno = item.BatchNo,
- Qty = item.AssignQuantity.ObjToInt().ToString(),
- Location = warehouse.WarehouseCode
- };
- //鑾峰彇鍑哄簱鍗曟槑缁�
- Dt_OutboundOrderDetail outboundOrderDetail = outboundOrder.Details.FirstOrDefault(x => x.Id == item.OrderDetailId);
- ERPPickModel pickModel = new ERPPickModel()
- {
- Rowindex = outboundOrderDetail.RowNo,
- Material = outboundOrderDetail.MaterielCode,
- Qty = pickItemModel.Qty,
- Dataitem = new List<ERPPickItemModel> { pickItemModel }
- };
if (item.OrderQuantity == item.AssignQuantity)
{
item.Status = OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
}
- eRPPickModels.Add(pickModel);
_OutStockLockInfos.Add(item);
}
- ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
- {
- Pickcode = outboundOrder.UpperOrderNo,
- PickList = eRPPickModels
- };
- issueModel = new ERPIssueModel()
- {
- UniqueTag = id.ToString(),
- Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)),
- WarehouseCode = warehouse.WarehouseCode,
- Docremark = "",
- Deptno = outboundOrder.DepartmentCode,
- Deptname = outboundOrder.DepartmentName,
- Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- Createuser = outStockLockInfos.FirstOrDefault().Creater,
- Issitem = new List<ERPIssueItemModel>() { issueItemModel },
- };
+ #endregion
+
+ #region MyRegion
+ //List<ERPPickModel> eRPPickModels = new List<ERPPickModel>();
+
+ ////鑾峰彇鍑哄簱璇︽儏鍗�
+ //foreach (var item in outStockLockInfos)
+ //{
+ // ERPPickItemModel pickItemModel = new ERPPickItemModel()
+ // {
+ // Lotno = item.BatchNo,
+ // Qty = item.AssignQuantity.ObjToInt().ToString(),
+ // Location = warehouse.WarehouseCode
+ // };
+ // //鑾峰彇鍑哄簱鍗曟槑缁�
+ // Dt_OutboundOrderDetail outboundOrderDetail = outboundOrder.Details.FirstOrDefault(x => x.Id == item.OrderDetailId);
+ // ERPPickModel pickModel = new ERPPickModel()
+ // {
+ // Rowindex = outboundOrderDetail.RowNo,
+ // Material = outboundOrderDetail.MaterielCode,
+ // Qty = pickItemModel.Qty,
+ // Dataitem = new List<ERPPickItemModel> { pickItemModel }
+ // };
+ // if (item.OrderQuantity == item.AssignQuantity)
+ // {
+ // item.Status = OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
+ // }
+ // eRPPickModels.Add(pickModel);
+ // _OutStockLockInfos.Add(item);
+ //}
+ //ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
+ //{
+ // Pickcode = outboundOrder.UpperOrderNo,
+ // PickList = eRPPickModels
+ //};
+ //issueModel = new ERPIssueModel()
+ //{
+ // UniqueTag = id.ToString(),
+ // Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)),
+ // WarehouseCode = warehouse.WarehouseCode,
+ // Docremark = "",
+ // Deptno = outboundOrder.DepartmentCode,
+ // Deptname = outboundOrder.DepartmentName,
+ // Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ // Createuser = outStockLockInfos.FirstOrDefault().Creater,
+ // Issitem = new List<ERPIssueItemModel>() { issueItemModel },
+ //};
+ #endregion
}
if (stockInfos.Count > 0)
@@ -489,7 +529,11 @@
_outStockLockInfoService.Repository.UpdateData(_OutStockLockInfos);
}
//鍑哄簱瀹屾垚涓婃姤ERP 娴嬭瘯娉ㄩ噴
- _invokeERPService.InvokeOutStandardsApi(issueModel);
+ if (outboundOrder.OrderStatus == OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt())
+ {
+ issueModel = GetERPIssueModel(outboundOrder, warehouse.WarehouseCode);
+ _invokeERPService.InvokeOutStandardsApi(issueModel);
+ }
return WebResponseContent.Instance.OK();
}
catch (Exception ex)
@@ -502,7 +546,7 @@
{
lock (lock_code)
{
-
+
string code = string.Empty;
DateTime dateTime = DateTime.Now;
DateTime now = DateTime.Now;
--
Gitblit v1.9.3