Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
 /// <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);
 }
Beispiel #3
0
        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;
            }
        }