From a0a0df2e824b6fe7e5a3c0afce78127fecf84fc9 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 03 十一月 2025 08:23:05 +0800
Subject: [PATCH] ERP接口代码更新,WCS代码优化,出入库分配优化
---
项目代码/WMS/WMSServices/WIDESEA_OutboundService/OutBSTOrderService.cs | 121 ----------------------------------------
1 files changed, 0 insertions(+), 121 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutBSTOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutBSTOrderService.cs"
index 3d8336d..b3b1d4e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutBSTOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutBSTOrderService.cs"
@@ -34,126 +34,5 @@
_unitOfWorkManage = unitOfWorkManage;
_outBSTOrderDetailRepository = outBSTOrderDetailRepository;
}
- /// <summary>
- /// 娣诲姞鍑哄簱鎺掔▼淇℃伅
- /// </summary>
- public WebResponseContent AddOutBSTOrder(List<BSTOutOrderDTO> bSTOutOrderDTOs)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- //鏂板
- List<BSTOutOrderDTO> outOrderDTOsAdd = bSTOutOrderDTOs.Where(x => x.Way == 1).ToList();
- //淇敼
- List<BSTOutOrderDTO> outOrderDTOsUpdate = bSTOutOrderDTOs.Where(x => x.Way == 2).ToList();
- //鍒犻櫎
- List<BSTOutOrderDTO> outOrderDTOsDel = bSTOutOrderDTOs.Where(x => x.Way == 3).ToList();
- if (outOrderDTOsAdd.Count==0 && outOrderDTOsUpdate.Count==0 && outOrderDTOsDel.Count==0)
- {
- return content.Error($"鍑哄簱鎺掔▼淇℃伅浼犲叆涓虹┖");
- }
- //鑾峰彇鎵�鏈夊嚭搴撳崟
- List<Dt_OutBSTOrder> OldoutBSTOrders = BaseDal.Db.Queryable<Dt_OutBSTOrder>().Includes(x => x.Details).ToList();
- //鑾峰彇鎵�鏈夌墿鏂�
- List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.WarehouseId == WarehouseEnum.LLDYL.ObjToInt() && x.MaterielInvOrgId == MaterielInvOrgEnum.鑰佸巶.ObjToInt() && x.MaterialSourceId != 0);
-
- List<Dt_OutBSTOrder> outBSTAddOrders = new List<Dt_OutBSTOrder>();
- List<Dt_OutBSTOrder> outBSTUpOrders = new List<Dt_OutBSTOrder>();
- List<Dt_OutBSTOrder> outBSTDelOrders = new List<Dt_OutBSTOrder>();
- List<Dt_OutBSTOrderDetail> outBSTOrderDetailsDel = new List<Dt_OutBSTOrderDetail>();
- //鏂板
- if (outOrderDTOsAdd.Count>0)
- {
- //鍒ゆ柇鍗曟嵁
- Dt_OutBSTOrder? ExistAddOutOrder = OldoutBSTOrders.FirstOrDefault(x => outOrderDTOsAdd.Select(x => x.BoardMpsId).Contains(x.BoardMpsId));
- if (ExistAddOutOrder != null)
- {
- return content.Error($"鍑哄簱鎺掔▼Id{nameof(BSTOutOrderDTO.BoardMpsId)}:{ExistAddOutOrder.BoardMpsId}宸插瓨鍦�");
- }
- //鍒ゆ柇鏄惁瀛樺湪鐗╂枡
- List<BstBoardMpsDetailItem> bstBoardMpsDetailItems = outOrderDTOsAdd.SelectMany(x => x.BstBoardMpsDetails).ToList();
- BstBoardMpsDetailItem? bstBoardMpsDetailItem = bstBoardMpsDetailItems.FirstOrDefault(x => !materielInfos.Select(x => x.MaterialSourceId).Contains(x.MaterialId));
- if (bstBoardMpsDetailItem != null)
- {
- return content.Error($"鐢熶骇鎺掔▼{nameof(bstBoardMpsDetailItem.BoardMpsId)}鐗╂枡Id:{bstBoardMpsDetailItem.MaterialId}涓嶅瓨鍦�");
- }
- foreach (var item in outOrderDTOsAdd)
- {
- if (outOrderDTOsUpdate.FirstOrDefault(x => x.BoardMpsId == item.BoardMpsId) != null)
- {
- continue;
- }
- List<Dt_OutBSTOrderDetail> bSTOrderDetails = item.BstBoardMpsDetails.Select(x => _mapper.Map<Dt_OutBSTOrderDetail>(x)).ToList();
- Dt_OutBSTOrder outBSTOrder = _mapper.Map<Dt_OutBSTOrder>(item);
- outBSTOrder.Details=bSTOrderDetails;
- outBSTAddOrders.Add(outBSTOrder);
- }
- }
- //淇敼
- if (outOrderDTOsUpdate.Count > 0)
- {
- List<Dt_OutBSTOrder>? ExistUpdateOutBSTOrders = OldoutBSTOrders.Where(x => outOrderDTOsUpdate.Select(x => x.BoardMpsId).Contains(x.BoardMpsId)).ToList();
-
- foreach (var item in outOrderDTOsUpdate)
- {
- Dt_OutBSTOrder? outBSTOrderUpdate = ExistUpdateOutBSTOrders.FirstOrDefault(x=>x.BoardMpsId==item.BoardMpsId);
- //濡傛灉璁㈠崟宸插瓨鍦ㄥ垯杩涜鏇存敼
- if (outBSTOrderUpdate != null)
- {
- if (outBSTOrderUpdate.OutBSTOrderStatus != OutOrderStatusEnum.鏈紑濮�.ObjToInt())
- {
- return content.Error($"閲囪喘{nameof(outBSTOrderUpdate.BoardMpsId)}:{outBSTOrderUpdate.BoardMpsId}璁㈠崟鍑哄簱涓紝涓嶅彲鏇存敼");
- }
- //鏇存柊鏁版嵁
- outBSTOrderDetailsDel.AddRange(outBSTOrderUpdate.Details);
- List<Dt_OutBSTOrderDetail> bSTOrderDetails = item.BstBoardMpsDetails.Select(x => _mapper.Map<Dt_OutBSTOrderDetail>(x)).ToList();
- bSTOrderDetails.ForEach(x =>
- {
- x.OutBSTOrderId = outBSTOrderUpdate.Id;
- });
- outBSTOrderUpdate.Details = bSTOrderDetails;
- outBSTOrderUpdate.BoardMpsId= item.BoardMpsId;
- outBSTOrderUpdate.BoardMpsNo= item.BoardMpsNo;
- outBSTOrderUpdate.ProductionDate = DateTimeOffset.FromUnixTimeMilliseconds(item.ProductionDate).DateTime;
- outBSTUpOrders.Add(outBSTOrderUpdate);
- }
- else//濡傛灉涓嶅瓨鍦ㄥ垯杩涜鏂板
- {
- List<Dt_OutBSTOrderDetail> bSTOrderDetails = item.BstBoardMpsDetails.Select(x => _mapper.Map<Dt_OutBSTOrderDetail>(x)).ToList();
- Dt_OutBSTOrder outBSTOrder = _mapper.Map<Dt_OutBSTOrder>(item);
- outBSTOrder.Details = bSTOrderDetails;
- outBSTAddOrders.Add(outBSTOrder);
- }
- }
- }
- //鍒犻櫎
- if (outOrderDTOsDel.Count > 0)
- {
- List<Dt_OutBSTOrder>? ExistDeloutBSTOrders = OldoutBSTOrders.Where(x => outOrderDTOsDel.Select(x => x.BoardMpsId).Contains(x.BoardMpsId)).ToList();
- //鏇存柊鐨勫崟鎹槸鍚﹀瓨鍦�
- if (ExistDeloutBSTOrders.Count == outOrderDTOsDel.Count)
- {
-
- }
- else
- {
- BSTOutOrderDTO? bSTOutOrderDTO = outOrderDTOsDel.FirstOrDefault(x => !ExistDeloutBSTOrders.Select(x => x.BoardMpsId).Contains(x.BoardMpsId));
- return content.Error($"鏈壘鍒版寚瀹氱敓浜ф帓绋嬪崟Id{nameof(BSTOutOrderDTO.BoardMpsId)}:{bSTOutOrderDTO?.BoardMpsId}");
- }
- }
- _unitOfWorkManage.BeginTran();
- BaseDal.Db.InsertNav(outBSTAddOrders).Include(x => x.Details).ExecuteCommand();
- _outBSTOrderDetailRepository.DeleteData(outBSTOrderDetailsDel);
- BaseDal.Db.UpdateNav(outBSTUpOrders).Include(x => x.Details).ExecuteCommand();
- _unitOfWorkManage.CommitTran();
- content.OK("鎺ユ敹鎴愬姛");
- }
- catch (Exception ex)
- {
- _unitOfWorkManage.RollbackTran();
- content.Error(ex.Message);
- }
- return content;
- }
}
}
--
Gitblit v1.9.3