Example #1
0
 /// <summary>
 ///     获得饲料类型下拉列表
 /// </summary>
 /// <returns>返回集合</returns>
 public IEnumerable<SelectListItem> GetFodderTypeList()
 {
     var fodderTypeSelect = new FodderTypeService();
     IEnumerable<SelectListItem> fodderTypeSelectList =
         fodderTypeSelect.FindAll().Select(fodderItem => new SelectListItem
                                                             {
                                                                 Text = fodderItem.Name,
                                                                 Value = fodderItem.Id + string.Empty
                                                             }).OrderBy(m => m.Text);
     return fodderTypeSelectList;
 }
        /// <summary>
        ///     根据类型id查找关联它的表是否为0
        /// </summary>
        /// <param name="typeid">类型id</param>
        /// <param name="typename">类型名字</param>
        /// <returns></returns>
        public string GetRelationtById(long typeid, string typename)
        {
            var cureTypeService = new CureTypeService();
            var medicineService = new MedicineService();
            var unitService = new UnitService();
            var fodderTypeService = new FodderTypeService();
            var excetionTypeService = new ExceptionTypeService();
            var pigTypeService = new PigTypeService();
            var pigHouseTypeService = new PigHouseTypeService();
            var taskStatusTypeService = new TaskStatusTypeService();
            var taskTypeService = new TaskTypeService();
            var roleTypeService = new RoleTypeService();
            var preventionTypeService = new PreventionTypeService();
            var roleAuthorityService = new RoleAuthorityService();
            var customerService = new CustomerService();
            if (typeid == 0)
            {
                return "不存在于数据库,可以删除";
            }
            try
            {
                if (typename == "治疗")
                {
                    cureTypeService.Delete(cureTypeService.Find(typeid));
                }
                if (typename == "单位")
                {
                    unitService.Delete(unitService.Find(typeid));
                }
                if (typename == "药物")
                {
                    medicineService.Delete(medicineService.Find(typeid));
                }
                if (typename == "异常")
                {
                    excetionTypeService.Delete(excetionTypeService.Find(typeid));
                }
                if (typename == "饲料")
                {
                    fodderTypeService.Delete(fodderTypeService.Find(typeid));
                }
                if (typename == "生猪")
                {
                    if (pigTypeService.Find(typeid).Name == "母猪" || pigTypeService.Find(typeid).Name == "公猪")
                    {
                        return "不可删除";
                    }
                    pigTypeService.Delete(pigTypeService.Find(typeid));
                }
                if (typename == "防疫")
                {
                    preventionTypeService.Delete(preventionTypeService.Find(typeid));
                }
                if (typename == "猪舍")
                {
                    pigHouseTypeService.Delete(pigHouseTypeService.Find(typeid));
                }
                if (typename == "任务状态")
                {
                    if (taskStatusTypeService.Find(typeid).Name == "未完成" ||
                        taskStatusTypeService.Find(typeid).Name == "已完成" ||
                        taskStatusTypeService.Find(typeid).Name == "正在进行")
                    {
                        return "不可删除";
                    }
                    taskStatusTypeService.Delete(taskStatusTypeService.Find(typeid));
                }
                if (typename == "任务类型")
                {
                    if (taskTypeService.Find(typeid).Name == "喂饲" || taskTypeService.Find(typeid).Name == "防疫" ||
                        taskTypeService.Find(typeid).Name == "巡查" || taskTypeService.Find(typeid).Name == "治疗" ||
                        taskTypeService.Find(typeid).Name == "销售" || taskTypeService.Find(typeid).Name == "转栏" ||
                        taskTypeService.Find(typeid).Name == "添加生猪")
                    {
                        return "不可删除";
                    }
                    taskTypeService.Delete(taskTypeService.Find(typeid));
                }
                if (typename == "角色")
                {
                    foreach (role_authority c in roleAuthorityService.FindByRoleTypeId(typeid))
                        roleAuthorityService.Delete(roleAuthorityService.Find(c.Id));
                    roleTypeService.Delete(roleTypeService.Find(typeid));
                }
                if (typename == "客户名称")
                {
                    customerService.Delete(customerService.Find(typeid));
                }
            }
            catch (Exception)
            {
                return "不可删除";
            }

            return "";
        }
 //判断类型是否重复
 public bool JudgeNameByType(string name, string typename)
 {
     var cureTypeService = new CureTypeService();
     var medicineService = new MedicineService();
     var unitService = new UnitService();
     var fodderTypeService = new FodderTypeService();
     var excetionTypeService = new ExceptionTypeService();
     var pigTypeService = new PigTypeService();
     var pigHouseTypeService = new PigHouseTypeService();
     var taskStatusTypeService = new TaskStatusTypeService();
     var taskTypeService = new TaskTypeService();
     var roleTypeService = new RoleTypeService();
     var preventionTypeService = new PreventionTypeService();
     var customerService = new CustomerService();
     if (typename == "治疗")
     {
         if (cureTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "单位")
     {
         if (unitService.FindByName(name) == null)
             return true;
     }
     if (typename == "药物")
     {
         if (medicineService.FindByName(name) == null)
             return true;
     }
     if (typename == "异常")
     {
         if (excetionTypeService.FindByName(name).Count == 0)
             return true;
     }
     if (typename == "饲料")
     {
         if (fodderTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "生猪")
     {
         if (pigTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "防疫")
     {
         if (preventionTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "猪舍")
     {
         if (pigHouseTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "任务状态")
     {
         if (taskStatusTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "任务类型")
     {
         if (taskTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "角色")
     {
         if (roleTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "客户名称")
     {
         if (customerService.FindByName(name) == null)
             return true;
     }
     return false;
 }
Example #4
0
        /// <summary>
        ///     修改喂食任务
        /// </summary>
        /// <param name="updateTask"></param>
        /// <returns></returns>
        public bool UpdateFeedTask(FeedTask updateTask)
        {
            var taskService = new TaskService();
            var pigstyService = new PigstyService();
            var taskQualityService = new FeedTaskQualityService();
            var taskIntervalCycleService = new TaskIntervalCycleService();
            task task = taskService.FindByTaskNumber(updateTask.TaskNumber);
            task.StartTime = updateTask.StartTime;
            task.EndTime = updateTask.EndTime;
            task.TaskStatusId = long.Parse(updateTask.Status);
            task.Memo = updateTask.Memo;

            //修改喂食任务的喂食人员
            new TaskEmployeeService().UpdateByNumberStr(task, updateTask.EmployeeNumber);

            var pigstyFodders = new Dictionary<long, string>();

            foreach (FeedTaskDetail detail in updateTask.Feeddetails)
            {
                string fodder = detail.Fodder;
                foreach (string s in detail.Pigsty.Split(','))
                {
                    pigstyFodders.Add(pigstyService.GetPigsty(int.Parse(s), long.Parse(detail.PigHouse)).Id, fodder);
                }
            }

            int oldLen = task.task_pigsty.Count;
            int newLen = pigstyFodders.Count;
            int leastLen = oldLen < newLen ? oldLen : newLen;

            var fodderTypeService = new FodderTypeService();

            for (int i = 0; i < leastLen; i++)
            {
                KeyValuePair<long, string> pigstyFodder = pigstyFodders.ElementAt(i);
                task.task_pigsty.ElementAt(i).PigstyId = pigstyFodder.Key;
                string[] fodders = pigstyFodder.Value.Split(',');
                int oldLength = task.task_pigsty.ElementAt(i).feed_task_quality.Count;
                int newLength = fodders.Count();
                int leastLength = oldLength < newLength ? oldLength : newLength;

                for (int j = 0; j < leastLength; j++)
                {
                    task.task_pigsty.ElementAt(i).feed_task_quality.ElementAt(j).FodderTypeId =
                        fodderTypeService.FindByName(fodders[j]).Id;
                }
                for (int j = leastLength; j < oldLength; j++)
                {
                    taskQualityService.Delete(
                        taskQualityService.Find(task.task_pigsty.ElementAt(i).feed_task_quality.ElementAt(j).Id));
                }
                for (int j = leastLength; j < newLength; j++)
                {
                    task.task_pigsty.ElementAt(i).feed_task_quality.Add(new feed_task_quality
                                                                            {
                                                                                FodderTypeId =
                                                                                    fodderTypeService.FindByName(
                                                                                        fodders[j]).Id
                                                                            });
                }
            }

            var taskPigstyService = new TaskPigstyService();

            for (int i = leastLen; i < oldLen; i++)
            {
                task_pigsty taskPigsty = task.task_pigsty.ElementAt(i);
                foreach (feed_task_quality feedTaskQuality in taskPigsty.feed_task_quality)
                {
                    taskQualityService.Delete(taskQualityService.Find(feedTaskQuality.Id));
                }
                taskPigstyService.Delete(taskPigstyService.Find(taskPigsty.Id));
            }

            for (int i = leastLen; i < newLen; i++)
            {
                KeyValuePair<long, string> pigstyFodder = pigstyFodders.ElementAt(i);
                var taskPigsty = new task_pigsty
                                     {
                                         PigstyId = pigstyFodder.Key
                                     };
                foreach (string item in pigstyFodder.Value.Split(','))
                {
                    taskPigsty.feed_task_quality.Add(new feed_task_quality
                                                         {
                                                             FodderTypeId = fodderTypeService.FindByName(item).Id
                                                         });
                }
                task.task_pigsty.Add(taskPigsty);
            }

            taskService.Update(task);
            for (int i = 0; i < updateTask.FeedTaskCycle.Count; i++)
            {
                if (i < task.task_interval_cycle.Count)
                {
                    task_interval_cycle updateitem = taskIntervalCycleService.FindByTaskId(task.Id)[i];
                    updateitem.CycleDays = updateTask.FeedTaskCycle.ToList()[i].CycleDays;
                    updateitem.FirstExecuteDate = updateTask.FeedTaskCycle.ToList()[i].FirstExecuteDate;
                    taskIntervalCycleService.Update(updateitem);
                }
                else
                {
                    var updateitem = new task_interval_cycle
                                         {
                                             TaskId = task.Id,
                                             CycleDays = updateTask.FeedTaskCycle.ToList()[i].CycleDays,
                                             FirstExecuteDate = updateTask.FeedTaskCycle.ToList()[i].FirstExecuteDate
                                         };
                    taskIntervalCycleService.Insert(updateitem);
                }
            }
            taskIntervalCycleService.DelTaskIntervalCycle(task, updateTask.FeedTaskCycle.Count);
            return true;
        }
Example #5
0
        /// <summary>
        ///     新建喂食任务
        /// </summary>
        /// <param name="newTask"></param>
        /// <param name="taskTypeId"></param>
        /// <param name="createEmployee">发布任务的员工工号</param>
        /// <returns></returns>
        public bool NewFeedTask(FeedTask newTask, long taskTypeId, string createEmployee)
        {
            if (createEmployee == null) throw new ArgumentNullException("createEmployee");
            var employeeService = new EmployeeService();

            var task = new task
                           {
                               TaskNumber = newTask.TaskNumber,
                               StartTime = newTask.StartTime,
                               EndTime = newTask.EndTime,
                               CreateTime = DateTime.Now,
                               CreateEmployeeId = employeeService.FindByNumber(createEmployee).Id,
                               TaskStatusId = 1,
                               TaskTypeId = taskTypeId,
                               Memo = newTask.Memo
                           };

            //根据工号找到对应的id
            foreach (string employeeNumber in newTask.EmployeeNumber.Split(','))
            {
                task.task_employee.Add(new task_employee {EmployeeId = employeeService.FindByNumber(employeeNumber).Id});
            }

            var pigstyService = new PigstyService();
            var fodderService = new FodderTypeService();
            foreach (FeedTaskDetail detail in newTask.Feeddetails)
            {
                string[] pigstyNum = detail.Pigsty.Split(',');
                long pighouseid = long.Parse(detail.PigHouse);
                string[] fodders = detail.Fodder.Split(',');
                List<long> fodderIds = fodders.Select(fodder => fodderService.FindByName(fodder).Id).ToList();

                foreach (string pigstydetail in pigstyNum)
                {
                    var taskPigsty = new task_pigsty();
                    int number = int.Parse(pigstydetail);
                    taskPigsty.PigstyId = pigstyService.GetPigsty(number, pighouseid).Id;

                    foreach (long fodder in fodderIds)
                    {
                        taskPigsty.feed_task_quality.Add(new feed_task_quality {FodderTypeId = fodder});
                    }
                    task.task_pigsty.Add(taskPigsty);
                }
            }

            foreach (
                task_interval_cycle taskIntervalCycle in
                    newTask.FeedTaskCycle.Select(taskcycle => new task_interval_cycle
                                                                  {
                                                                      FirstExecuteDate = taskcycle.FirstExecuteDate,
                                                                      CycleDays = taskcycle.CycleDays
                                                                  }))
            {
                task.task_interval_cycle.Add(taskIntervalCycle);
            }
            var taskService = new TaskService();
            taskService.Insert(task);

            return true;
        }
 public BasicInfoModel ReadBasicInfo(string type)
 {
     var basicInfoModel = new BasicInfoModel {Type = type};
     var names = new List<NameModel>();
     basicInfoModel.Names = names;
     if (type == "治疗")
     {
         List<cure_type> cureTypes = new CureTypeService().FindAll();
         foreach (cure_type cureType in cureTypes)
         {
             var nameModel = new NameModel {Name = cureType.Name, Id = cureType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "药物")
     {
         List<medicine> medicineTypes = new MedicineService().FindAll();
         foreach (medicine medicineType in medicineTypes)
         {
             var nameModel = new NameModel {Name = medicineType.Name, Id = medicineType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "单位")
     {
         List<unit> unitTypes = new UnitService().FindAll();
         foreach (unit unitType in unitTypes)
         {
             var nameModel = new NameModel {Name = unitType.Name, Id = unitType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "异常")
     {
         List<exception_type> exceptionTypes = new ExceptionTypeService().FindAll();
         foreach (exception_type exceptionType in exceptionTypes)
         {
             var nameModel = new NameModel {Name = exceptionType.Name, Id = exceptionType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "饲料")
     {
         List<fodder_type> fodderTypes = new FodderTypeService().FindAll();
         foreach (fodder_type fodderType in fodderTypes)
         {
             var nameModel = new NameModel {Name = fodderType.Name, Id = fodderType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "生猪")
     {
         List<pig_type> pigTypes = new PigTypeService().FindAll();
         foreach (pig_type pigType in pigTypes)
         {
             var nameModel = new NameModel {Name = pigType.Name, Id = pigType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "防疫")
     {
         List<prevention_type> preventionTypes = new PreventionTypeService().FindAll();
         foreach (prevention_type preventionType in preventionTypes)
         {
             var nameModel = new NameModel
                                 {
                                     Name = preventionType.Name,
                                     Id = preventionType.Id,
                                     MedicineId = preventionType.MedicineId,
                                     Quality = Convert.ToInt32(preventionType.Quality),
                                     UnitId = preventionType.UnitId
                                 };
             names.Add(nameModel);
         }
     }
     else if (type == "猪舍")
     {
         List<pig_house_type> pigHouseTypes = new PigHouseTypeService().FindAll();
         foreach (pig_house_type pigHouseType in pigHouseTypes)
         {
             var nameModel = new NameModel {Name = pigHouseType.Name, Id = pigHouseType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "任务状态")
     {
         List<task_status_type> taskStatusTypes = new TaskStatusTypeService().FindAll();
         foreach (task_status_type taskStatusType in taskStatusTypes)
         {
             var nameModel = new NameModel {Name = taskStatusType.Name, Id = taskStatusType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "任务类型")
     {
         List<task_type> taskTypes = new TaskTypeService().FindAll();
         foreach (task_type taskType in taskTypes)
         {
             var nameModel = new NameModel {Name = taskType.Name, Id = taskType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "角色")
     {
         List<role_type> roleTypes = new RoleTypeService().FindAll();
         foreach (role_type roleType in roleTypes)
         {
             var nameModel = new NameModel {Name = roleType.Name, Id = roleType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "客户名称")
     {
         List<customer> customerTypes = new CustomerService().FindAll();
         foreach (customer customer in customerTypes)
         {
             var nameModel = new NameModel {Name = customer.Name, Id = customer.Id};
             names.Add(nameModel);
         }
     }
     if (names.Count == 0)
     {
         var nullNameModel = new NameModel();
         names.Add(nullNameModel);
     }
     return basicInfoModel;
 }
Example #7
0
 public void FodderTypeSaveChanges(BasicInfoModel model)
 {
     var fodderTypeService = new FodderTypeService();
     List<fodder_type> fodderTypes = fodderTypeService.FindAll();
     foreach (fodder_type fodderType in fodderTypes)
     {
         int idFlag = 0;
         int nameFlag = 0;
         string newname = "";
         foreach (NameModel name in model.Names)
         {
             if (fodderType.Id == name.Id)
             {
                 idFlag = 1;
                 if (fodderType.Name.Equals(name.Name))
                 {
                     nameFlag = 1;
                 }
                 else
                 {
                     newname = name.Name;
                 }
             }
         }
         //若存在此Id,但是name变化了的,则需要修改数据库
         if (idFlag == 1)
         {
             if (nameFlag == 0)
             {
                 if (newname == "")
                 {
                     throw new Exception();
                 }
                 fodder_type modifyCure = fodderTypeService.Find(fodderType.Id);
                 modifyCure.Name = newname;
                 fodderTypeService.Update(modifyCure);
             }
         }
     }
     //如果model里的Id为0,说明是新建的类型
     foreach (NameModel name in model.Names)
     {
         if (name.Id == 0 && fodderTypeService.FindByName(name.Name) == null)
         {
             var newType = new fodder_type {Name = name.Name};
             fodderTypeService.Insert(newType);
         }
     }
 }
Example #8
0
        /// <summary>
        ///     新建喂食信息
        /// </summary>
        /// <param name="newFeedInfo"></param>
        /// y
        /// <returns></returns>
        public bool CreateFeedInfo(FeedInfo newFeedInfo)
        {
            var employeeService = new EmployeeService();
            var feedService = new FeedService();
            var fodderTakeService = new FodderTakeService();
            var taskService = new TaskService();
            var fodderTypeService = new FodderTypeService();
            var unitService = new UnitService();
            var taskStatusTypeService = new TaskStatusTypeService();
            long taskId = long.Parse(TaskNumber);
            foreach (FodderTakeDetail takedetail in newFeedInfo.TakeDetail)
            {
                employee firstOrDefault = employeeService.Find(long.Parse(newFeedInfo.EmployeeName));
                if (firstOrDefault != null)
                {
                    var take = new fodder_take
                                   {
                                       TaskId = taskId,
                                       EmployeeId = firstOrDefault.Id,
                                       //FodderTypeId = fodderTypeService.Find(long.Parse(takedetail.FodderType)).Id,
                                       //Quantity = takedetail.Quantity,
                                       //UnitId = unitService.Find(long.Parse(takedetail.Unit)).Id,
                                       Time = takedetail.TakeTime
                                   };
                    fodderTakeService.Insert(take);
                }
            }

            foreach (FeedInfoDetail feedPigDetail in FeedPig)
            {
                var feedinfo = new feed {TaskId = taskId};
                employee firstOrDefault = employeeService.Find(long.Parse(newFeedInfo.EmployeeName));
                if (firstOrDefault != null)
                    feedinfo.EmployeeId = firstOrDefault.Id;
                feedinfo.PigstyId = long.Parse(feedPigDetail.Pigsty);
                //feedinfo.FodderTypeId = long.Parse(feedPigDetail.FodderType);
                //feedinfo.Quality = feedPigDetail.Quantity;
                //feedinfo.UnitId = long.Parse(feedPigDetail.Unit);
                feedinfo.Memo = newFeedInfo.Meno;
                feedinfo.Time = feedPigDetail.DetailTime;
                feedService.Insert(feedinfo);
            }
            task_status_type taskStatusType = taskStatusTypeService.FindByName("正在进行");
            task task = taskService.Find(long.Parse(newFeedInfo.TaskNumber));
            if (taskStatusType != null && task != null)
            {
                task.TaskStatusId = taskStatusType.Id;
                taskService.Update(task);
            }

            return true;
        }