| | |
| | | |
| | | #endregion 出库任务完成 |
| | | |
| | | #region 火警任务完成 |
| | | public async Task<WebResponseContent> CompleteOutFireAlarmTaskAsync(Dt_Task task, DtStockInfo stock) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | (var loc, var tas) = UpdateStockAndTaskStatus(stock, task); |
| | | var taskHty = task.Adapt<Dt_Task_Hty>(); |
| | | taskHty.FinishTime = DateTime.Now; |
| | | taskHty.OperateType = App.User.UserName != null ? (int)OperateTypeEnum.人工完成 : (int)OperateTypeEnum.自动完成; |
| | | taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System"; |
| | | |
| | | DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>(); |
| | | stockInfo_Hty.ModifyDate = DateTime.Now; |
| | | |
| | | // 事务处理 |
| | | await _unitOfWorkManage.UseTranAsync(async () => |
| | | { |
| | | if (task.TaskType != (int)TaskOutboundTypeEnum.OutQuality) |
| | | { |
| | | await DeleteStockInfoAsync(stock.Id); |
| | | await DeleteStockInfoDetailsAsync(stock.StockInfoDetails); |
| | | await AddStockInfoHtyAsync(stockInfo_Hty); |
| | | await UpdateLocationAsync(loc); //质检任务需要持续锁定库位 |
| | | } |
| | | await DeleteTaskAsync(task.TaskId); |
| | | await AddTaskHtyAsync(taskHty); |
| | | }); |
| | | return content.OK("任务完成成功", task.Remark); |
| | | } |
| | | #endregion |
| | | |
| | | #region 移库任务完成 |
| | | |
| | | /// <summary> |
| | |
| | | case (int)TaskOutboundTypeEnum.OutNG: |
| | | LogFactory.GetLog("任务完成").InfoFormat(true, "出库任务", ""); |
| | | return await CompleteStackTaskAsync(task, stock); |
| | | |
| | | case (int)TaskOutboundTypeEnum.OutFireAlarm: |
| | | |
| | | LogFactory.GetLog("任务完成").InfoFormat(true, "火警任务", ""); |
| | | return await CompleteOutFireAlarmTaskAsync(task, stock); |
| | | |
| | | case (int)TaskRelocationTypeEnum.Relocation: |
| | | return await CompleteTransferTaskAsync(task, stock); |
| | |
| | | /// 获取任务信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | /// |
| | | public WebResponseContent GetTaskInfo() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取库存信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent GetStockInfo() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取货位状态 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent GetStockQuantity() { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try { |
| | | var location= _locationRepository.Db.Queryable<DtLocationInfo>().ToList(); |
| | | |
| | | return content.OK(data: location); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent Getproductionvolume() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try { |
| | | var now = DateTime.Now; |
| | | var startOfDay = new DateTime(now.Year, now.Month, now.Day); |
| | | var endOfDay1 = startOfDay.AddDays(-7); |
| | | var taskHty= _task_HtyRepository.Db.Queryable<Dt_Task_Hty>().Where(it=>it.CreateDate> endOfDay1).ToList(); |
| | | return content.OK(data: taskHty); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #endregion 外部接口方法 |
| | | #endregion 外部接口方法 |
| | | |
| | | #region 内部调用方法 |
| | | #region 内部调用方法 |
| | | |
| | | /// <summary> |
| | | /// 创建一个新的任务 |
| | | /// </summary> |
| | | /// <param name="model">任务模型</param> |
| | | /// <returns>创建的任务</returns> |
| | | /// <summary> |
| | | /// 创建一个新的任务 |
| | | /// </summary> |
| | | /// <param name="model">任务模型</param> |
| | | /// <returns>创建的任务</returns> |
| | | public async Task<Dt_Task> Create(Dt_Task model) |
| | | { |
| | | return await BaseDal.Create(model); |