| | |
| | | #region << ç æ¬ 注 é >> |
| | | #region << ç æ¬ 注 é >> |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEA_TaskInfoService |
| | | * å建è
ï¼è¡ç«¥åº |
| | |
| | | NextAddress = Nextlocation.LocationCode, |
| | | Grade = 1, |
| | | Creater = "WMS", |
| | | Depth = ShallowLocation.Depth, |
| | | Depth = Nextlocation.Depth, |
| | | CreateDate = DateTime.Now, |
| | | }; |
| | | |
| | | _locationInfoRepository.AddData(loca); |
| | | _locationInfoRepository.UpdateData(loca); |
| | | BaseDal.AddData(dt_Task); //æ°å¢ä»»å¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | |
| | | WebResponseContent content=MES_TransferCompletionFeedback(task); |
| | | //content.Status = true; |
| | | |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.äººå·¥å®æ : OperateTypeEnum.èªå¨å®æ); |
| | | |
| | | |
| | | /*WebResponseContent content = TaskCompletionFeedback(task); |
| | | WebResponseContent content = TaskCompletionFeedback(task); |
| | | //content.Status = true; |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return content; |
| | | }*/ |
| | | } |
| | | |
| | | //Thread.Sleep(5000); |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | |
| | | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | _locationStatusChangeRecordService.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockStatusEmun.åºåºå®æ.ObjToInt(), "1", task.TaskNum); |
| | | /*WebResponseContent content = TaskCompletionFeedback(task); |
| | | WebResponseContent content = TaskCompletionFeedback(task); |
| | | //content.Status = true; |
| | | |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return content; |
| | | }*/ |
| | | |
| | | } |
| | | //Thread.Sleep(5000); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return webResponse.OK(); |
| | | } |
| | |
| | | |
| | | try |
| | | { |
| | | string locationCode = null; |
| | | if (dt_Task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | locationCode = dt_Task.SourceAddress; |
| | | } |
| | | else |
| | | { |
| | | locationCode = dt_Task.TargetAddress; |
| | | } |
| | | TransferRequest transferRequest = new TransferRequest() |
| | | { |
| | | //ä¸å¡idï¼ä»»å¡idåç»è¿è¡æ´æ¹ |
| | | businessId = "1", |
| | | TaskId = "1", |
| | | SourceLocationCode = dt_Task.SourceAddress, |
| | | LocationCode = dt_Task.TargetAddress, |
| | | PalletCode = dt_Task.PalletCode, |
| | | Status = "FINISH", |
| | | ErrorStatus = "NORMAL", |
| | | ErrorInfo = "", |
| | | taskId = dt_Task.MEStaskId, //ä»»å¡id |
| | | businessId = dt_Task.MESbusinessId, //ä¸å¡id |
| | | sourceLocationCode = dt_Task.SourceAddress, |
| | | locationCode = locationCode, |
| | | palletCode = dt_Task.PalletCode, |
| | | status = "FINISH", |
| | | errorStatus = "NORMAL", |
| | | errorInfo = "", |
| | | }; |
| | | |
| | | //è·åæ¥å£è¿è¡è°å |
| | |
| | | string WCSReceiveTaskAPI = ConfigsAPIInfo.ApiAddress + ConfigsAPIInfo.ApiName; |
| | | if (WCSReceiveTaskAPI == null) |
| | | { |
| | | return webResponse.Error($"åºåºå¤±è´¥ï¼æªé
ç½®MESç§»åºå®æå馿¥å£"); |
| | | return webResponse.Error($"åºåºå¤±è´¥ï¼æªé
ç½®MESç§»åºå®æå馿¥å£"); |
| | | } |
| | | var respon = HttpHelper.Post(WCSReceiveTaskAPI, JsonConvert.SerializeObject(transferRequest)); |
| | | if (respon != null) |
| | | { |
| | | var response = JsonConvert.DeserializeObject<ApiResponse<object>>(respon); |
| | | if (response.Success) |
| | | { |
| | | return webResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | return webResponse.Error($"è°åæ¥å£å¤±è´¥ï¼åé¦åæ°åå ï¼{response.Message}"); |
| | | } |
| | | var response = JsonConvert.DeserializeObject<ApiResponse<object>>(respon); |
| | | if (response.Success) |
| | | { |
| | | return webResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | return webResponse.Error($"è°åæ¥å£å¤±è´¥ï¼åé¦åæ°åå ï¼{response.Message}"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return webResponse.Error($"è°åæ¥å£å¤±è´¥ï¼åé¦åæ°ä¸ºç©º"); |
| | | return webResponse.Error($"è°åæ¥å£å¤±è´¥ï¼åé¦åæ°ä¸ºç©º"); |
| | | } |
| | | |
| | | return webResponse.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | try |
| | | { |
| | | TaskNotification transferRequest = new TaskNotification() |
| | | string locationCode = null; |
| | | if (dt_Task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | //ä¸å¡idï¼ä»»å¡idåç»è¿è¡æ´æ¹ |
| | | TaskId = "1", //ä»»å¡id |
| | | BusinessId = "1", //ä¸å¡id |
| | | PalletCode = dt_Task.PalletCode, |
| | | SubPalletCode = "",//åæçç¼ç |
| | | LocationCode = dt_Task.SourceAddress, |
| | | ErrorStatus = "NORMAL", |
| | | ErrorInfo = "", |
| | | }; |
| | | locationCode = dt_Task.SourceAddress; |
| | | } |
| | | else |
| | | { |
| | | locationCode = dt_Task.TargetAddress; |
| | | } |
| | | TaskNotification transferRequest = new TaskNotification() |
| | | { |
| | | //ä¸å¡idï¼ä»»å¡idåç»è¿è¡æ´æ¹ |
| | | taskId = dt_Task.MEStaskId, //ä»»å¡id |
| | | businessId = dt_Task.MESbusinessId, //ä¸å¡id |
| | | palletCode = dt_Task.PalletCode, |
| | | subPalletCode = dt_Task.MESsubPalletCode,//åæçç¼ç |
| | | locationCode = locationCode, |
| | | errorStatus = "NORMAL", |
| | | errorInfo = "", |
| | | }; |
| | | |
| | | //è·åæ¥å£è¿è¡è°å |
| | | var ConfigsAPIInfo = _dt_ApiInfoService.GetConfigsByAPIInfo(CateGoryConst.CONFIG_MES_IPAddress, SysConfigConst.MESTaskFeedback); //è·åå°wcså
¨é¨ç±»åçæ¥å£ |
| | |
| | | { |
| | | return webResponse.Error($"ä»»å¡åé¦MESå¤±è´¥ï¼æªé
ç½®MESä»»å¡å®æå馿¥å£"); |
| | | } |
| | | var respon = HttpHelper.Post(WCSReceiveTaskAPI, JsonConvert.SerializeObject(transferRequest)); |
| | | |
| | | // æ·»å è°è¯ä¿¡æ¯ |
| | | string requestJson = JsonConvert.SerializeObject(transferRequest); |
| | | //Console.WriteLine($"MESå馿¥å£URL: {WCSReceiveTaskAPI}"); |
| | | //Console.WriteLine($"MESåé¦è¯·æ±æ°æ®: {requestJson}"); |
| | | |
| | | // 使ç¨ä¿®å¤åçPostSyncæ¹æ³ï¼å·²å¨PostSyncä¸è®¾ç½®é»è®¤è¯·æ±å¤´ï¼ |
| | | var respon = HttpHelper.Post(WCSReceiveTaskAPI, requestJson); |
| | | if (respon != null) |
| | | { |
| | | var response = JsonConvert.DeserializeObject<ApiResponse<object>>(respon); |
| | |
| | | } |
| | | } |
| | | |
| | | public ApiResponse<object> MESresponse(string Message, bool Success) |
| | | public ApiResponse<object> MESresponse(string Message, bool Success,int Code) |
| | | { |
| | | ApiResponse<object> apiResponse = new ApiResponse<object>(); |
| | | apiResponse.Message = Message; |
| | |
| | | return apiResponse; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 忶任塿¥å£ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | /// <returns></returns> |
| | | public WebResponseContent Cancelinventory(int taskNum) |
| | | { |
| | | WebResponseContent webResponse = new WebResponseContent(); |
| | | try |
| | | { |
| | | // æ¥æ¾ä»»å¡ |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.TaskStatus == TaskOutStatusEnum.OutFinish.ObjToInt()); |
| | | if (task == null) |
| | | { |
| | | return webResponse.Error($"æªæ¾å°ä»»å¡å·ä¸ºã{taskNum}ãçä»»å¡ä¿¡æ¯"); |
| | | } |
| | | |
| | | |
| | | // TODO: è¿éåç»éè¦æ·»å å
·ä½çåæ¶ä»»å¡ä¸å¡é»è¾ |
| | | // ä¾å¦ï¼æ´æ°ä»»å¡ç¶æãéæ¾è´§ä½ãéç¥WCSç |
| | | |
| | | return webResponse.OK("ä»»å¡åæ¶æå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return webResponse.Error($"åæ¶ä»»å¡å¤±è´¥ï¼åå ï¼{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå»ºè´§ä½ |
| | |
| | | } |
| | | return MESresponse($"", true); |
| | | } |
| | | |
| | | |
| | | public static string GetLastPart(string locationCode) |
| | | { |
| | | string[] parts = locationCode.Split('-'); |
| | | return parts[parts.Length - 1]; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåº |
| | | /// </summary> |
| | | /// <param name="locationCode"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent chuku(string locationCode) |
| | | { |
| | | |
| | | try |
| | | { |
| | | int result = GetLastPart(locationCode).ObjToInt(); // è¿å "C03" |
| | | List<Dt_Task> dt_s = new List<Dt_Task>(); |
| | | //çæç§»å¨ä»»å¡ |
| | | Dt_Task dt_Task = new() |
| | | { |
| | | PalletCode = "1111", |
| | | TaskNum = 111, |
| | | Roadway = "SC01", |
| | | TaskType = TaskOutboundTypeEnum.Outbound.ObjToInt(), |
| | | TaskStatus = TaskOutStatusEnum.OutNew.ObjToInt(), |
| | | SourceAddress = locationCode, |
| | | TargetAddress = "1002", |
| | | CurrentAddress = locationCode, |
| | | NextAddress = "1002", |
| | | Grade = 1, |
| | | Creater = "MES", |
| | | Depth = result, |
| | | CreateDate = DateTime.Now, |
| | | MEStaskId = "111", |
| | | MESbusinessId = "123456", |
| | | MESsubPalletCode = "", |
| | | OutboundPlatform = "1001" |
| | | }; |
| | | |
| | | //å建ç»çä¿¡æ¯ |
| | | var dt_Stock = new Dt_StockInfo |
| | | { |
| | | PalletCode = dt_Task.PalletCode, |
| | | PalletType = 1, |
| | | LocationCode = locationCode, |
| | | StockStatus = 6, |
| | | Creater = "WMS", |
| | | CreateDate = DateTime.Now, |
| | | MESsubPalletCode = dt_Task.MESsubPalletCode, |
| | | }; |
| | | |
| | | Dt_LocationInfo dt_LocationInfo = _locationInfoRepository.QueryFirst(x => x.LocationCode == locationCode); |
| | | dt_LocationInfo.LocationStatus = (int)LocationStatusEnum.InStockLock; |
| | | |
| | | bool l = _locationInfoRepository.UpdateData(dt_LocationInfo); |
| | | int s = _stockRepository.AddData(dt_Stock); |
| | | int t = BaseDal.AddData(dt_Task); |
| | | bool ss = s.ObjToBool(); |
| | | bool tt = t.ObjToBool(); |
| | | |
| | | |
| | | if (!l && !ss && tt) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | } |
| | | |
| | | dt_s.Add(dt_Task); |
| | | var respon = PushTasksToWCS(dt_s, ""); |
| | | if (respon.Status) |
| | | { |
| | | _unitOfWorkManage.CommitTran(); //æäº¤äºå¡ |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | return WebResponseContent.Instance.Error(); |
| | | } |
| | | catch |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return WebResponseContent.Instance.Error(); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |