public bool FinishJobForNC(string taskId)
        {
            var param = new SetPrepareStatusInput
            {
                PrepareInfoId = Convert.ToInt32(taskId.Trim())
            };
            bool result = AsyncContext.Run(async() =>
            {
                var finished = await this.dispatchedPrepareAppService.FinishDispatchPrepareStatus_NC(param);
                return(finished.IsSuccess);
            });

            return(result);
        }
        /// <summary>
        /// WinTool调用反馈完成情况
        ///     刀具
        /// </summary>
        /// <param name="taskId">机台任务ID 就是 派工单和工单的关系表主键</param>
        /// <returns></returns>
        public async Task <StepResultOutput> FinishDispatchPrepareStatus_NC(SetPrepareStatusInput input)
        {
            StepResultOutput result = StepResultOutput.Failure;

            if (input == null)
            {
                return(result);
            }
            if (input.PrepareInfoId <= 0)
            {
                return(result);
            }

            var existId = await this._sapMOrderProcessDispatchPrepareRepository.GetAll()
                          .Where(p => p.DispatchWorKTicketID == input.PrepareInfoId)
                          .FirstOrDefaultAsync();

            if (existId == null || existId.Id <= 0)
            {
                return(result);
            }

            try
            {
                result = await tryDispatchPrepareStep(async() =>
                {
                    return(await Task.FromResult(StepResultOutput.Success));
                },
                                                      SapMOrderProcessDispatchPrepareStepTransTypes.NC, SapMOrderProcessDispatchPrepareStepTransTypes.NC_Finished, existId);

                if (result.IsSuccess)
                {
                    existId.NC_IsPreparedFinished = (short)SapMOrderProcessDispatchPrepareStepStatus.已完成;
                    await _sapMOrderProcessDispatchPrepareRepository.UpdateAsync(existId);
                }
            }
            catch { }
            return(result);
        }