|  |  |  | 
|---|
|  |  |  | /// <param name="stationCode"></param> | 
|---|
|  |  |  | /// <param name="palletCode"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | public WebResponseContent DeviceRequestInboundTask(string stationCode, string palletCode) | 
|---|
|  |  |  | public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="stationCode"></param> | 
|---|
|  |  |  | /// <param name="palletCode"></param> | 
|---|
|  |  |  | /// <param name="staions"></param> | 
|---|
|  |  |  | /// <param name="heightType"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | public WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, List<string> staions, int heightType) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode); | 
|---|
|  |  |  | if (task != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | PushTasksToWCS(new List<Dt_Task> { task }); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK($"该æçå·²çæä»»å¡", _mapper.Map<WMSTaskDTO>(task)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该ç«ç¹å·²ææªæ§è¡çä»»å¡"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string roadwayNo = AssignRoadwayNo(staions, palletCode, heightType); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode); | 
|---|
|  |  |  | if (stockInfo == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°ç»çä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (stockInfo.StockStatus != StockStatusEmun.ç»çæå.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.æå¨ç»çæå.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.åºåºå®æ.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.æ£é宿.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.éåº.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MESéåº.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该æçç¶æä¸æ£ç¡®,ä¸å¯ç³è¯·å
¥åº"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!string.IsNullOrEmpty(stockInfo.LocationCode)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该æçå·²ç»å®è´§ä½"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_Task newTask = new Dt_Task() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | CurrentAddress = stationCode, | 
|---|
|  |  |  | Grade = 0, | 
|---|
|  |  |  | NextAddress = "", | 
|---|
|  |  |  | PalletCode = palletCode, | 
|---|
|  |  |  | Roadway = roadwayNo, | 
|---|
|  |  |  | SourceAddress = stationCode, | 
|---|
|  |  |  | TargetAddress = roadwayNo, | 
|---|
|  |  |  | TaskType = TaskTypeEnum.Inbound.ObjToInt(), | 
|---|
|  |  |  | TaskStatus = TaskStatusEnum.New.ObjToInt(), | 
|---|
|  |  |  | WarehouseId = stockInfo.WarehouseId, | 
|---|
|  |  |  | PalletType = stockInfo.PalletType | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (stockInfo.StockStatus == StockStatusEmun.æå¨ç»çæå.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | stockInfo.StockStatus = StockStatusEmun.æå¨ç»çå
¥åºç¡®è®¤.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (stockInfo.StockStatus == StockStatusEmun.MESéåº.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | stockInfo.StockStatus = StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | _unitOfWorkManage.BeginTran(); | 
|---|
|  |  |  | int taskId = BaseDal.AddData(newTask); | 
|---|
|  |  |  | newTask.TaskId = taskId; | 
|---|
|  |  |  | _stockRepository.StockInfoRepository.UpdateData(stockInfo); | 
|---|
|  |  |  | _unitOfWorkManage.CommitTran(); | 
|---|
|  |  |  | WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PushTasksToWCS(new List<Dt_Task> { newTask }); | 
|---|
|  |  |  | //if (newTask.WarehouseId == 5) PutFinish(stationCode); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(data: wMSTaskDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _unitOfWorkManage.RollbackTran(); | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// å
¥åºä»»å¡ç³è¯·åé
è´§ä½ | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="taskNum">ä»»å¡å·</param> | 
|---|