| | |
| | | using MailKit.Search; |
| | | using WIDESEA_External.Model; |
| | | using WIDESEA_Core.CodeConfigEnum; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | |
| | | /// <param name="ProOutNo">åºåºè®¢åå·</param> |
| | | /// <param name="StationCode">ç«å°å°å</param> |
| | | /// <returns></returns> |
| | | public WebResponseContent OutProductTask(string ProOutNo, string StationCode) |
| | | public WebResponseContent OutProductTask(int[] keys, string StationCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | //è·åæååºåºè®¢å |
| | | Dt_ProOutOrder proOutOrder = _outboundService.ProOutOrderService.Repository.Db.Queryable<Dt_ProOutOrder>().Where(x => x.ProOutOrderNo == ProOutNo).Includes(x => x.Details).First(); |
| | | if (proOutOrder==null) |
| | | List<Dt_ProOutOrderDetail> _ProOutOrderDetails = _outboundRepository.ProOutOrderDetailRepository.QueryData(x => keys.Contains(x.Id)); |
| | | if (_ProOutOrderDetails.Count<=0) |
| | | { |
| | | return content.Error("åºåºè®¢åä¸åå¨"); |
| | | return content.Error("å¾é订åæç»ä¸åå¨"); |
| | | } |
| | | List<Dt_Task> tasks = new List<Dt_Task>(); |
| | | List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>(); |
| | |
| | | List<Dt_OutProStockInfo> outProStockInfos = new List<Dt_OutProStockInfo>(); |
| | | List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); |
| | | (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) result = |
| | | OutProductTaskDataHandle(proOutOrder); |
| | | OutProductTaskDataHandle(_ProOutOrderDetails); |
| | | if (result.Item2 != null && result.Item2.Count > 0) |
| | | { |
| | | proStockInfos.AddRange(result.Item2); |
| | |
| | | /// å¤çæååºåºæ°æ® |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) OutProductTaskDataHandle(Dt_ProOutOrder proOutOrder) |
| | | public (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) OutProductTaskDataHandle(List<Dt_ProOutOrderDetail> proOutOrderDetails) |
| | | { |
| | | List<Dt_Task> tasks = new List<Dt_Task>(); |
| | | List<Dt_ProStockInfo> proStockInfos = new List<Dt_ProStockInfo>(); |
| | | List<Dt_ProOutOrderDetail> proOutOrderDetails = new List<Dt_ProOutOrderDetail>(); |
| | | List<Dt_ProOutOrderDetail> assignOutOrderDetails = new List<Dt_ProOutOrderDetail>(); |
| | | List<Dt_OutProStockInfo> outProStockInfos=new List<Dt_OutProStockInfo>(); |
| | | List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); |
| | | //åé
åºå |
| | | (List<Dt_ProStockInfo>, List<Dt_ProOutOrderDetail>, List<Dt_OutProStockInfo>, List<Dt_LocationInfo>) result = _outboundService.ProOutOrderDetailService.AssignProStockOut(proOutOrder.WarehouseId, proOutOrder); |
| | | (List<Dt_ProStockInfo>, List<Dt_ProOutOrderDetail>, List<Dt_OutProStockInfo>, List<Dt_LocationInfo>) result = _outboundService.ProOutOrderDetailService.AssignProStockOut(proOutOrderDetails); |
| | | if (result.Item1!=null&&result.Item1.Count>0) |
| | | { |
| | | //è·åæåå |
| | | Dt_ProOutOrder proOutOrder = _outboundRepository.ProOutOrderRepository.QueryFirst(x => x.Id == proOutOrderDetails.FirstOrDefault().ProOrderId); |
| | | if (proOutOrder==null) |
| | | { |
| | | throw new Exception("æªæ¾å°æå订å"); |
| | | } |
| | | TaskTypeEnum typeEnum = proOutOrder.ProOrderType switch |
| | | { |
| | | (int)OutProTypeEnum.ProOut => TaskTypeEnum.OutProduct, |