// GET: TaskOrders/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TaskOrder taskOrder = db.TaskOrders.Find(id);

            if (taskOrder == null)
            {
                return(HttpNotFound());
            }
            return(View(taskOrder));
        }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <param name="IsUpdateDetails">更新明细</param>
 /// <returns></returns>
 public bool Update(TaskOrder model, bool IsUpdateDetails = true)
 {
     if (_taskOrderService.UpdateEntity(model))
     {
         if (IsUpdateDetails)
         {
             _taskOrderDetailService.Delete(x => x.order_id == model.id);//删除明细
         }
         else
         {
             return(true);
         }
     }
     return(false);
 }
Пример #3
0
        private void Start()
        {
            Application.targetFrameRate = 120;
            mainCamera = Camera.main;

            background = FindObjectOfType <Background>();
            UpdateBackground();

            scaler      = new Scaler(mainCamera, -1, settings);
            debugScaler = new Scaler(mainCamera, -2, settings);
            results     = new TestResults();

            tasks = GetComponent <TaskOrder>();
            area  = GetComponent <StimuliArea>();
        }
        // GET: TaskOrders/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TaskOrder taskOrder = db.TaskOrders.Find(id);

            if (taskOrder == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ContractID = new SelectList(db.Contracts, "ID", "Name", taskOrder.ContractID);
            return(View(taskOrder));
        }
Пример #5
0
        public ActionResult <string> add(dynamic param)
        {
            var       jsonParams = JsonConvert.DeserializeObject <dynamic>(param.ToString());
            TaskOrder obj        = new TaskOrder
            {
                TaskOrderOid = Guid.NewGuid().ToString("D"),
                Taskid       = jsonParams.Taskid,
                Tasktitle    = jsonParams.Tasktitle,
                Tasktype     = jsonParams.Tasktype,
                Taskstatus   = jsonParams.Taskstatus,

                Taskobjectname = jsonParams.Taskobjectname,
                TaskTownStreet = jsonParams.TaskTownStreet,
                TaskCommunity  = jsonParams.TaskCommunity,

                AlarmStationnumber = jsonParams.AlarmStationnumber,
                AlarmStationname   = jsonParams.AlarmStationname,
                Alarmcontent       = jsonParams.Alarmcontent,
                Alarmfactor        = jsonParams.Alarmfactor,
                Alarmtime          = jsonParams.Alarmtime,

                Contributionrate        = jsonParams.Contributionrate,
                Contributionrateranking = jsonParams.Contributionrateranking,

                Collector         = "-",
                Collectorphone    = "-",
                Taskfeedbacktimes = 0,

                Taskcontent        = jsonParams.Taskcontent,
                Tasknotes          = jsonParams.Tasknotes,
                Taskfallback       = 0,
                Taskfallbackreason = "",

                Checktime            = jsonParams.Checktime,
                Taskfallbacktime     = jsonParams.Taskfallbacktime,
                Taskdeadline         = jsonParams.Taskdeadline,
                Taskfeedbacktime     = jsonParams.Taskfeedbacktime,
                Taskcompletetime     = jsonParams.Taskcompletetime,
                Taskstatusupdatetime = DateTime.Now,
                Taskreceivingtime    = DateTime.Now
            };

            _context.Add(obj);
            int result = _context.SaveChanges();
            var data   = new { TaskOrderOid = obj.TaskOrderOid, result = result };

            return(common.transResult(data));
        }
Пример #6
0
        public bool Finish(TaskOrder model)
        {
            TaskOrderHistory taskOrderHistory = new TaskOrderHistory();

            taskOrderHistory.barcode_machine_mode = model.barcode_machine_mode;
            taskOrderHistory.card_machine_enable  = model.card_machine_enable;
            taskOrderHistory.end_time             = DateTime.Now;
            taskOrderHistory.graphic_carton_size  = model.graphic_carton_size;
            taskOrderHistory.insert_time          = model.insert_time;
            taskOrderHistory.noraml_carton_size   = model.noraml_carton_size;
            taskOrderHistory.open_machine_mode    = model.open_machine_mode;
            taskOrderHistory.outer_carton_size    = model.outer_carton_size;
            taskOrderHistory.pack_mode            = model.pack_mode;
            taskOrderHistory.pallet_num           = model.pallet_num;
            taskOrderHistory.pallet_size          = model.pallet_size;
            taskOrderHistory.plate_enable         = model.plate_enable;
            taskOrderHistory.product_count        = model.product_count;
            taskOrderHistory.product_name         = model.product_name;
            taskOrderHistory.product_size         = model.product_size;
            taskOrderHistory.robot_pg_no          = model.robot_pg_no;
            taskOrderHistory.sn_barcode_enable    = model.sn_barcode_enable;
            taskOrderHistory.start_time           = model.start_time;
            long id = _taskOrderHistoryService.InsertBigIdentity(taskOrderHistory);

            if (id > 0)
            {
                var list = _taskOrderDetailService.QueryableToList(x => x.order_id == model.id);
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        TaskOrderDetailHistory history = new TaskOrderDetailHistory()
                        {
                            box_count    = item.box_count,
                            insert_time  = item.insert_time,
                            order_id     = (int)id,
                            pallet_index = item.pallet_index
                        };
                        _taskOrderDetailHistoryService.Insert(history);
                    }
                }
                Remove(model);
                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Generate the necessary parameters
        /// </summary>
        public List <KeyValuePair <string, string> > GetParams()
        {
            var p = new List <KeyValuePair <string, string> >();

            if (FriendlyName != null)
            {
                p.Add(new KeyValuePair <string, string>("FriendlyName", FriendlyName));
            }

            if (TargetWorkers != null)
            {
                p.Add(new KeyValuePair <string, string>("TargetWorkers", TargetWorkers));
            }

            if (MaxReservedWorkers != null)
            {
                p.Add(new KeyValuePair <string, string>("MaxReservedWorkers", MaxReservedWorkers.ToString()));
            }

            if (TaskOrder != null)
            {
                p.Add(new KeyValuePair <string, string>("TaskOrder", TaskOrder.ToString()));
            }

            if (ReservationActivitySid != null)
            {
                p.Add(new KeyValuePair <string, string>("ReservationActivitySid", ReservationActivitySid.ToString()));
            }

            if (AssignmentActivitySid != null)
            {
                p.Add(new KeyValuePair <string, string>("AssignmentActivitySid", AssignmentActivitySid.ToString()));
            }

            return(p);
        }
Пример #8
0
 public static T ToTaskOrderDto <T>(this TaskOrder taskOrder)
 {
     return(Mapper.Map <T>(taskOrder));
 }
Пример #9
0
 public static TaskOrderResponse ToTaskOrder(TaskOrder taskOrder)
 {
     return(Mapper.Map <TaskOrderResponse>(taskOrder));
 }
Пример #10
0
 public bool InsertTaskOrder(TaskOrder order)
 {
     throw new NotImplementedException();
 }
Пример #11
0
        public ActionResult <string> updata(dynamic param)
        {
            var jsonParams = JsonConvert.DeserializeObject <dynamic>(param.ToString());

            string sql        = "";
            string taskordeid = jsonParams.Taskordeid;

            if (taskordeid != null && taskordeid != "")
            {
                sql += "TaskOrderOid = @0";
            }

            string taskid = jsonParams.Taskid;

            if (taskid != null && taskid != "")
            {
                if (sql != "")
                {
                    sql += " And ";
                }
                sql += "Taskid = @1";
            }

            string objname = jsonParams.Taskobjname;

            if (objname != null && objname != "")
            {
                sql += " And Taskobjectname = @2";
            }
            sql += " And Taskstatus != @3 And Taskstatus != @4";

            // 查询单条
            var query = _context.TaskOrder
                        .AsQueryable()
                        .Where(sql, taskordeid, taskid, objname, "已回退", "已完成")
                        .OrderByDescending(e => e.Taskfeedbacktime);

            int rows = query.Count();

            if (rows == 1)
            {
                TaskOrder oder = query.Take(1).Single();
                oder.Taskstatus = jsonParams.Taskstatus;

                DateTime dtNow = DateTime.Now;
                switch (oder.Taskstatus)
                {
                //["已发送", "待查收", "未开展", "开展中", "已完成", "已回退", "已查收"]
                case "未开展":
                    UserInfo usr = common.getUserInfo(jsonParams.userName);
                    if (usr != null)
                    {
                        oder.Collectorid       = usr.Useroid;
                        oder.Collector         = usr.Username;
                        oder.Collectorphone    = usr.Userphone;
                        oder.CollectorunitId   = usr.Organizationoid;
                        oder.CollectorunitName = usr.Groupname;
                    }
                    oder.Taskfeedbacktimes    = 0;
                    oder.Taskstatusupdatetime = dtNow;
                    oder.Checktime            = dtNow;
                    break;

                case "开展中":
                    oder.Taskfeedbacktimes   += 1;
                    oder.Taskfeedbacktime     = dtNow;
                    oder.Taskstatusupdatetime = dtNow;
                    break;

                case "已完成":
                    oder.Taskcompletetime     = dtNow;
                    oder.Taskstatusupdatetime = dtNow;
                    break;

                case "已回退":
                    oder.Taskfeedbacktimes    = 0;
                    oder.Taskfallback         = 1;
                    oder.Taskfallbackreason   = jsonParams.back_reason;
                    oder.Taskfallbacktime     = dtNow;
                    oder.Taskstatusupdatetime = dtNow;
                    break;
                }

                int result = _context.SaveChanges();
                if (oder.Taskstatus != "开展中")
                {
                    result = updateInfo_Feedback(oder, Convert.ToString(jsonParams.userName));
                }
                var data = new { result = result, desc = "状态已更新为:" + jsonParams.Taskstatus, updatetime = dtNow };
                return(common.transResult(data));
            }
            else
            {
                if (rows == 0)
                {
                    return(common.transResult("", "数据不存在!"));
                }
                else
                {
                    return(common.transResult("", "数据存在多条!"));
                }
            }
        }
Пример #12
0
        /// <summary>
        /// Creates a queue from a list of subtasks based on the provided order (eg. Center)
        /// </summary>
        private ConcurrentQueue <RenderSubTask> GetTaskQueueInOrder(List <RenderSubTask> queue, TaskOrder order)
        {
            List <RenderSubTask> newOrder = new List <RenderSubTask>();

            switch (order)
            {
            case TaskOrder.Center:
                newOrder = queue.OrderBy(x => {
                    decimal posX = x.X + (x.X2 - x.X) / 2;
                    decimal posY = x.Y + (x.Y2 - x.Y) / 2;

                    decimal distanceX = 0.5m - posX;
                    decimal distanceY = 0.5m - posY;

                    double distance = (double)Math.Sqrt(Math.Pow((double)distanceX, 2) + Math.Pow((double)distanceY, 2));

                    return(distance);
                }).ToList();
                break;

            default:
                newOrder = queue.ToList();
                break;
            }


            return(new ConcurrentQueue <RenderSubTask>(newOrder));
        }
Пример #13
0
        public void DoDowndata_Task()
        {
            // 读取文件夹列表
            if (common.coon == "")
            {
                return;
            }
            var provider = new PhysicalFileProvider(Directory.GetCurrentDirectory() + @"/ftpData/task");

            Console.WriteLine(Directory.GetCurrentDirectory() + @"/ftpData/task");
            var contents = provider.GetDirectoryContents(string.Empty);

            foreach (var item in contents)
            {
                if (item.IsDirectory == false)
                {
                    int           result = 0;
                    List <string> errs   = new List <string>();
                    using (System.IO.StreamReader file = System.IO.File.OpenText(item.PhysicalPath))
                    {
                        Console.WriteLine("new file task:: " + item.PhysicalPath);
                        using (JsonTextReader reader = new JsonTextReader(file))
                        {
                            // 循环解析文件json数据
                            JObject jsonObject = (JObject)JToken.ReadFrom(reader);
                            JArray  jsonValues = (JArray)jsonObject["RECORDS"];
                            if (jsonValues.Count > 0)
                            {
                                var optionsBuilder = new DbContextOptionsBuilder <db_MicroStationContext>();
                                optionsBuilder.UseMySql(common.coon);
                                using (var context = new db_MicroStationContext(optionsBuilder.Options))
                                {
                                    foreach (var value in jsonValues)
                                    {
                                        string srcOid = (string)value["id"];
                                        Console.WriteLine("srcOid:: " + srcOid);

                                        string taskType = (string)value["taskType"];
                                        string subtype  = (string)value["subtype"];
                                        if (!(taskType == "2"))
                                        {
                                            continue;
                                        }

                                        if ((string)value["taskObjective"] == null)
                                        {
                                            continue;
                                        }
                                        var taskObj = (JObject)JToken.Parse((string)value["taskObjective"]);

                                        if (taskObj["entMessageList"] == null)
                                        {
                                            continue;
                                        }
                                        var listTrac = (JArray)taskObj["entMessageList"];
                                        if (listTrac.Count < 1)
                                        {
                                            continue;
                                        }

                                        var query = context.TaskOrder.AsQueryable().Where("Taskid = @0", srcOid);
                                        if (query.Count() > 0)
                                        {
                                            continue;
                                        }
                                        try
                                        {
                                            // 循环企业清单列表
                                            foreach (var trace in listTrac)
                                            {
                                                TaskOrder obj = new TaskOrder
                                                {
                                                    TaskOrderOid   = Guid.NewGuid().ToString("D"),
                                                    Taskid         = (string)value["id"],
                                                    TaskTypeSrc    = taskType,
                                                    TaskTypesubSrc = subtype,
                                                    Tasktitle      = (string)value["brief"],
                                                    Tasktype       = (string)value["targetType"],
                                                    Taskstatus     = (string)value["status"] == "ASSIGNING" ? "待查收" : (string)value["status"],
                                                    Taskobjectname = (string)value["targetName"],
                                                    TaskTownStreet = (string)taskObj["townName"],
                                                    TaskCommunity  = ((string)taskObj["warningTargetName"]).Split("-")[0],

                                                    AlarmStationnumber = (int)taskObj["warningTargetId"],
                                                    AlarmStationname   = (string)taskObj["warningTargetName"],
                                                    Alarmcontent       = (string)taskObj["warningContent"],
                                                    Alarmtime          = (DateTime)taskObj["dataTime"],
                                                    Alarmfactor        = (string)taskObj["warningFactory"],

                                                    Tasksubobjectname       = (string)trace["targetName"],
                                                    TasksubobjectOrgcode    = (string)trace["orgCode"],
                                                    TasksubTownStreet       = (string)trace["townName"],
                                                    TasksubCommunity        = (string)trace["streetName"],
                                                    Tasksubobjectaddress    = (string)trace["addr"],
                                                    Contributionrateranking = (int)trace["rank"],
                                                    Contributionrate        = (float)trace["rate"],

                                                    //Contributionrate= (float)value["warningIndicator"],
                                                    //Contributionrateranking = (int)value["warningIndicator"],

                                                    Collectorid       = (string)taskObj["agentId"],
                                                    Collector         = (string)taskObj["agentName"],
                                                    Collectorphone    = (string)taskObj["agentContact"],
                                                    CollectorunitId   = (string)taskObj["agentOrgId"],
                                                    CollectorunitName = (string)taskObj["agentOrgName"],

                                                    Taskcontent        = (string)value["detail"],
                                                    Tasknotes          = (string)value["remark"],
                                                    Taskstarttime      = (DateTime)value["implStartTime"],
                                                    Taskdeadline       = (DateTime)value["implEndTime"],
                                                    Taskreceivingtime  = DateTime.Now,
                                                    Taskfallback       = (ulong?)(((string)value["backReason"]) + "" == "" ? 0 : 1),
                                                    Taskfallbackreason = (string)value["backReason"],

                                                    //Checktime = null,
                                                    //Taskfeedbacktimes = 0,
                                                    //Taskfeedbacktime = null,
                                                    //Taskcompletetime = null,
                                                    Taskstatusupdatetime = DateTime.Now
                                                };
                                                if (!string.IsNullOrEmpty((string)value["Taskfallbacktime"]))
                                                {
                                                    obj.Taskfallbacktime = (DateTime)value["Taskfallbacktime"];
                                                }
                                                context.Add(obj);

                                                //TaskOrder objSub = obj.
                                                //Taskobjectaddress = (string)value["targetAddress"],
                                                //TaskTraceability objTrac = new TaskTraceability
                                                //{
                                                //    TaskTraceabilityOid = Guid.NewGuid().ToString("D"),
                                                //    Taskordeid = obj.TaskOrderOid,
                                                //    Taskid = obj.Taskid,
                                                //    Sitecode = (int)trace["stationCode"],
                                                //    TargetName = (string)trace["targetName"],
                                                //    TownStreet = (string)trace["townName"],
                                                //    OrgCode = (string)trace["orgCode"],
                                                //    TargetAddr = (string)trace["addr"],
                                                //    PollutionRank = (int)trace["rank"],
                                                //    PollutionRate = (float)trace["rate"]
                                                //};
                                            }
                                        }
                                        catch (Exception)
                                        {
                                            Console.WriteLine("err srcID::" + srcOid);
                                            errs.Add((string)value["id"]);
                                            throw;
                                        }
                                    }
                                    result = context.SaveChanges();
                                    Console.WriteLine("res count::" + result.ToString());

                                    // 记录操作
                                    TaskDocking docking = new TaskDocking
                                    {
                                        TaskDockingOid = Guid.NewGuid().ToString("D"),
                                        Filename       = item.Name,
                                        Filepath       = item.PhysicalPath,
                                        Dockingtype    = "站点任务",
                                        AssociationId  = "",
                                        Dockingmode    = "download",
                                        Dockingtime    = DateTime.Now,
                                        Dockingresults = errs.Count > 0 ? "失败" : "完成",
                                        Dockingtimes   = 1,
                                        Dockmark       = string.Join(",", errs),
                                        Createtime     = DateTime.Now
                                    };
                                    context.Add(docking);
                                    int result2 = context.SaveChanges();
                                }
                            }
                            Task.Run(() =>
                            {
                            });
                        }
                    }

                    // 转移文件
                    if (result > errs.Count || errs.Count == 0)
                    {
                        File.Copy(item.PhysicalPath, Directory.GetCurrentDirectory() + @"/ftpData/task_old/" + item.Name);
                        Thread.Sleep(1000);
                        File.Delete(item.PhysicalPath);
                    }
                }
            }
        }
Пример #14
0
        /// <summary>
        /// 开始下载参数信息
        /// </summary>
        /// <param name="taskOrder"></param>
        public bool StartToDownloadParamter(TaskOrder taskOrder)
        {
            List <short> ValueList = new List <short>();

            _systemLogViewModel.AddMewStatus($"开始写入{taskOrder.product_name}的PLC参数");
            #region 写入PLC信号
            var plc = TagList.PLCGroups.FirstOrDefault(x => x.PlcDevice.Name == "FxPLC");
            if (plc != null && plc.PlcDevice.IsConnected)
            {
                WritePlcValue("FxPLC", "pack_mode", taskOrder.pack_mode);
                WritePlcValue("FxPLC", "open_machine_mode", taskOrder.open_machine_mode);
                WritePlcValue("FxPLC", "barcode_machine_mode", taskOrder.barcode_machine_mode);
                WritePlcValue("FxPLC", "sn_barcode_enable", -1, taskOrder.sn_barcode_enable);
                WritePlcValue("FxPLC", "bubble_cover_enable", -1, taskOrder.bubble_cover_enable);
                WritePlcValue("FxPLC", "card_machine_enable", -1, taskOrder.card_machine_enable);
                WritePlcValue("FxPLC", "sn_barcode_compare", -1, taskOrder.enable_check);//条码比对
            }
            else
            {
                _systemLogViewModel.AddMewStatus("PLC当前未连接,参数写入失败", LogTypeEnum.Error);
                return(false);
            }
            #endregion
            _systemLogViewModel.AddMewStatus($"开始写入{taskOrder.product_name}的视觉机械手参数");
            var robot1 = TagList.PLCGroups.FirstOrDefault(x => x.PlcDevice.Name == "Robot1");
            if (robot1 != null && robot1.PlcDevice.IsConnected)
            {
                //写入尺寸信息
                ValueList = new List <short>();
                GetPropertyToList(taskOrder.product_size, ValueList);
                WriteTcpClientRobot("Robot1", "chanpinwaijin", ValueList[0]);
                WriteTcpClientRobot("Robot1", "chanpingaodu", ValueList[1]);
            }
            else
            {
                _systemLogViewModel.AddMewStatus("视觉机械手参数写入失败,请检查网络连接后重新下载!", LogTypeEnum.Error);
                return(false);
            }
            _systemLogViewModel.AddMewStatus($"开始写入{taskOrder.product_name}的装箱参数");
            var robot2 = TagList.PLCGroups.FirstOrDefault(x => x.PlcDevice.Name == "Robot2");
            if (robot2 != null && robot2.PlcDevice.IsConnected)
            {
                ValueList = new List <short>();
                GetPropertyToList(taskOrder.product_size, ValueList);
                WriteRobot("Robot2", "product_size_length", ValueList);
            }
            else
            {
                _systemLogViewModel.AddMewStatus("装箱机械手参数写入失败,请检查网络连接后重新下载!", LogTypeEnum.Error);
                return(false);
            }
            //_systemLogViewModel.AddMewStatus($"开始写入{taskOrder.product_name}的码垛参数");
            //var robot3 = TagList.PLCGroups.FirstOrDefault(x => x.PlcDevice.Name == "Robot3");
            //if (robot3 != null && robot2.PlcDevice.IsConnected)
            //{
            //    ValueList = new List<short>();
            //    ValueList.Add(2);
            //    //ValueList.Add(3);
            //    //GetPropertyToList(taskOrder.graphic_carton_size, ValueList);
            //    //GetPropertyToList(taskOrder.noraml_carton_size, ValueList);
            //    //GetPropertyToList(taskOrder.outer_carton_size, ValueList);
            //    //GetPropertyToList(taskOrder.pallet_size, ValueList);
            //    WriteRobot("Robot3", "graphic_carton_size_x", ValueList);//首地址写入
            //    ValueList = new List<short>();
            //    ValueList.Add(33);
            //    WriteRobot("Robot3", "graphic_carton_size_y", ValueList);//首地址写入
            //    ValueList = new List<short>();
            //    ValueList.Add((short)taskOrder.robot_pg_no);
            //    ValueList.Add((short)taskOrder.pallet_num);
            //    if (taskOrder.plate_enable)
            //    {
            //        ValueList.Add(1);
            //    }
            //    else
            //    {
            //        ValueList.Add(0);
            //    }
            //    ValueList.Add((short)taskOrder.pack_mode);
            //    // WriteRobot("Robot3", "robot_pg_no", ValueList);//首地址写入
            //}
            //else
            //{
            //    _systemLogViewModel.AddMewStatus("码垛机械手参数写入失败,请检查网络连接后重新下载!", LogTypeEnum.Error);
            //    return false;
            //}
            _systemLogViewModel.AddNewAutoAckWindowInfo($"{taskOrder.product_name}所有参数已下载完毕", null, 0);
            return(true);
        }