From d1a2afa67032339c2eb1019a02c6b6d036c0bdb1 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期一, 23 九月 2024 09:09:40 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 97 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 81 insertions(+), 16 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" index 0ad089b..0342543 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" @@ -1,4 +1,5 @@ 锘縰sing AutoMapper; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -25,24 +26,30 @@ public class InboundOrderService : ServiceBase<Dt_InboundOrder, IInboundOrderRepository>, IInboundOrderService { private readonly IMapper _mapper; - private readonly IMaterielInfoService _materielInfoService; - private readonly IStockInfoService _stockInfoService; - private readonly IStockInfoDetailService _stockDetailService; - private readonly ITaskRepository _taskRepository; - private readonly IInboundOrderDetailService _inboundOrderDetailService; private readonly IUnitOfWorkManage _unitOfWorkManage; + private readonly ITaskRepository _taskRepository; - public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IMaterielInfoService materielInfoService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService, ITaskRepository taskRepository, IInboundOrderDetailService inboundOrderDetailService, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) + private IBasicService _basicService; + private IStockService _stockService; + private IInboundOrderDetailService _inboundOrderDetailService; + + public IInboundOrderRepository Repository => BaseDal; + + public InboundOrderService(IInboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, ITaskRepository taskRepository, IBasicService basicService, IStockService stockService, IInboundOrderDetailService inboundOrderDetailService) : base(BaseDal) { _mapper = mapper; - _materielInfoService = materielInfoService; - _stockDetailService = stockDetailService; - _stockInfoService = stockInfoService; - _taskRepository = taskRepository; - _inboundOrderDetailService = inboundOrderDetailService; _unitOfWorkManage = unitOfWorkManage; + _taskRepository = taskRepository; + _basicService = basicService; + _stockService = stockService; + _inboundOrderDetailService = inboundOrderDetailService; } + /// <summary> + /// 娣诲姞鍗曟嵁 + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> public override WebResponseContent AddData(SaveModel saveModel) { InboundOrderAddDTO orderAddDTO = saveModel.MainData.DicToModel<InboundOrderAddDTO>(); @@ -50,6 +57,11 @@ return AddInboundOrder(orderAddDTO); } + /// <summary> + /// 娣诲姞鍗曟嵁 + /// </summary> + /// <param name="orderAddDTO">鍗曟嵁娣诲姞DTO</param> + /// <returns></returns> public WebResponseContent AddInboundOrder(InboundOrderAddDTO orderAddDTO) { WebResponseContent content = new(); @@ -76,6 +88,11 @@ return content; } + /// <summary> + /// 楠岃瘉鍗曟嵁娣诲姞DTO瀵硅薄 + /// </summary> + /// <param name="inboundOrderAddDTO">鍗曟嵁娣诲姞DTO</param> + /// <returns></returns> private (bool, string, object?) CheckInboundOrderAddData(InboundOrderAddDTO inboundOrderAddDTO) { (bool, string, object?) result1 = ModelValidate.ValidateModelData(inboundOrderAddDTO); @@ -91,7 +108,7 @@ } List<string> materielCodes = inboundOrderAddDTO.Details.Select(x => x.MaterielCode).ToList(); - if (!_materielInfoService.ExsitMateriels(materielCodes)) + if (!_basicService.MaterielInfoService.ExsitMateriels(materielCodes)) { return (false, "鏈夌墿鏂欎俊鎭湭褰曞叆锛岃褰曞叆鐗╂枡淇℃伅", inboundOrderAddDTO); } @@ -103,6 +120,11 @@ return (true, "鎴愬姛", inboundOrderAddDTO); } + /// <summary> + /// 鏍规嵁鍏ュ簱鍗曞彿鑾峰彇鍏ュ簱鍗�(鍚槑缁�) + /// </summary> + /// <param name="inboundOrderNo"></param> + /// <returns></returns> public Dt_InboundOrder GetInboundOrder(string inboundOrderNo) { return BaseDal.Db.Queryable<Dt_InboundOrder>().Includes(x => x.Details).First(x => x.OrderNo == inboundOrderNo); ; @@ -124,12 +146,12 @@ List<string> materielCodes = matSerialNumberDTOs.GroupBy(x => x.MaterielCode).Select(x => x.Key).ToList(); - List<Dt_MaterielInfo> materielInfos = _materielInfoService.GetMaterielInfos(materielCodes); + List<Dt_MaterielInfo> materielInfos = _basicService.MaterielInfoService.GetMaterielInfos(materielCodes); Dt_InboundOrder inboundOrder = GetInboundOrder(materielGroupDTO.OrderNo); - Dt_StockInfo? stockInfo = _stockInfoService.GetStockByPalletCode(materielGroupDTO.PalletCode); + Dt_StockInfo? stockInfo = _stockService.StockInfoService.GetStockByPalletCode(materielGroupDTO.PalletCode); (bool, string, object?) result = CheckMaterielGroupParam(materielGroupDTO, matSerialNumberDTOs, materielInfos, materielCodes, inboundOrder, stockInfo); if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); @@ -184,6 +206,13 @@ return content; } + /// <summary> + /// 缁勭洏鏁版嵁鏇存柊 + /// </summary> + /// <param name="inboundOrder">鍏ュ簱鍗�</param> + /// <param name="inboundOrderDetails">鍏ュ簱鍗曟槑缁�</param> + /// <param name="stockInfo">缁勭洏鏁版嵁</param> + /// <returns></returns> public WebResponseContent MaterielGroupUpdateData(Dt_InboundOrder inboundOrder, List<Dt_InboundOrderDetail> inboundOrderDetails, Dt_StockInfo stockInfo) { try @@ -191,7 +220,7 @@ _unitOfWorkManage.BeginTran(); UpdateData(inboundOrder); _inboundOrderDetailService.UpdateData(inboundOrderDetails); - _stockInfoService.AddMaterielGroup(stockInfo); + _stockService.StockInfoService.AddMaterielGroup(stockInfo); _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); } @@ -202,6 +231,16 @@ } } + /// <summary> + /// 楠岃瘉缁勭洏鏁版嵁 + /// </summary> + /// <param name="materielGroupDTO">鐗╂枡缁勭洏DTO</param> + /// <param name="matSerialNumberDTOs">鎵爜搴忓垪鍙�</param> + /// <param name="materielInfos">鐗╂枡淇℃伅</param> + /// <param name="materielCodes">鐗╂枡缂栧彿</param> + /// <param name="inboundOrder">鍏ュ簱鍗曟嵁</param> + /// <param name="stockInfo">缁勭洏淇℃伅</param> + /// <returns></returns> public (bool, string, object?) CheckMaterielGroupParam(MaterielGroupDTO materielGroupDTO, List<MatSerialNumberDTO> matSerialNumberDTOs, List<Dt_MaterielInfo> materielInfos, List<string> materielCodes, Dt_InboundOrder inboundOrder, Dt_StockInfo stockInfo) { (bool, string, object?) result = ModelValidate.ValidateModelData(materielGroupDTO); @@ -217,7 +256,7 @@ return (false, "宸蹭笂鏋剁殑鎵樼洏涓嶈兘鍐嶆缁勭洏", materielGroupDTO); } - if (_stockDetailService.ExistSerialNumbers(materielGroupDTO.SerialNumbers)) + if (_stockService.StockInfoDetailService.ExistSerialNumbers(materielGroupDTO.SerialNumbers)) { return (false, "鏈夊簭鍒楀彿鍦ㄥ簱瀛樹腑宸插瓨鍦�", materielGroupDTO); } @@ -268,5 +307,31 @@ return (true, "鎴愬姛", materielGroupDTO); } + + public WebResponseContent QueryOrderInfo(int pageNo, string orderNo) + { + if (string.IsNullOrEmpty(orderNo)) + { + object obj = Repository.QueryPage(x => true, pageNo, 10, new Dictionary<string, OrderByType> { { nameof(Dt_InboundOrder.CreateDate), OrderByType.Desc } }).Rows.Select(x => new + { + x.OrderNo, + x.UpperOrderNo, + x.CreateDate, + x.Creater + }); + return WebResponseContent.Instance.OK(data: obj); + } + else + { + object obj = Repository.QueryPage(x => x.OrderNo == orderNo, pageNo, 10, new Dictionary<string, OrderByType> { { nameof(Dt_InboundOrder.CreateDate), OrderByType.Desc } }).Rows.Select(x => new + { + x.OrderNo, + x.UpperOrderNo, + x.CreateDate, + x.Creater + }); + return WebResponseContent.Instance.OK(data: obj); + } + } } } -- Gitblit v1.9.3