| | |
| | | { |
| | | return WebResponseContent.Instance.Error("æªæ¾å°ä»»å¡ä¿¡æ¯"); |
| | | } |
| | | if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) |
| | | if (task.TaskStatus == 100 || task.TaskStatus == 200)//å¦ææ¯æ°å»ºä»»å¡ç¶ææ¹ä¸ºæ§è¡ä¸ |
| | | { |
| | | task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt(); |
| | | } |
| | | else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt()) |
| | | { |
| | | task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt(); |
| | | } |
| | | else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) |
| | | { |
| | | task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); |
| | | if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) |
| | | { |
| | | task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt(); |
| | | } |
| | | else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletReturnInbound.ObjToInt()) |
| | | { |
| | | task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt(); |
| | | } |
| | | //else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) |
| | | //{ |
| | | // task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); |
| | | //} |
| | | else |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) |
| | | { |
| | | task.TaskStatus = OutTaskStatusEnum.SC_OutFinish.ObjToInt(); |
| | | } |
| | | else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletReturnInbound.ObjToInt()) |
| | | { |
| | | task.TaskStatus = InTaskStatusEnum.SC_InFinish.ObjToInt(); |
| | | } |
| | | //else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) |
| | | //{ |
| | | // task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); |
| | | //} |
| | | else |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | |
| | | } |
| | | _unitOfWorkManage.BeginTran(); |
| | | task.Dispatchertime = DateTime.Now; |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 空æçå
¥åºå®æå¤ç |
| | | /// </summary> |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 使éåºå®æå¤ç |
| | | /// </summary> |
| | | /// <param name="task">ä»»å¡å®ä½å¯¹è±¡</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | public WebResponseContent PalletReturnInboundTaskCompleted(Dt_Task task) |
| | | { |
| | | try |
| | | { |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | decimal beforeQuantity = 0; |
| | | Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); |
| | | Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); |
| | | CheckCompleted(stockInfo, locationInfo); |
| | | |
| | | stockInfo.LocationCode = locationInfo.LocationCode; |
| | | stockInfo.StockStatus = StockStatusEmun.å·²å
¥åº.ObjToInt(); |
| | | _stockService.StockInfoService.Repository.UpdateData(stockInfo); |
| | | |
| | | beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); |
| | | |
| | | int beforeStatus = locationInfo.LocationStatus; |
| | | locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); |
| | | |
| | | _basicService.LocationInfoService.Repository.UpdateData(locationInfo); |
| | | task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); |
| | | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.èªå¨å®æ : OperateType.äººå·¥å®æ); |
| | | |
| | | _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); |
| | | _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum); |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | |
| | | //使å
¥åºå®æåï¼éè¦å°ç»çä¿¡æ¯è°ç¨ä¸æ¸¸WMSåæä¸æ¶ç»ææ¥å£ |
| | | #region åä¼ é»è¾å¤ç |
| | | //try |
| | | //{ |
| | | // PutAwayRequest request = new PutAwayRequest(); |
| | | // List<PutAway> itemData = new List<PutAway>(); |
| | | // request.ITEMDATA = itemData; |
| | | // request.WERKS = AppSettings.Configuration["WERKS"]; |
| | | // request.WH_NUMBER = AppSettings.Configuration["WERKS"]; |
| | | // request.IZLID = request.WERKS + request.WH_NUMBER + DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString(); |
| | | // request.CREATE_DATE = task.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | // request.PSTNG_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | // request.INBOUND_NO = "";//todo:åå·è¦ä»æ¡ç ä¸»æ°æ®ä¸è·åï¼ä¸ç¶åä¼ ä¼æç¤ºï¼è¯¥æ¡ç æ è¿ä»åæ°æ®ï¼ |
| | | // request.RECEIPT_NO = "";//todo:åå·è¦ä»æ¡ç ä¸»æ°æ®ä¸ï¼ä¸ç¶åä¼ ä¼æç¤ºï¼è¯¥æ¡ç æ è¿ä»åæ°æ®ï¼ |
| | | // Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); |
| | | // foreach (Dt_StockInfoDetail detail in stockInfo.Details) |
| | | // { |
| | | // Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); |
| | | // if (labMaster != null) |
| | | // { |
| | | // if (request.INBOUND_NO == "") |
| | | // { |
| | | // request.INBOUND_NO = labMaster.INBOUND_NO; |
| | | // } |
| | | // if (request.RECEIPT_NO == "") |
| | | // { |
| | | // request.RECEIPT_NO = labMaster.RECEIPT_NO; |
| | | // } |
| | | // PutAway putAway = new PutAway(); |
| | | // putAway.MATNR = labMaster.MATNR; |
| | | // putAway.BATCH = labMaster.BATCH; |
| | | // putAway.LIFNR = labMaster.LIFNR; |
| | | // putAway.LIKTX = labMaster.LIKTX; |
| | | // putAway.RECEIPT_QTY = labMaster.BOX_QTY; |
| | | // putAway.UNIT = labMaster.UNIT; |
| | | // putAway.LABEL_NO = labMaster.LABEL_NO; |
| | | // putAway.PACK_LABEL_NO = labMaster.Pack_LABEL_No; |
| | | // putAway.PALLET_LABEL_NO = labMaster.Pallet_label_no; |
| | | // putAway.TPNUM = task.PalletCode; |
| | | // putAway.FLAG = "0"; |
| | | // putAway.TKTXT = ""; |
| | | // putAway.PO_NO = labMaster.PO_NO; |
| | | // putAway.PO_ITEM_NO = labMaster.PO_ITEM_NO; |
| | | // putAway.SOBKZ = labMaster.SOBKZ; |
| | | // putAway.RECEIPT_ITEM_NO = labMaster.RECEIPT_ITEM_NO; |
| | | // putAway.INBOUND_NO = task.TaskNum.ToString(); |
| | | // //LABEL _STATUS æ¡ç ç¶æ 02å·²æ¶æ(æ éè´¨æ£)03 å¾
è¿ä»(已质æ£)ï¼å¹¶ä¸ï¼QC RESULT CODEè´¨æ£ç¶æä¸ºâ02â æå
è®¡ä¸æ¶ |
| | | // if (labMaster.QC_RESULT_CODE == "02" && (labMaster.LABEL_STATUS == "02" || labMaster.LABEL_STATUS == "03")) |
| | | // { |
| | | // itemData.Add(putAway); |
| | | // } |
| | | |
| | | // } |
| | | // } |
| | | // if (itemData.Count > 0) |
| | | // { |
| | | // _sys_JobService.CallPutAway(request); |
| | | // } |
| | | //} |
| | | //catch (Exception ex) |
| | | //{ |
| | | // return WebResponseContent.Instance.Error(ex.Message); |
| | | //} |
| | | #endregion |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// éªè¯æ°æ® |
| | | /// </summary> |