Example #1
0
        /// <summary>
        /// 新增风险点
        /// </summary>
        /// <param name="danger"></param>
        public void EditDanger(JobDangerousEntity danger)
        {
            var set1 = _context.Set <JobDangerousEntity>();
            var set2 = _context.Set <JobMeasureEntity>();

            var entity = set1.Find(danger.JobDangerousId);

            if (entity == null)
            {
                set1.Add(danger);
                set2.AddRange(danger.MeasureList);
            }
            else
            {
                _context.Entry(entity).State = System.Data.Entity.EntityState.Modified;
                entity.Content = danger.Content;

                var subitems = (from q in set2
                                where q.JobDangerousId == danger.JobDangerousId
                                select q).ToList();
                set2.RemoveRange(subitems);
                set2.AddRange(danger.MeasureList);
            }

            _context.SaveChanges();
        }
Example #2
0
        public void Copy(JobDangerousEntity model)
        {
            var set1 = _context.Set <JobDangerousEntity>();
            var set2 = _context.Set <JobMeasureEntity>();

            var danger   = set1.Find(model.JobDangerousId);
            var measures = (from q in set2
                            where q.JobDangerousId == model.JobDangerousId
                            select q).ToList();

            var newdanger = new JobDangerousEntity()
            {
                JobDangerousId = Guid.NewGuid().ToString(),
                Content        = danger.Content,
                CreateTime     = DateTime.Now,
                JobId          = model.JobId
            };
            var newmeasures = measures.Select(x => new JobMeasureEntity {
                JobDangerousId = newdanger.JobDangerousId, Content = x.Content, CreateTime = x.CreateTime, JobMeasureId = Guid.NewGuid().ToString()
            }).ToList();

            set1.Add(newdanger);
            set2.AddRange(newmeasures);
            _context.SaveChanges();
        }
Example #3
0
        public JsonResult Edit(string id, DangerAnalysisModel model)
        {
            var danger = new JobDangerousEntity()
            {
                JobDangerousId = id,
                Content        = model.Danger,
                CreateTime     = DateTime.Now,
                JobId          = model.JobId,
                MeasureList    = new List <JobMeasureEntity>()
            };

            if (string.IsNullOrEmpty(id))
            {
                danger.JobDangerousId = Guid.NewGuid().ToString();
            }
            for (int i = 0; i < model.Measures.Count; i++)
            {
                danger.MeasureList.Add(new JobMeasureEntity
                {
                    Content        = model.Measures[i],
                    CreateTime     = danger.CreateTime.AddSeconds(i),
                    JobDangerousId = danger.JobDangerousId,
                    JobMeasureId   = Guid.NewGuid().ToString()
                });
            }

            _bll.EditDanger(danger);

            return(Json(model));
        }
Example #4
0
        public ViewResult Edit(string id, string jobid)
        {
            var data = default(JobDangerousEntity);

            if (string.IsNullOrEmpty(id))
            {
                data = new JobDangerousEntity()
                {
                    JobId = jobid
                }
            }
            ;
            else
            {
                data = _bll.GetDanger(id);
            }
            return(View(data));
        }
 public void Copy(JobDangerousEntity model)
 {
     _service.Copy(model);
 }
 public void EditDanger(JobDangerousEntity danger)
 {
     _service.EditDanger(danger);
 }
Example #7
0
        public JsonResult DoImport()
        {
            var success = true;
            var message = string.Empty;

            try
            {
                if (this.Request.Files.Count == 0)
                {
                    throw new Exception("请上传文件");
                }
                if (!this.Request.Files[0].FileName.EndsWith(".xlsx"))
                {
                    throw new Exception("请上传 Excel 文件");
                }

                var book  = new Workbook(this.Request.Files[0].InputStream);
                var sheet = book.Worksheets[0];
                var user  = OperatorProvider.Provider.Current();

                var     templates = new List <JobTemplateEntity>();
                var     date      = DateTime.Now;
                UserBLL userBLL   = new UserBLL();
                var     users     = userBLL.GetDeptUsers(user.DeptId).ToList();
                for (int i = 2; i <= sheet.Cells.MaxDataRow; i++)
                {
                    var entity = new JobTemplateEntity();
                    entity.JobId      = Guid.NewGuid().ToString();
                    entity.JobContent = sheet.Cells[i, 0].StringValue;
                    if (string.IsNullOrEmpty(entity.JobContent))
                    {
                        if (templates.Count > 0 && string.IsNullOrEmpty(sheet.Cells[i, 1].StringValue))
                        {
                            break;
                        }
                        success  = false;
                        message += "第" + (i + 1) + "行,未填写工作任务</br>";
                        continue;
                        //return Json(new { success, message });
                    }
                    var sss = sheet.Cells[i, 1].StringValue;
                    if (!string.IsNullOrEmpty(sheet.Cells[i, 1].StringValue))
                    {
                        var itemdetialbll = new DataItemDetailBLL();
                        var itembll       = new DataItemBLL();
                        var type          = itembll.GetEntityByName("任务库任务类型");
                        var content       = itemdetialbll.GetList(type.ItemId).ToList();
                        var typename      = sheet.Cells[i, 1].StringValue.Trim();
                        var gettype       = content.FirstOrDefault(row => row.ItemName == typename);
                        if (gettype == null)
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,不存在该类型</br>";
                            continue;
                            //return Json(new { success, message });
                        }
                        entity.jobplantype   = gettype.ItemName;
                        entity.jobplantypeid = gettype.ItemId;
                    }
                    else
                    {
                        success  = false;
                        message += "第" + (i + 1) + "行,任务类型不能为空</br>";
                        continue;
                        //return Json(new { success, message });
                    }
                    entity.RiskLevel = sheet.Cells[i, 2].StringValue;
                    if (string.IsNullOrEmpty(entity.RiskLevel))
                    {
                        success  = false;
                        message += "第" + (i + 1) + "行,未填写风险等级</br>";
                        continue;
                        // return Json(new { success, message });
                    }

                    var jobperson = sheet.Cells[i, 3].StringValue;
                    if (jobperson.Contains(","))
                    {
                        var person     = string.Empty;
                        var personid   = string.Empty;
                        var personList = jobperson.Split(',');
                        for (int j = 0; j < personList.Length; j++)
                        {
                            var ckjobperson = users.FirstOrDefault(row => row.RealName == personList[j]);
                            if (ckjobperson == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行," + personList[j] + "作业人错误</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            if (j >= personList.Length - 1)
                            {
                                person   += personList[j];
                                personid += ckjobperson.DepartmentId;
                            }
                            else
                            {
                                person   += personList[j] + ",";
                                personid += ckjobperson.DepartmentId + ",";
                            }
                        }

                        entity.JobPerson   = person;
                        entity.JobPersonId = personid;
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(jobperson))
                        {
                            var ckjobperson = users.FirstOrDefault(row => row.RealName == jobperson);
                            if (ckjobperson == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行," + jobperson + "作业人错误</br>";
                                continue;
                                // return Json(new { success, message });
                            }
                            entity.JobPerson   = jobperson;
                            entity.JobPersonId = ckjobperson == null ? null : ckjobperson.UserId;
                        }
                    }
                    //string otherperson = sheet.Cells[i, 3].StringValue;
                    //if (!string.IsNullOrEmpty(otherperson))
                    //{
                    //    var ckotherperson = users.FirstOrDefault(row => row.RealName == otherperson);
                    //    if (ckotherperson == null)
                    //    {
                    //        success = false;
                    //        message = "选填作业人错误";
                    //        return Json(new { success, message });
                    //    }
                    //}
                    //if (otherperson == jobperson)
                    //{
                    //    success = false;
                    //    message = "作业人不能相同";
                    //    return Json(new { success, message });
                    //}
                    //entity.otherperson = otherperson;
                    entity.Device = sheet.Cells[i, 4].StringValue;
                    var getNow = DateTime.Now.ToString("yyyy-MM-dd");
                    //entity.JobStartTime = sheet.Cells[i, 5].StringValue == "" ? Convert.ToDateTime(getNow + " 08:30") : Convert.ToDateTime(getNow + " " + sheet.Cells[i, 5].StringValue);
                    //entity.JobEndTime = sheet.Cells[i, 6].StringValue == "" ? Convert.ToDateTime(getNow + " 17:30") : Convert.ToDateTime(getNow + " " + sheet.Cells[i, 6].StringValue);
                    entity.JobStartTime = Convert.ToDateTime(getNow + " 08:30");
                    entity.JobEndTime   = Convert.ToDateTime(getNow + " 17:30");
                    if (!string.IsNullOrEmpty(sheet.Cells[i, 5].StringValue))
                    {
                        //每年,二月、九月,15日,白班  每月,第一个、第三个,星期五,白班
                        var Cycle = sheet.Cells[i, 5].StringValue.Trim();

                        var cycleType = Cycle.Split(',');
                        if (cycleType[0] != "每天" && cycleType[0] != "每周" && cycleType[0] != "每月" && cycleType[0] != "每年")
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,周期规则错误</br>";
                            continue;
                            // return Json(new { success, message });
                        }

                        entity.Cycle = cycleType[0];
                        var ck   = false;
                        var data = string.Empty;
                        for (int j = 1; j < cycleType.Length; j++)
                        {
                            //if (cycleType[j] == "白班" || cycleType[j] == "夜班")
                            //{
                            //    entity.worksetname = cycleType[j];

                            //}
                            //else
                            if (cycleType[j] == "截止")
                            {
                                entity.isend = true;
                            }
                            else
                            if (cycleType[j] == "最后一天")
                            {
                                if ((Cycle.Contains("每月") || Cycle.Contains("每年")) && Cycle.Contains("日"))
                                {
                                    entity.islastday = true;
                                }
                                else
                                {
                                    success  = false;
                                    message += "第" + (i + 1) + "行,周期规则错误</br>";
                                    continue;
                                    //return Json(new { success, message });
                                }
                            }
                            else
                            if (cycleType[j].Contains("双休"))
                            {
                                if ((Cycle.Contains("每月") || Cycle.Contains("每年")) && Cycle.Contains("日"))
                                {
                                    entity.isweek = true;
                                }
                                else if (Cycle.Contains("每天"))
                                {
                                    entity.isweek = true;
                                }
                                else
                                {
                                    success  = false;
                                    message += "第" + (i + 1) + "行,周期规则错误</br>";
                                    continue;
                                    //return Json(new { success, message });
                                }
                            }
                            else
                            {
                                data += cycleType[j].Replace('日', ' ').Trim().Replace('、', ',') + ";";
                                ck    = true;
                            }
                        }

                        if (ck)
                        {
                            data             = data.Substring(0, data.Length - 1);
                            entity.CycleDate = data;
                        }
                        else
                        {
                            entity.CycleDate = data;
                        }
                    }
                    else
                    {
                        if (entity.jobplantype != "临时任务")
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,周期不能为空</br>";
                            continue;
                            //return Json(new { success, message });
                        }
                    }
                    entity.Dangerous = sheet.Cells[i, 6].StringValue;
                    entity.Measure   = sheet.Cells[i, 7].StringValue;
                    var EnableTraining = sheet.Cells[i, 8].StringValue;
                    entity.EnableTraining = EnableTraining == "是";
                    //entity.EnableTraining = false;
                    entity.worksetname = sheet.Cells[i, 9].StringValue;
                    if (entity.jobplantype == "设备巡回检查")
                    {
                        entity.TaskType = "巡回检查";
                    }
                    else if (entity.jobplantype == "定期工作")
                    {
                        entity.TaskType = "定期工作";
                    }
                    else
                    {
                        entity.TaskType = "日常工作";
                    }
                    var          setupid      = string.Empty;
                    var          createuserid = string.Empty;
                    WorkOrderBLL orderbll     = new WorkOrderBLL();
                    orderbll.GetWorkSettingByDept(user.DeptId, out setupid, out createuserid);
                    WorkSettingBLL settingbll = new WorkSettingBLL();
                    var            setting    = settingbll.GetList("");
                    var            getbanci   = setting.Where(x => x.WorkSetupId == setupid && x.CreateUserId == createuserid);
                    if (entity.worksetname.Contains(","))
                    {
                        var setname   = string.Empty;
                        var setnameid = string.Empty;
                        var setList   = entity.worksetname.Split(',');
                        for (int j = 0; j < setList.Length; j++)
                        {
                            var ckset = getbanci.FirstOrDefault(x => x.Name == entity.worksetname);
                            if (ckset == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,不存在该班次" + setList[j] + "</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            if (j >= setList.Length - 1)
                            {
                                setname   += setList[j];
                                setnameid += ckset.WorkSettingId;
                            }
                            else
                            {
                                setname   += setList[j] + ",";
                                setnameid += ckset.WorkSettingId + ",";
                            }
                        }

                        entity.worksetname = setname;
                        entity.worksetid   = setnameid;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(entity.worksetname))
                        {
                            if (entity.jobplantype != "临时任务")
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,班次不能为空</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                        }
                        else
                        {
                            var ckset = getbanci.FirstOrDefault(x => x.Name == entity.worksetname);
                            if (ckset == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,不存在该班次" + entity.worksetname + "</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            entity.worksetname = ckset.Name;
                            entity.worksetid   = ckset.WorkSettingId;
                        }
                    }
                    entity.DeptId     = user.DeptId;
                    entity.CreateDate = date.AddMinutes(i);
                    entity.DangerType = "job";
                    templates.Add(entity);
                }
                if (!success)
                {
                    return(Json(new { success, message }));
                }
                foreach (var item in templates)
                {
                    if (item.DangerousList == null)
                    {
                        item.DangerousList = new List <JobDangerousEntity>();
                    }
                    if (!string.IsNullOrEmpty(item.Dangerous))
                    {
                        var dangerArray        = item.Dangerous.Split('。');
                        var dangerMeasureArray = item.Measure?.Split('。');
                        for (int i = 0; i < dangerArray.Length; i++)
                        {
                            var danger = dangerArray[i];
                            if (string.IsNullOrEmpty(danger))
                            {
                                continue;
                            }
                            var templateDangerousEntity = new JobDangerousEntity {
                                Content = danger
                            };
                            if (dangerMeasureArray != null && dangerMeasureArray.Length > i)
                            {
                                templateDangerousEntity.MeasureList = new List <JobMeasureEntity>();
                                var dangerMeasure = dangerMeasureArray[i];
                                if (!string.IsNullOrEmpty(dangerMeasure))
                                {
                                    var measureArray = dangerMeasure.Split(';');
                                    foreach (var measure in measureArray)
                                    {
                                        if (string.IsNullOrEmpty(measure))
                                        {
                                            continue;
                                        }
                                        templateDangerousEntity.MeasureList.Add(new JobMeasureEntity {
                                            Content = measure
                                        });
                                    }
                                }
                            }
                            item.DangerousList.Add(templateDangerousEntity);
                        }
                    }
                    foreach (var item1 in item.DangerousList)
                    {
                        if (string.IsNullOrEmpty(item1.JobDangerousId))
                        {
                            item1.JobDangerousId = Guid.NewGuid().ToString();
                        }
                        item1.CreateTime = DateTime.Now;
                        item1.JobId      = item.JobId;
                        if (item1.MeasureList == null)
                        {
                            item1.MeasureList = new List <JobMeasureEntity>();
                        }
                        foreach (var item2 in item1.MeasureList)
                        {
                            if (string.IsNullOrEmpty(item2.JobMeasureId))
                            {
                                item2.JobMeasureId = Guid.NewGuid().ToString();
                            }
                            item2.CreateTime     = DateTime.Now;
                            item2.JobDangerousId = item1.JobDangerousId;
                        }
                    }

                    item.CreateUserId = user.UserId;
                    item.CreateUser   = user.UserName;
                    workmeetingbll.UpdateJobTemplate(item);
                }
                // workmeetingbll.AddJobTemplates(templates);
            }
            catch (Exception ex)
            {
                success = false;
                message = HttpUtility.JavaScriptStringEncode(ex.Message);
            }

            return(Json(new { success, message }));
        }
Example #8
0
        public ActionResult Edit(string id, JobTemplateEntity model, FormCollection fc)
        {
            var user = OperatorProvider.Provider.Current();
            var time = fc.Get("JobTime");

            try
            {
                var reg = new Regex("^(\\d{2}):(\\d{2}) - (\\d{2}):(\\d{2})$");
                if (reg.IsMatch(time))
                {
                    var matches = reg.Matches(time);
                    model.JobStartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, int.Parse(matches[0].Groups[1].Value), int.Parse(matches[0].Groups[2].Value), 0);
                    model.JobEndTime   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, int.Parse(matches[0].Groups[3].Value), int.Parse(matches[0].Groups[4].Value), 0);
                }
                else
                {
                    var nowTime = DateTime.Now.ToString("yyyy-MM-dd");
                    model.JobStartTime = Convert.ToDateTime(nowTime + " 08:30");
                    model.JobEndTime   = Convert.ToDateTime(nowTime + " 17:30");
                }

                model.CycleDate    = model.CycleDate ?? string.Empty;
                model.JobId        = id;
                model.DeptId       = user.DeptId;
                model.CreateDate   = DateTime.Now;
                model.CreateUser   = user.UserName;
                model.CreateUserId = user.UserId;

                if (model.DangerousList == null)
                {
                    model.DangerousList = new List <JobDangerousEntity>();
                }

                if (!string.IsNullOrEmpty(model.Dangerous))
                {
                    var dangerArray        = model.Dangerous.Split('。');
                    var dangerMeasureArray = model.Measure?.Split('。');
                    for (int i = 0; i < dangerArray.Length; i++)
                    {
                        var danger = dangerArray[i];
                        if (string.IsNullOrEmpty(danger))
                        {
                            continue;
                        }
                        var templateDangerousEntity = new JobDangerousEntity {
                            Content = danger
                        };
                        if (dangerMeasureArray != null && dangerMeasureArray.Length > i)
                        {
                            templateDangerousEntity.MeasureList = new List <JobMeasureEntity>();
                            var dangerMeasure = dangerMeasureArray[i];
                            if (!string.IsNullOrEmpty(dangerMeasure))
                            {
                                var measureArray = dangerMeasure.Split(';');
                                foreach (var measure in measureArray)
                                {
                                    if (string.IsNullOrEmpty(measure))
                                    {
                                        continue;
                                    }
                                    templateDangerousEntity.MeasureList.Add(new JobMeasureEntity {
                                        Content = measure
                                    });
                                }
                            }
                        }
                        model.DangerousList.Add(templateDangerousEntity);
                    }
                }
                foreach (var item in model.DangerousList)
                {
                    if (string.IsNullOrEmpty(item.JobDangerousId))
                    {
                        item.JobDangerousId = Guid.NewGuid().ToString();
                    }
                    item.CreateTime = DateTime.Now;
                    item.JobId      = model.JobId;
                    if (item.MeasureList == null)
                    {
                        item.MeasureList = new List <JobMeasureEntity>();
                    }
                    foreach (var item1 in item.MeasureList)
                    {
                        if (string.IsNullOrEmpty(item1.JobMeasureId))
                        {
                            item1.JobMeasureId = Guid.NewGuid().ToString();
                        }
                        item1.CreateTime     = DateTime.Now;
                        item1.JobDangerousId = item.JobDangerousId;
                    }
                }
                //任务类型,填充任务类别
                switch (model.jobplantype)
                {
                case "设备巡回检查":
                    model.TaskType = "巡回检查";
                    break;

                case "周期任务":
                    model.TaskType = "定期工作";
                    break;

                default:
                    model.TaskType = "日常任务";
                    break;
                }
                string r = workmeetingbll.UpdateJobTemplate(model);

                ViewBag.callback = "jQuery(function(){var pp = jQuery(parent).get(0).fn$callback();});";
                return(View());
            }
            catch (Exception ex)
            {
                ViewBag.callback = "jQuery(function(){ layer.msg(\"" + ex.Message + "\")});";
                return(View());
            }
        }
Example #9
0
 public JsonResult Copy(string id, JobDangerousEntity model)
 {
     _bll.Copy(model);
     return(Success());
 }