/// <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; }
/// <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; }
/// <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; }
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); } } }
/// <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; }