private void DoPlanTask(ref PlanTask plantask, ref PlanTaskBatch plantaskbatch) { string plantaskNumber = plantask.plantask_number; //更新计划编辑 plantask.real_start_time = _sPGetSysDateTimeService.GetSysDateTime(); if (plantaskbatch.need_bor.HasValue && plantaskbatch.need_bor.Value == true) { plantask.plan_status = (int)PlanTaskStatus.达; } else { plantask.plan_status = (int)PlanTaskStatus.执行; } //更新计划批次 plantaskbatch.batch_start_time = _sPGetSysDateTimeService.GetSysDateTime(); //更新报港单状态 if (plantask.PlanTaskType.warehouse_control_mode != (int)WarehouseControlMode.出入仓) { plantask.Enrolment.status = (int)EnrolmentStatue.执行中; _unitOfWork.AddAction(plantask.Enrolment, DataActions.Update); } PlanTaskStepStatu getplanstep = plantask.PlanTaskStepStatus.Single(d => d.step_code == "作业计划执行" && d.plantask_number == plantaskNumber); if (getplanstep.operate_time == null) { getplanstep.operate_time = _sPGetSysDateTimeService.GetSysDateTime(); getplanstep.status = true; _unitOfWork.AddAction(getplanstep, DataActions.Update); } }
/// <summary> /// 更新计划操作状态 /// </summary> /// <param name="newPlanTaskStepStatu"></param> /// <returns></returns> public PlanTaskStepStatu UpPlanTaskStepStatu(PlanTaskStepStatu newPlanTaskStepStatu) { newPlanTaskStepStatu.operate_time = _sPGetSysDateTimeService.GetSysDateTime(); newPlanTaskStepStatu.status = true; _planTaskStepStatuDal.Update(newPlanTaskStepStatu); return(newPlanTaskStepStatu); }
public void UpdatePlanTask(PlanTask plantask, List <PlanTaskInWarehouse> plantaskInHouseList, List <PlanTaskOutWarehouse> plantaskoutHouseList, List <PlanTaskBatchSiteScale> planSiteList, List <PlanTaskBatchVehicle> planvehicleList, List <PlanTaskBatchWorkPlace> workplaceList, string OrgDepCode, bool isRun) { try { PlanTaskBatch planTaskBatch = plantask.PlanTaskBatches.LastOrDefault(); //更新出入库仓房 if (plantaskInHouseList != null && plantaskInHouseList.Count > 0) { SetPlanTaskInWarehouse(plantask, plantaskInHouseList); } if (plantaskoutHouseList != null && plantaskoutHouseList.Count > 0) { SetPlanTaskOutWarehouse(plantask, plantaskoutHouseList); } //磅点信息 if (planSiteList != null && planSiteList.Count > 0) { _planScaleService.UpPlanTaskBatchSiteScale(plantask.PlanTaskBatches.LastOrDefault(), planSiteList); } //码头加卸粮坑 if (workplaceList != null && workplaceList.Count > 0) { _planWorkPlaceService.UpdatePlanTaskBatchWorkPlace(plantask.PlanTaskBatches.LastOrDefault(), workplaceList); } PlanTaskStepStatu getplanstep = plantask.PlanTaskStepStatus.Single(d => d.step_code == "作业计划编制" && d.plantask_number == plantask.plantask_number); if (getplanstep.operate_time == null) { getplanstep.operate_time = _sPGetSysDateTimeService.GetSysDateTime(); getplanstep.status = true; _unitOfWork.AddAction(getplanstep, DataActions.Update); } if (isRun) { DoPlanTask(ref plantask, ref planTaskBatch); } //内部车辆信息,必须放在计划可能执行之后,否则不能拿到计划执行状态,就无法更新车辆在线状态 if (planvehicleList != null && planvehicleList.Count > 0) { _planVehicleService.UpdatePlanTaskBatchVehicle(plantask.PlanTaskBatches.LastOrDefault(), planvehicleList); } _unitOfWork.AddAction(planTaskBatch, DataActions.Update); _unitOfWork.AddAction(plantask, DataActions.Update); _unitOfWork.Save(); } catch (RepositoryException ex) { throw ex; } }