public ActionResult EditTransferPigstyTask(TransferTask updateTask) { if (!ModelState.IsValid || !updateTask.UpdateTransferTask(updateTask)) { return View("Error"); } ViewBag.Title = "修改任务成功"; return View("Message"); }
public ActionResult CheckTransferPigstyTask(string taskNumber) { if (Session["CheckFeed"] == null || !(bool) Session["CheckTransferPigsty"]) { Response.Write("<script>history.go(0);</script>"); return View("Error"); } TransferTask checkTransfertask = new TransferTask().GetTransferTask(taskNumber); return checkTransfertask != null ? View(checkTransfertask) : View("Error"); }
public ActionResult EditTransferPigstyTask(string taskNumber) { if (Session["CheckFeed"] == null || !(bool) Session["EditTransferPigsty"] || !(bool) Session["CheckTransferPigsty"]) { Response.Write("<script>history.go(0);</script>"); return View("Error"); } var listService = new ListService(); ViewData["pighouse"] = listService.GetPigHouseList(); ViewData["pigsty"] = listService.GetFirstPigstyList(); ViewData["taskStatus"] = listService.GetTaskStatusList(); ViewBag.Title = "修改转栏任务"; TransferTask checkTransfertask = new TransferTask().GetTransferTask(taskNumber); return checkTransfertask != null ? View("NewTransferPigstyTask", checkTransfertask) : View("Error"); }
public TransferTask GetTransferTask(string taskNumber) { var taskService = new TaskService(); var taskEmployeeService = new TaskEmployeeService(); task task = taskService.FindByTaskNumber(taskNumber); if (task == null) { return null; } var checkTask = new TransferTask { TaskNumber = task.TaskNumber, StartTime = task.StartTime, EndTime = task.EndTime, EmployeeName = taskEmployeeService.GetEmployeeNames(task.Id), EmployeeNumber = taskEmployeeService.GetEmployeeNumbers(task.Id), Status = task.task_status_type.Name, Memo = task.Memo }; var transferService = new TransferService(); var pigstyDic = new Dictionary<long, StringBuilder>(); foreach (task_pig item in task.task_pig) { transfer transfer = transferService.GetLastTransfer(item.PigId, task.Id); if (transfer == null) { continue; } long pigsty = transfer.PigstyId; if (!pigstyDic.ContainsKey(pigsty)) { pigstyDic.Add(pigsty, new StringBuilder().Append(transfer.pig.Number)); } else { pigstyDic[pigsty].Append("," + transfer.pig.Number); } } var pigHouseService = new PigHouseService(); var pigstyService = new PigstyService(); if (pigstyDic.Count != 0) { List<TaskDetail> transferFromList = (from builder in pigstyDic let pigHouse = pigHouseService.FindbyPigstyId(builder.Key) select new TaskDetail { PigHouse = pigHouse.pig_house_type.Name + pigHouse.Number, Pigsty = pigstyService.Find(builder.Key).Number + "", Pig = builder.Value.ToString() }).ToList(); checkTask.TransferFrom = transferFromList; } var transferToList = new List<TaskDetail>(); var pigHouseDic = new Dictionary<string, StringBuilder>(); foreach (task_pigsty taskPigsty in task.task_pigsty) { pig_house pigHouse = pigHouseService.FindbyPigstyId(taskPigsty.PigstyId); if (pigHouse == null) { continue; } string pigHouseStr = pigHouse.pig_house_type.Name + pigHouse.Number; if (!pigHouseDic.ContainsKey(pigHouseStr)) { pigHouseDic.Add(pigHouseStr, new StringBuilder().Append(taskPigsty.pigsty.Number)); } else { pigHouseDic[pigHouseStr].Append("," + taskPigsty.pigsty.Number); } } if (pigHouseDic.Count != 0) { transferToList.AddRange(pigHouseDic.Select(builder => new TaskDetail { PigHouse = builder.Key, Pigsty = builder.Value.ToString() })); checkTask.TransferTo = transferToList; } return checkTask; }
public bool UpdateTransferTask(TransferTask updateTask) { var taskService = new TaskService(); task task = taskService.FindByTaskNumber(updateTask.TaskNumber); if (task == null) { return false; } task.StartTime = updateTask.StartTime; task.EndTime = updateTask.EndTime; task.Memo = updateTask.Memo; new TaskEmployeeService().UpdateByNumberStr(task, updateTask.EmployeeNumber); var pigService = new PigService(); List<long> pigList = (from taskDetail in updateTask.TransferFrom from pig in taskDetail.Pig.Split(',') select pigService.FindByNumber(pig).Id).ToList(); int oldLen = task.task_pig.Count; int newLen = pigList.Count; int leastLength = oldLen < newLen ? oldLen : newLen; for (int i = 0; i < leastLength; i++) { task.task_pig.ElementAt(i).PigId = pigList[i]; } var transferTaskPigService = new TaskPigService(); for (int i = leastLength; i < oldLen; i++) { transferTaskPigService.Delete(transferTaskPigService.Find(task.task_pig.ElementAt(i).Id)); } for (int i = leastLength; i < newLen; i++) { task.task_pig.Add(new task_pig { PigId = pigList[i] }); } var pigstyService = new PigstyService(); List<long> pigstyList = (from taskDetail in updateTask.TransferTo from pigsty in taskDetail.Pigsty.Split(',') select pigstyService.FindByNumber(int.Parse(pigsty)).First( m => m.PigHouseId == long.Parse(taskDetail.PigHouse)).Id).ToList(); oldLen = task.task_pigsty.Count; newLen = pigstyList.Count; leastLength = oldLen < newLen ? oldLen : newLen; for (int i = 0; i < leastLength; i++) { task.task_pigsty.ElementAt(i).PigstyId = pigstyList[i]; } var taskPigstyService = new TaskPigstyService(); for (int i = leastLength; i < oldLen; i++) { taskPigstyService.Delete(taskPigstyService.Find(task.task_pigsty.ElementAt(i).Id)); } for (int i = leastLength; i < newLen; i++) { task.task_pigsty.Add(new task_pigsty { PigstyId = pigstyList[i] }); } taskService.Update(task); return true; }
/// <summary> /// 新建转栏任务 /// </summary> /// <param name="newTask">转栏任务</param> /// <param name="taskTypeId">任务类型id</param> /// <param name="createEmployee">发布任务的员工工号</param> /// <returns>返回新建任务是否成功</returns> public bool NewTransferTask(TransferTask newTask, long taskTypeId, string 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 }; foreach (string employeeNumber in newTask.EmployeeNumber.Split(',')) { task.task_employee.Add(new task_employee {EmployeeId = employeeService.FindByNumber(employeeNumber).Id}); } var pigService = new PigService(); foreach (string pigNumber in newTask.TransferFrom.SelectMany(taskDetail => taskDetail.Pig.Split(','))) { task.task_pig.Add(new task_pig { PigId = pigService.FindByNumber(pigNumber).Id }); } var pigstyService = new PigstyService(); foreach (TaskDetail taskDetail in TransferTo) { string pigHouse = taskDetail.PigHouse; foreach (string pigstyNumber in taskDetail.Pigsty.Split(',')) { task.task_pigsty.Add(new task_pigsty { PigstyId = pigstyService.GetPigsty(int.Parse(pigstyNumber), long.Parse(pigHouse)).Id }); } } var taskService = new TaskService(); taskService.Insert(task); return true; }
public ActionResult NewTransferPigstyTask(TransferTask newtask) { if (!ModelState.IsValid || !newtask.NewTransferTask(newtask, TaskTypeId, User.Identity.Name.Split('|')[0])) { return View("Error"); } ViewBag.Title = "新建任务成功"; return View("Message"); }