| | |
| | | using System.Security.Policy; |
| | | using static WIDESEA_ITaskInfoService.ITaskService; |
| | | using MailKit.Search; |
| | | using WIDESEA_Common.Log; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | |
| | | { |
| | | Dt_LocationInfo newLocation; |
| | | //æ¥èµ°è´§ä½ï¼è¿è¡çæç§»åºä»»å¡ |
| | | newLocation = _basicService.LocationInfoService.GetLocation(locationInfos.RoadwayNo); //æ¿å°äºç§»åºåçè´§ä½ |
| | | int Locationtype = 9; //é»è®¤ä¸º9 |
| | | if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.æå) |
| | | { |
| | | Locationtype = 11; |
| | | } |
| | | else if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.åææ) |
| | | { |
| | | Locationtype = 10; |
| | | } |
| | | newLocation = _basicService.LocationInfoService.GetLocation(locationInfos.RoadwayNo,Locationtype); //æ¿å°äºç§»åºåçè´§ä½ |
| | | if (newLocation != null) |
| | | { |
| | | Dt_Task dt_Task = new() |
| | |
| | | return content = WebResponseContent.Instance.Error($"æªæ¾å°åºåºçåºåä¿¡æ¯"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå¨çæåºåºä»»å¡ |
| | | /// </summary> |
| | |
| | | for (int i = 0; i < saveModel.DelKeys.Count; i++) |
| | | { |
| | | Dt_StockInfo stockt = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == saveModel.DelKeys[i].ToString()); |
| | | if (stockt.StockStatus != (int)StockStatusEmun.å·²å
¥åº) |
| | | if (stockt.StockStatus == (int)StockStatusEmun.å·²å
¥åº) |
| | | { |
| | | Dt_StockInfoDetail stocktdetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockt.Id); |
| | | stockt.StockStatus = (int)StockStatusEmun.åºåºéå®; |
| | |
| | | { |
| | | if (locationinfo.RoadwayNo == "1") |
| | | { |
| | | LocationName = "R01-003-041-011-01"; |
| | | LocationName = "R01-002-041-011-01"; |
| | | } |
| | | else |
| | | { |
| | | LocationName = "R02-003-027-011-01"; |
| | | LocationName = "R02-002-027-011-01"; |
| | | } |
| | | } |
| | | Dt_LocationInfo newTargetAddress; |
| | |
| | | } |
| | | return (null, LocationStatusEnum.Free.ObjToInt()); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 人工æå¨åºåºï¼å é¤åºåï¼ |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent ManualOutboundDeleteinventory(SaveModel saveModel) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | List<Dt_StockInfo> dtstockt = new List<Dt_StockInfo>(); |
| | | List<Dt_LocationInfo> locations = new List<Dt_LocationInfo>(); |
| | | List<Dt_StockInfoDetail> dtstocktdetail = new List<Dt_StockInfoDetail>(); |
| | | |
| | | for (int i = 0; i < saveModel.DelKeys.Count; i++) |
| | | { |
| | | Dt_StockInfo stockt = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == saveModel.DelKeys[i].ToString()); |
| | | if (stockt.StockStatus == (int)StockStatusEmun.å·²å
¥åº) |
| | | { |
| | | Dt_StockInfoDetail stocktdetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockt.Id); |
| | | Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockt.LocationCode); |
| | | locationinfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | dtstockt.Add(stockt); |
| | | locations.Add(locationinfo); |
| | | if (stockt.MaterialType == (int)InventoryMaterialType.空æ) |
| | | { |
| | | dtstocktdetail.Add(stocktdetail); |
| | | } |
| | | WriteLog.GetLog("人工æå¨å é¤åºåä¿¡æ¯").Write($"æçæ¡ç ï¼{stockt.PalletCode},åºä½ç¼å·ï¼{stockt.LocationCode}", $"人工åºåºåºå"); |
| | | } |
| | | else |
| | | { |
| | | return content = WebResponseContent.Instance.Error($"åºåºå¤±è´¥ï¼è¯¥åºåä¿¡æ¯ä¸å¯è¿è¡åºåº"); |
| | | } |
| | | |
| | | } |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockService.StockInfoService.Repository.DeleteData(dtstockt); |
| | | if(dtstocktdetail.Count==0) |
| | | { |
| | | _stockService.StockInfoDetailService.Repository.DeleteData(dtstocktdetail); |
| | | } |
| | | _basicService.LocationInfoService.Repository.UpdateData(locations); |
| | | _unitOfWorkManage.CommitTran(); |
| | | content = WebResponseContent.Instance.OK(); |
| | | return content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return content = WebResponseContent.Instance.Error($"æå¨åºåºä¿¡æ¯å¤±è´¥ï¼æ¥éä¿¡æ¯ï¼{ex.Message}"); |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡åæ¶ |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent Cancelinventory(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if(task != null) |
| | | { |
| | | if(task.TaskType== (int)TaskTypeEnum.Outbound || task.TaskType == (int)TaskTypeEnum.PalletOutbound) |
| | | { |
| | | //å¤çåºåºçé»è¾ |
| | | Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); |
| | | if (locationinfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt()) |
| | | { |
| | | locationinfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | } |
| | | if (locationinfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt()) |
| | | { |
| | | locationinfo.LocationStatus = LocationStatusEnum.Pallet.ObjToInt(); |
| | | } |
| | | _basicService.LocationInfoService.Repository.UpdateData(locationinfo); |
| | | Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == task.PalletCode); |
| | | stockInfo.StockStatus = (int)StockStatusEmun.å·²å
¥åº; |
| | | _stockService.StockInfoService.Repository.UpdateData(stockInfo); |
| | | Dt_StockInfoDetail stocktdetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id); |
| | | if(stocktdetail != null) |
| | | { |
| | | stocktdetail.Status = (int)StockStatusEmun.å·²å
¥åº; |
| | | _stockService.StockInfoDetailService.Repository.UpdateData(stocktdetail); |
| | | } |
| | | BaseDal.DeleteData(task); |
| | | BaseDal.DeleteAndMoveIntoHty(task, OperateType.人工å é¤); |
| | | WriteLog.GetLog("任塿¥å¿").Write($"åºåºä»»å¡åæ¶æåï¼æçæ¡ç ï¼{task.PalletCode}", $"ä»»å¡åæ¶"); |
| | | return content = WebResponseContent.Instance.Error($"åºåºä»»å¡åæ¶æå"); |
| | | |
| | | } |
| | | else if(task.TaskType == (int)TaskTypeEnum.Inbound || task.TaskType == (int)TaskTypeEnum.PalletInbound) |
| | | { |
| | | //å¤çåºåºçé»è¾ |
| | | Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); |
| | | if (locationinfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt() || locationinfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt()) |
| | | { |
| | | locationinfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | _basicService.LocationInfoService.Repository.UpdateData(locationinfo); |
| | | Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == task.PalletCode); |
| | | _stockService.StockInfoService.Repository.DeleteData(stockInfo); |
| | | Dt_StockInfoDetail stocktdetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id); |
| | | if (stocktdetail != null) |
| | | { |
| | | _stockService.StockInfoDetailService.Repository.DeleteData(stocktdetail); |
| | | } |
| | | BaseDal.DeleteData(task); |
| | | BaseDal.DeleteAndMoveIntoHty(task, OperateType.人工å é¤); |
| | | WriteLog.GetLog("任塿¥å¿").Write($"å
¥åºä»»å¡åæ¶æåï¼æçæ¡ç ï¼{task.PalletCode}", $"ä»»å¡åæ¶"); |
| | | return content = WebResponseContent.Instance.Error($"å
¥åºä»»å¡åæ¶æå"); |
| | | } |
| | | else |
| | | { |
| | | return content = WebResponseContent.Instance.Error($"该任å¡çä»»å¡ç±»åå¼å¸¸ï¼åæ¶å¤±è´¥"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content = WebResponseContent.Instance.Error($"æªæ¾å°ä»»å¡å·"); |
| | | } |
| | | } |
| | | } |
| | | } |