| | |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using SqlSugar; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.LocationEnum; |
| | | using WIDESEAWCS_Common.StockEnum; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | |
| | | private readonly IRepository<dt_batchInfo> _batchinfoRepository; |
| | | private readonly IRepository<Dt_Task_hty> _taskhtyRepository; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IRepository<dt_errorInfo> _errorinfoRepository; |
| | | private readonly IRepository<dt_errormsgInfo> _errorinfoRepository; |
| | | private readonly Idt_ErrormsginfoService _ErrormsginfoService; |
| | | private readonly IMapper _mapper; |
| | | private readonly IRepository<dt_stationInfo> _dt_stationInfoRepository; |
| | | private readonly IRepository<Dt_Task> _dt_taskRepositiry; |
| | | private readonly IRepository<Dt_LocationInfo> _LocationInfoRepository; |
| | | private readonly IRepository<Dt_StockInfo> _StockInfoRepository; |
| | | private readonly IRepository<dt_batchInfo> _batchInfoRepository; |
| | | private readonly IRepository<dt_outstockinfo> _outStockRepository; |
| | | |
| | | private Dictionary<string, OrderByType> _taskOrderBy = new() |
| | | { |
| | |
| | | |
| | | //SBText ITaskService.text { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } |
| | | |
| | | public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, |
| | | ITaskExecuteDetailService taskExecuteDetailService, |
| | | public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, |
| | | ITaskExecuteDetailService taskExecuteDetailService, |
| | | IRepository<Dt_TaskExecuteDetail> taskExecuteDetailRepository, |
| | | IRepository<Dt_StockInfo> stockRepository, |
| | | IRepository<Dt_LocationInfo> locationRepository, |
| | | IRepository<dt_batchInfo> batchRepository, |
| | | IRepository<Dt_Task_hty> taskhtyRepository, |
| | | IRepository<dt_errorInfo> errorinfoRepository, |
| | | IRepository<dt_errormsgInfo> errorinfoRepository, |
| | | IRepository<dt_stationInfo> dt_stationInfoRepository, |
| | | IRepository<Dt_Task> dt_taskRepositiry, |
| | | Idt_ErrormsginfoService errormsginfoService, |
| | | IUnitOfWorkManage unitOfWorkManage, |
| | | IRepository<Dt_StockInfo> StockInfoRepository, |
| | | IRepository<dt_batchInfo> batchInfoRepository, |
| | | IRepository<Dt_LocationInfo> LocationInfoRepository, |
| | | IRepository<dt_outstockinfo> outStockRepository, |
| | | IMapper mapper) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | |
| | | _errorinfoRepository = errorinfoRepository; |
| | | _ErrormsginfoService = errormsginfoService; |
| | | _mapper = mapper; |
| | | _dt_stationInfoRepository = dt_stationInfoRepository; |
| | | _dt_taskRepositiry = dt_taskRepositiry; |
| | | _StockInfoRepository = StockInfoRepository; |
| | | _LocationInfoRepository = LocationInfoRepository; |
| | | _batchInfoRepository = batchInfoRepository; |
| | | _outStockRepository = outStockRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®ä»»å¡ç¶ææ¥è¯¢ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="deviceNo">设å¤ç¼å·</param> |
| | | /// <param name="currentAddress">å½åå°å</param> |
| | | /// <returns></returns> |
| | | public Dt_Task QueryTaskState() |
| | | { |
| | | return BaseDal.QueryFirst(x => x.TaskState == (int)TaskInStatusEnum.InNew); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®è®¾å¤ç¼å·ãå½åå°åæ¥è¯¢è¾éçº¿æªæ§è¡çä»»å¡ |
| | | /// </summary> |
| | | /// <param name="deviceNo">设å¤ç¼å·</param> |
| | |
| | | //ä¼å
è¿åæ§è¡å°ä¸åçä»»å¡ç»§ç»æ§è¡ |
| | | return task; |
| | | } |
| | | //æ¥è¯¢å½å任塿± 䏿¯å¦åå¨ç¶æä¸ºéæ°å»ºç |
| | | task= BaseDal.QueryFirst(v => v.TaskState != (int)TaskInStatusEnum.InNew || v.TaskState != (int)TaskOutStatusEnum.OutNew); |
| | | if (task != null) |
| | | else |
| | | { |
| | | throw new Exception($"å½å任塿± ä¸å卿§è¡ä¸çä»»å¡,ä»»å¡å·:ã{task.TaskNum}ã"); |
| | | //æ¥è¯¢å¤©è½¦ç§»å¨ä»»å¡ |
| | | task = BaseDal.QueryFirst(v => v.TaskType == (int)TaskMoveEnum.Mowe && v.TaskState == (int)TaskMoveStatusEnum.OutNewMove); |
| | | if (task != null) |
| | | { |
| | | return task; |
| | | } |
| | | } |
| | | //æ¥è¯¢å½å任塿± 䏿¯å¦åå¨ç¶æä¸ºéæ°å»ºç |
| | | //task= BaseDal.QueryFirst(v => v.TaskState != (int)TaskInStatusEnum.InNew || v.TaskState != (int)TaskOutStatusEnum.OutNew); |
| | | //if (task != null) |
| | | //{ |
| | | // throw new Exception($"å½å任塿± ä¸å卿§è¡ä¸çä»»å¡,ä»»å¡å·:ã{task.TaskNum}ã"); |
| | | //} |
| | | //if (task != null) |
| | | //{ |
| | | // if (task.TaskState != (int)TaskMoveStatusEnum.OutNewMove) |
| | | // { |
| | | |
| | | // } |
| | | //} |
| | | if (workTpe.Equals("In")) |
| | | { |
| | | task = BaseDal.QueryData(v=>v.TaskType==(int)TaskInboundTypeEnum.Inbound && v.TaskState==(int)TaskInStatusEnum.InNew).OrderBy(v=>v.CreateDate).First(); |
| | | //OrderBy(ååºæåº) |
| | | task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).First(); |
| | | } |
| | | else if (workTpe.Equals("Out")) |
| | | { |
| | | task = BaseDal.QueryData(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderBy(v => v.CreateDate).First(); |
| | | task = BaseDal.QueryData(v => (v.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || v.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu || v.TaskType == (int)TaskOutboundTypeEnum.Outbound || v.TaskType == (int)TaskOutboundTypeEnum.OutInventory) && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderByDescending(v => v.Grade).First(); |
| | | } |
| | | |
| | | } |
| | | catch (Exception) |
| | | { |
| | |
| | | |
| | | } |
| | | return task; |
| | | } |
| | | |
| | | public Dt_Task QueryTasking() |
| | | { |
| | | Dt_Task task = new Dt_Task(); |
| | | task = BaseDal.QueryFirst(v => v.TaskState != (int)TaskInStatusEnum.InNew |
| | | && v.TaskState != (int)TaskMoveStatusEnum.OutNewMove |
| | | && v.TaskState != (int)TaskOutStatusEnum.OutNew |
| | | && v.TaskState != (int)TaskOutStatusEnum.SC_OutExecuting |
| | | && v.TaskState != (int)TaskInStatusEnum.Line_Ingrab); |
| | | if (task != null) |
| | | { |
| | | return task; |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns>è¿åä»»å¡å®ä½å¯¹è±¡ï¼å¯è½ä¸ºnull</returns> |
| | | public Dt_Task QueryTakNnmTask(int taskNum) |
| | | { |
| | | return BaseDal.QueryFirst(v=>v.TaskNum== taskNum); |
| | | return BaseDal.QueryFirst(v => v.TaskId == taskNum); |
| | | } |
| | | /// <summary> |
| | | /// ä¿®æ¹å¤©è½¦ä»»å¡ç¶æï¼å°å
¥åºåè´§æ§è¡ä¸ä¿®æ¹ä¸ºå
¥åºåè´§å®æ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent UpdateTaskStatusToLine_Ingrab(Dt_Task task) |
| | | public WebResponseContent UpdateTaskStatusToLine_Ingrab(Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | UpdateTaskExceptionMessage(task.TaskNum, ex.Message); |
| | | UpdateTaskExceptionMessage(task.TaskId, ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | UpdateTaskExceptionMessage(task.TaskNum, ex.Message); |
| | | UpdateTaskExceptionMessage(task.TaskId, ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskNum); |
| | | if (task == null) return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯,ä»»å¡å·:ã{taskNum}ã"); |
| | | //if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | //{ |
| | |
| | | { |
| | | try |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (status == 2 && task.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskNum); |
| | | if (status == 2 && (task.TaskType == (int)TaskInboundTypeEnum.Inbound || task.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu)) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.Line_InGrabExecuting; |
| | | } |
| | | else if (status == 2 && task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | else if (status == 2 && (task.TaskType == (int)TaskOutboundTypeEnum.Outbound || task.TaskType == (int)TaskOutboundTypeEnum.OutInventory || task.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || task.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.Line_OutGrabExecuting; |
| | | } |
| | | if (status == 3 && task.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | else if (status == 3 && (task.TaskType == (int)TaskInboundTypeEnum.Inbound || task.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu)) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.Line_InDownExecuting; |
| | | } |
| | | else if (status == 3 && task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | else if (status == 3 && (task.TaskType == (int)TaskOutboundTypeEnum.Outbound || task.TaskType == (int)TaskOutboundTypeEnum.OutInventory || task.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || task.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.Line_OutWownExecuting; |
| | | } |
| | | else if (status == 4 && task.TaskType == (int)TaskMoveEnum.Mowe) |
| | | { |
| | | task.TaskState = (int)TaskMoveStatusEnum.Line_OutMove; |
| | | } |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _ErrormsginfoService.UpdateErrorMsg(ex.Message,1); |
| | | UpdateTaskExceptionMessage(taskNum, ex.Message); |
| | | } |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡ç¼å·</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | public WebResponseContent StackCraneTaskCompleted(int taskNum,float weight) |
| | | public WebResponseContent StackCraneTaskCompleted(int taskNum, float weight) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var nawtask = BaseDal.QueryFirst(v=>v.TaskNum== taskNum); |
| | | var nawtask = BaseDal.QueryFirst(v => v.TaskId == taskNum); |
| | | if (nawtask == null) |
| | | { |
| | | throw new Exception(string.Format("天车æ¾è´§å®æä»»å¡æªæ¥è¯¢å°ä»»å¡å·{0}", taskNum)); |
| | | } |
| | | if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | |
| | | if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound || nawtask.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu) |
| | | { |
| | | var batck = _batchinfoRepository.QueryFirst(v=>v.Id==1); |
| | | //æ°å»ºåºå |
| | | Dt_StockInfo stock = new Dt_StockInfo(); |
| | | stock.LocationCode = nawtask.TargetAddress; |
| | | stock.Weight = (decimal)weight; |
| | | stock.StockStatus = (int)stockEnum.Lock; |
| | | stock.BatchNo = batck.Batch; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v=>v.LocationCode==nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "å餿¶"); |
| | | string sourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (nawtask.SourceAddress.Equals(sourceAddress)) |
| | | { |
| | | var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1); |
| | | //æ°å»ºåºå |
| | | Dt_StockInfo stock = new Dt_StockInfo(); |
| | | stock.LocationCode = nawtask.TargetAddress; |
| | | stock.Weight = (decimal)weight; |
| | | stock.StockStatus = (int)stockEnum.Free; |
| | | stock.BatchNo = batck.InBatch; |
| | | stock.Remark = 3; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //å¤çä»»å¡ä¿¡æ¯ |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.AddData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | else |
| | | { |
| | | var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1); |
| | | //æ°å»ºåºå |
| | | Dt_StockInfo stock = new Dt_StockInfo(); |
| | | stock.LocationCode = nawtask.TargetAddress; |
| | | stock.Weight = (decimal)weight; |
| | | stock.StockStatus = (int)stockEnum.Free; |
| | | stock.BatchNo = batck.InBatch; |
| | | if (nawtask.Remark == (int)MateTypeEnum.ZiChan) |
| | | { |
| | | stock.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else |
| | | { |
| | | stock.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | Dt_StockInfo stockTow = new Dt_StockInfo(); |
| | | stockTow.LocationCode = nawtask.NextAddress; |
| | | stockTow.Weight = (decimal)weight; |
| | | stockTow.StockStatus = (int)stockEnum.Free; |
| | | stockTow.BatchNo = batck.InBatch; |
| | | if (nawtask.Remark == (int)MateTypeEnum.ZiChan) |
| | | { |
| | | stockTow.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else |
| | | { |
| | | stockTow.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | locationtow.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //å¤çä»»å¡ä¿¡æ¯ |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.AddData(stock); |
| | | _stockRepository.AddData(stockTow); |
| | | _locationRepository.UpdateData(location); |
| | | _locationRepository.UpdateData(locationtow); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | } |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound || nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu) |
| | | { |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | string targetAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (nawtask.TargetAddress.Equals(targetAddress)) |
| | | { |
| | | //æ¥æ¾åºå |
| | | var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | if (stock == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåä¿¡æ¯è´§ä½å·:ã{nawtask.TargetAddress}ã"); |
| | | } |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //åå¤åå²ä»»å¡æ°æ® |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | |
| | | //妿æ¾è´§ä½ç½®è¡æ¯40ï¼åç«é©¬çæä¸æ¡ç§»å¨ä»»å¡ |
| | | //å¼å§åå»ºä»»å¡ |
| | | Dt_Task Movstask = new Dt_Task(); |
| | | Movstask.Roadway = "TC01"; |
| | | Movstask.TaskType = (int)TaskMoveEnum.Mowe; |
| | | Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove; |
| | | Movstask.SourceAddress = "0"; |
| | | Movstask.TargetAddress = "8-5-1"; |
| | | Movstask.NextAddress = "text"; |
| | | Movstask.Grade = 1; |
| | | Movstask.WMSId = 3; |
| | | Movstask.Remark = 0; |
| | | Movstask.PalletCode = "text"; |
| | | Movstask.CurrentAddress = "text"; |
| | | |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | BaseDal.AddData(Movstask); |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.DeleteData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | else |
| | | { |
| | | //æ¥æ¾åºå |
| | | var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | if (stock == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåä¿¡æ¯è´§ä½å·:ã{nawtask.TargetAddress}ã"); |
| | | } |
| | | var Towstock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var locationTow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | locationTow.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //åå¤åå²ä»»å¡æ°æ® |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | //妿æ¾è´§ä½ç½®è¡æ¯40ï¼åç«é©¬çæä¸æ¡ç§»å¨ä»»å¡ |
| | | //å¼å§åå»ºä»»å¡ |
| | | Dt_Task Movstask = new Dt_Task(); |
| | | Movstask.Roadway = "TC01"; |
| | | Movstask.TaskType = (int)TaskMoveEnum.Mowe; |
| | | Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove; |
| | | Movstask.SourceAddress = "0"; |
| | | Movstask.TargetAddress = "8-5-1"; |
| | | Movstask.NextAddress = "text"; |
| | | Movstask.Grade = 1; |
| | | Movstask.WMSId = 3; |
| | | Movstask.Remark = 0; |
| | | Movstask.PalletCode = "text"; |
| | | Movstask.CurrentAddress = "text"; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | BaseDal.AddData(Movstask); |
| | | _stockRepository.DeleteData(stock); |
| | | _stockRepository.DeleteData(Towstock); |
| | | _locationRepository.UpdateData(location); |
| | | _locationRepository.UpdateData(locationTow); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | } |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory || nawtask.TaskType == (int)TaskMoveEnum.Mowe || nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu) |
| | | { |
| | | //å¤çä»»å¡ä¿¡æ¯ |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.AddData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | //æ¥æ¾åºå |
| | | var stock = _stockRepository.QueryFirst(v=>v.LocationCode== nawtask.TargetAddress); |
| | | if (stock == null) |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory || nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåä¿¡æ¯è´§ä½å·:ã{nawtask.TargetAddress}ã"); |
| | | //å¼å§åå»ºä»»å¡ |
| | | Dt_Task Movstask = new Dt_Task(); |
| | | Movstask.Roadway = "TC01"; |
| | | Movstask.TaskType = (int)TaskMoveEnum.Mowe; |
| | | Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove; |
| | | Movstask.SourceAddress = "0"; |
| | | Movstask.TargetAddress = "8-5-1"; |
| | | Movstask.NextAddress = "text"; |
| | | Movstask.Grade = 1; |
| | | Movstask.WMSId = 3; |
| | | Movstask.Remark = 0; |
| | | Movstask.PalletCode = "text"; |
| | | Movstask.CurrentAddress = "text"; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | BaseDal.AddData(Movstask); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //åå¤åå²ä»»å¡æ°æ® |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.DeleteData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | else |
| | | { |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | } |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | //åæ»äºå¡ |
| | | _unitOfWorkManage.RollbackTran(); |
| | | content = WebResponseContent.Instance.Error($"ä»»å¡å®æå¼å¸¸,ä»»å¡å·:ã{taskNum}ã"); |
| | | UpdateTaskExceptionMessage(taskNum,ex.Message); |
| | | UpdateTaskExceptionMessage(taskNum, ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public WebResponseContent AtOnceUpdate(int taskid) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | Dt_Task nawtask = BaseDal.QueryFirst(v => v.TaskId == taskid); |
| | | //å
¥åº |
| | | if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound || nawtask.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu) |
| | | { |
| | | //åé¤å
¥åº |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "å餿¶"); |
| | | string sourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (nawtask.SourceAddress.Equals(sourceAddress)) |
| | | { |
| | | var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1); |
| | | //æ°å»ºåºå |
| | | Dt_StockInfo stock = new Dt_StockInfo(); |
| | | stock.LocationCode = nawtask.TargetAddress; |
| | | stock.StockStatus = (int)stockEnum.Free; |
| | | stock.BatchNo = batck.InBatch; |
| | | stock.Remark = (int)MateTypeEnum.TiChu; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //å¤çä»»å¡ä¿¡æ¯ |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.AddData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | //æ£å¸¸å
¥åº |
| | | else |
| | | { |
| | | var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1); |
| | | //æ°å»ºåºå |
| | | Dt_StockInfo stock = new Dt_StockInfo(); |
| | | stock.LocationCode = nawtask.TargetAddress; |
| | | stock.StockStatus = (int)stockEnum.Free; |
| | | stock.BatchNo = batck.InBatch; |
| | | if (nawtask.Remark == (int)MateTypeEnum.ZiChan) |
| | | { |
| | | stock.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else |
| | | { |
| | | stock.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | Dt_StockInfo stockTow = new Dt_StockInfo(); |
| | | stockTow.LocationCode = nawtask.NextAddress; |
| | | stockTow.StockStatus = (int)stockEnum.Free; |
| | | stockTow.BatchNo = batck.InBatch; |
| | | if (nawtask.Remark == (int)MateTypeEnum.ZiChan) |
| | | { |
| | | stockTow.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else |
| | | { |
| | | stockTow.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | locationtow.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //å¤çä»»å¡ä¿¡æ¯ |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.AddData(stock); |
| | | _stockRepository.AddData(stockTow); |
| | | _locationRepository.UpdateData(location); |
| | | _locationRepository.UpdateData(locationtow); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | } |
| | | //åºåº |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound || nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu) |
| | | { |
| | | //åé¤åºåº |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | string targetAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (nawtask.TargetAddress.Equals(targetAddress)) |
| | | { |
| | | //æ¥æ¾åºå |
| | | var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | if (stock == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåä¿¡æ¯è´§ä½å·:ã{nawtask.TargetAddress}ã"); |
| | | } |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //åå¤åå²ä»»å¡æ°æ® |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.DeleteData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | //æ£å¸¸åºåº |
| | | else |
| | | { |
| | | //æ¥æ¾åºå |
| | | var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | if (stock == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°åºåä¿¡æ¯è´§ä½å·:ã{nawtask.TargetAddress}ã"); |
| | | } |
| | | var Towstock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //ä¿®æ¹è´§ä½ç¶æ |
| | | var locationTow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); |
| | | if (locationTow!=null) |
| | | { |
| | | locationTow.LocationStatus = (int)LocationStatusEnum.Free; |
| | | } |
| | | //åå¤åå²ä»»å¡æ°æ® |
| | | Dt_Task_hty taskhty = new Dt_Task_hty(); |
| | | taskhty.TaskNum = nawtask.TaskNum; |
| | | taskhty.Roadway = nawtask.Roadway; |
| | | taskhty.TaskType = nawtask.TaskType; |
| | | taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | taskhty.SourceAddress = nawtask.SourceAddress; |
| | | taskhty.TargetAddress = nawtask.TargetAddress; |
| | | taskhty.ExceptionMessage = nawtask.ExceptionMessage; |
| | | taskhty.Grade = nawtask.Grade; |
| | | taskhty.Dispatchertime = nawtask.Dispatchertime; |
| | | taskhty.Remark = nawtask.Remark; |
| | | taskhty.PalletCode = nawtask.PalletCode; |
| | | taskhty.NextAddress = nawtask.NextAddress; |
| | | taskhty.CurrentAddress = nawtask.CurrentAddress; |
| | | //å¼å§æ°æ®åºäºå¡ |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.DeleteData(stock); |
| | | _locationRepository.UpdateData(location); |
| | | if (locationTow != null) |
| | | { |
| | | _locationRepository.UpdateData(locationTow); |
| | | _stockRepository.DeleteData(Towstock); |
| | | } |
| | | _taskhtyRepository.AddData(taskhty); |
| | | BaseDal.DeleteData(nawtask); |
| | | //æäº¤äºå¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | | } |
| | | return content.OK("宿"); |
| | | } |
| | | |
| | | public WebResponseContent speciadelete(Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | if (task.TaskState == (int)TaskMoveStatusEnum.OutNewMove) |
| | | { |
| | | BaseDal.DeleteData(task); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.InNew) |
| | | { |
| | | //åé¤å
¥åº |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "å餿¶"); |
| | | string sourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (task.SourceAddress.Equals(sourceAddress)) |
| | | { |
| | | Dt_LocationInfo locationinfo = _locationRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); |
| | | locationinfo.LocationStatus = 0; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _locationRepository.UpdateData(locationinfo); |
| | | BaseDal.DeleteData(task); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("2"); |
| | | } |
| | | else |
| | | { |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == task.TargetAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.Free; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == task.NextAddress); |
| | | locationtow.LocationStatus = (int)LocationStatusEnum.Free; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _locationRepository.UpdateData(location); |
| | | _locationRepository.UpdateData(locationtow); |
| | | BaseDal.DeleteData(task); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("3"); |
| | | } |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.OutNew) |
| | | { |
| | | //åé¤åºåº |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | string targetAddress = station.Row + "-" + station.Column + "-1"; |
| | | if (task.TargetAddress.Equals(targetAddress)) |
| | | { |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == task.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | Dt_StockInfo stockInfo = _stockRepository.QueryFirst(v => v.LocationCode == task.SourceAddress); |
| | | stockInfo.StockStatus = (int)stockEnum.Free; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _locationRepository.UpdateData(location); |
| | | _stockRepository.UpdateData(stockInfo); |
| | | BaseDal.DeleteData(task); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("4"); |
| | | } |
| | | else |
| | | { |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var location = _locationRepository.QueryFirst(v => v.LocationCode == task.SourceAddress); |
| | | location.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | //ä¿®æ¹è´§ä½ä¿¡æ¯ |
| | | var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == task.NextAddress); |
| | | Dt_StockInfo stockInfos = _stockRepository.QueryFirst(v => v.LocationCode == task.NextAddress); |
| | | |
| | | if (locationtow != null) |
| | | { |
| | | locationtow.LocationStatus = (int)LocationStatusEnum.InStock; |
| | | stockInfos.StockStatus = (int)stockEnum.Free; |
| | | } |
| | | Dt_StockInfo stockInfo = _stockRepository.QueryFirst(v => v.LocationCode == task.SourceAddress); |
| | | stockInfo.StockStatus = (int)stockEnum.Free; |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | _locationRepository.UpdateData(location); |
| | | if (locationtow != null) |
| | | { |
| | | _locationRepository.UpdateData(locationtow); |
| | | _stockRepository.UpdateData(stockInfos); |
| | | } |
| | | _stockRepository.UpdateData(stockInfo); |
| | | BaseDal.DeleteData(task); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("5"); |
| | | } |
| | | } |
| | | return content.OK("1"); |
| | | } |
| | | |
| | | public WebResponseContent speciaupdate(Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | if (task.TaskState == (int)TaskInStatusEnum.InNew) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.Line_Ingrab; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.Line_Ingrab) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.OutNew) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else |
| | | { |
| | | return content.OK("ç¶æä¸å
许"); |
| | | } |
| | | return content.OK("1"); |
| | | } |
| | | |
| | | public WebResponseContent banzidong(string wei, string weis) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | //if (!OHTJob.oHTReadData.R_ZXJ_isWork) |
| | | //{ |
| | | // throw new Exception($"æ´å½¢æºæå
¥ä½¿ç¨ä¿¡å·ä¸ºfalse"); |
| | | //} |
| | | var isout = _outStockRepository.QueryFirst(v => v.Id == 1); |
| | | if (isout.isout == 0) |
| | | { |
| | | //if (!OHTJob.oHTReadData.R_ZXJ_TCMode) |
| | | //{ |
| | | // throw new Exception($"æ´å½¢æºä¸å±äºå¤©è½¦ä¸ææ¨¡å¼æå¤©è½¦æ¾æ¿ä¿¡å·ä¸ºfalse"); |
| | | //} |
| | | //if (!OHTJob.oHTReadData.R_HC_isReadyWork) |
| | | //{ |
| | | // throw new Exception($"æ´å½¢æºå¤©è½¦æ¾æ¿ä¿¡å·ä¸ºfalse"); |
| | | //} |
| | | //æ¥è¯¢å½å任塿± 䏿¯å¦åå¨åºåºä»»å¡ï¼åºåºä»»å¡åªè½åå¨ä¸æ¡ |
| | | var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound); |
| | | if (oldtask != null) |
| | | { |
| | | throw new Exception($"å½å任塿± ä¸å·²åå¨ä¸æ¡åºåºä»»å¡"); |
| | | } |
| | | |
| | | //æ¥è¯¢åºå |
| | | Dt_StockInfo ku = _stockRepository.QueryFirst(v => v.LocationCode == wei); |
| | | if (ku == null) |
| | | { |
| | | return content.OK("3"); |
| | | } |
| | | //æ¥è¯¢ç¸é»åºå |
| | | Dt_StockInfo kus = _stockRepository.QueryFirst(v => v.LocationCode == weis); |
| | | ku.StockStatus = (int)stockEnum.Lock; |
| | | kus.StockStatus = (int)stockEnum.Lock; |
| | | //æ¥è¯¢è´§ä½ |
| | | Dt_LocationInfo huo = _LocationInfoRepository.QueryFirst(v => v.LocationCode == wei); |
| | | //æ¥è¯¢ç¸é»è´§ä½ |
| | | Dt_LocationInfo huos = _LocationInfoRepository.QueryFirst(v => v.LocationCode == weis); |
| | | huo.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | huos.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | //æ¥è¯¢ç»ç¹ç«å°ä¿¡æ¯ |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "æ´å½¢æºæ¾æä½"); |
| | | //å¼å§åå»ºä»»å¡ |
| | | Dt_Task outtask = new Dt_Task(); |
| | | outtask.Roadway = "TC01"; |
| | | outtask.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | outtask.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | outtask.SourceAddress = ku.LocationCode; |
| | | outtask.TargetAddress = station.Row + "-" + station.Column + "-1"; |
| | | outtask.NextAddress = huos.LocationCode; |
| | | outtask.Grade = 2; |
| | | outtask.WMSId = 3; |
| | | outtask.Remark = kus.Remark; |
| | | outtask.PalletCode = "text"; |
| | | outtask.CurrentAddress = "text"; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _LocationInfoRepository.UpdateData(huo); |
| | | _LocationInfoRepository.UpdateData(huos); |
| | | _StockInfoRepository.UpdateData(ku); |
| | | _dt_taskRepositiry.AddData(outtask); |
| | | _StockInfoRepository.UpdateData(kus); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("2"); |
| | | } |
| | | return content.OK("1"); |
| | | } |
| | | |
| | | public WebResponseContent zhijiechuku() |
| | | { |
| | | Dt_Task task = new Dt_Task(); |
| | | WebResponseContent content = new WebResponseContent(); |
| | | var isout = _outStockRepository.QueryFirst(v => v.Id == 1); |
| | | if (isout.isout == 0) |
| | | { |
| | | var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound); |
| | | if (oldtask != null) |
| | | { |
| | | throw new Exception($"å½å任塿± ä¸å·²åå¨ä¸æ¡åºåºä»»å¡"); |
| | | } |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | task.TargetAddress = station.Row + "-" + station.Column + "-1"; |
| | | var stations = _dt_stationInfoRepository.QueryFirst(v => v.msg == "å餿¶"); |
| | | task.SourceAddress = stations.Row + "-" + stations.Column + "-1"; |
| | | var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress); |
| | | if (oldhtytask == null) |
| | | { |
| | | task.Grade = 3; |
| | | task.Remark = (int)MateTypeEnum.TiChu; |
| | | task.NextAddress = "text"; |
| | | task.Roadway = "TC01"; |
| | | task.TaskType = (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu; |
| | | task.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | task.PalletCode = "text"; |
| | | task.CurrentAddress = "text"; |
| | | task.WMSId = 2; |
| | | _dt_taskRepositiry.AddData(task); |
| | | return content.OK("2"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.OK("1"); |
| | | } |
| | | return content.OK("3"); |
| | | } |
| | | |
| | | public WebResponseContent tichuchuku(string wei) |
| | | { |
| | | Dt_Task task = new Dt_Task(); |
| | | WebResponseContent content = new WebResponseContent(); |
| | | //if (!OHTJob.oHTReadData.R_TCMode && !OHTJob.oHTReadData.R_TC_isready) |
| | | //{ |
| | | // throw new Exception($"è§æ´æºå餿¶å坿¾æ¿æåé¤ä¸ææ¨¡å¼ä¿¡å·ä¸ºfalse"); |
| | | //} |
| | | //æ¥è¯¢å½å任塿± 䏿¯å¦åå¨åºåºä»»å¡ï¼åºåºä»»å¡åªè½åå¨ä¸æ¡ |
| | | var isout = _outStockRepository.QueryFirst(v => v.Id == 1); |
| | | if (isout.isout == 0) |
| | | { |
| | | var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound); |
| | | if (oldtask != null) |
| | | { |
| | | throw new Exception($"å½å任塿± ä¸å·²åå¨ä¸æ¡åºåºä»»å¡"); |
| | | } |
| | | //æ¥è¯¢åºå |
| | | Dt_LocationInfo huo = _LocationInfoRepository.QueryFirst(v => v.LocationCode == wei); |
| | | if (huo.LocationStatus == 0) |
| | | { |
| | | return content.OK("4"); |
| | | } |
| | | huo.LocationStatus = 1; |
| | | Dt_StockInfo stockinfo = _StockInfoRepository.QueryFirst(v => v.LocationCode == wei); |
| | | if (stockinfo==null) |
| | | { |
| | | return content.OK("4"); |
| | | } |
| | | stockinfo.StockStatus = 1; |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | task.TargetAddress = station.Row + "-" + station.Column + "-1"; |
| | | var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress); |
| | | if (oldhtytask == null) |
| | | { |
| | | task.SourceAddress = wei; |
| | | task.Grade = 3; |
| | | task.Remark = (int)MateTypeEnum.TiChu; |
| | | task.NextAddress = "text"; |
| | | task.Roadway = "TC01"; |
| | | task.TaskType = (int)TaskOutboundTypeEnum.TiChuChuKu; |
| | | task.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | task.PalletCode = "text"; |
| | | task.CurrentAddress = "text"; |
| | | task.WMSId = 2; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _dt_taskRepositiry.AddData(task); |
| | | _LocationInfoRepository.UpdateData(huo); |
| | | _StockInfoRepository.UpdateData(stockinfo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("2"); |
| | | } |
| | | } |
| | | return content.OK("3"); |
| | | } |
| | | |
| | | public WebResponseContent tichuruku(string wei) |
| | | { |
| | | Dt_Task task = new Dt_Task(); |
| | | WebResponseContent content = new WebResponseContent(); |
| | | //if (!OHTJob.oHTReadData.R_ZXJ_isWork) |
| | | //{ |
| | | // throw new Exception($"æ´å½¢æºæå
¥ä½¿ç¨ä¿¡å·ä¸ºfalse"); |
| | | //} |
| | | var isout = _outStockRepository.QueryFirst(v => v.Id == 1); |
| | | if (isout.isout == 0) |
| | | { |
| | | //夿åºåæ¯å¦æè´§ |
| | | //æ¥è¯¢è´§ä½ |
| | | Dt_LocationInfo huo = _LocationInfoRepository.QueryFirst(v => v.LocationCode == wei); |
| | | if (huo.LocationStatus!=0) |
| | | { |
| | | return content.OK("4"); |
| | | } |
| | | huo.LocationStatus = 1; |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "å餿¶"); |
| | | task.SourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress); |
| | | if (oldhtytask == null) |
| | | { |
| | | task.TargetAddress = wei; |
| | | task.Grade = 3; |
| | | task.Remark = (int)MateTypeEnum.TiChu; |
| | | task.NextAddress = "text"; |
| | | task.Roadway = "TC01"; |
| | | task.TaskType = (int)TaskInboundTypeEnum.TiChuRuKu; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | task.PalletCode = "text"; |
| | | task.CurrentAddress = "text"; |
| | | task.WMSId = 2; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _dt_taskRepositiry.AddData(task); |
| | | _LocationInfoRepository.UpdateData(huo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return content.OK("2"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.OK("1"); |
| | | } |
| | | return content.OK("3"); |
| | | } |
| | | } |
| | | } |