//修改消缺任务的action public ActionResult UpdSolveTask() { int taskid = int.Parse(Request.Params["taskid"]); string taskcode = Request.Params["taskcode"]; string taskname = Request.Params["taskname"]; //工作单据编号 int worktypeid = int.Parse(Request.Params["worktype"]); //任务负责人code string taskmanagercode = Request.Params["taskmanagercode"]; //任务描述 string taskdesc = Request.Params["taskdesc"]; //备注 string remark = Request.Params["remark"]; string solverid = Request.Params["solvetorsid"]; string inspectlist = Request.Params["inspectlist"]; //首先查询出要修改的一条数据 var solvetask = (from a in medc.ps_solvetask_main where a.id == taskid select a).FirstOrDefault(); //查询出ps_systemconfig表中对应的worktypeid var sys = (from a in medc.ps_systemconfig where a.configCode == "DOC_TYPE" && a.configValueId == worktypeid select a).FirstOrDefault(); //再查询对应的负责人信息 var user = (from u in medc.ps_user where u.userCode == taskmanagercode select u).FirstOrDefault(); var users = (from u in medc.ps_user where u.id == int.Parse(Session["userid"].ToString()) select u).FirstOrDefault(); //再修改数据 solvetask.solveTaskCode = taskcode; solvetask.solveTaskName = taskname; solvetask.workDocType = sys.configValueId; solvetask.workDocTypeName = sys.configValueName; solvetask.taskManagerCode = user.userCode; solvetask.taskManagerName = user.userName; solvetask.taskDesc = taskdesc; solvetask.common = remark; solvetask.lastUpdateTime = DateTime.Now; solvetask.taskStatus = 2; solvetask.taskStatusName = "已分配"; solvetask.lastUpdateTime = DateTime.Now; bool b = true; try { medc.SubmitChanges(); } catch (Exception) { b = false; } if (b) { //主表数据修改成功之后再修改子表中的数据 //首先删除消缺子表中的数据 var sol = (from a in medc.ps_solvetask_detail where a.taskId == taskid select a).ToList(); medc.ps_solvetask_detail.DeleteAllOnSubmit(sol); try { medc.SubmitChanges(); } catch (Exception) { b = false; } if (b) { List <ps_solvetask_detail> solvelist = new List <ps_solvetask_detail>(); //删除成功之后 再向消缺任务子表中添加新的缺陷信息 if (inspectlist.IndexOf(",") > 0) { string[] solveidlist = inspectlist.Split(','); for (var i = 0; i < solveidlist.Length; i++) { ps_solvetask_detail solve = new ps_solvetask_detail() { taskId = taskid, inspectionTaskDelId = int.Parse(solveidlist[i]), createdBy = users.userCode, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; solvelist.Add(solve); } } else { ps_solvetask_detail solve = new ps_solvetask_detail() { taskId = taskid, inspectionTaskDelId = int.Parse(inspectlist), createdBy = users.userCode, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; solvelist.Add(solve); } medc.ps_solvetask_detail.InsertAllOnSubmit(solvelist); try { medc.SubmitChanges(); } catch (Exception) { b = false; } if (b) { List <ps_solver_detail> solvetorlist = new List <ps_solver_detail>(); //删除成功之后 再向消缺任务子表中添加新的缺陷信息 if (solverid.IndexOf(",") > 0) { string[] solvtoridlist = solverid.Split(','); for (var i = 0; i < solvtoridlist.Length; i++) { var usersolver = (from a in medc.ps_user where a.id == int.Parse(solvtoridlist[i]) select a).FirstOrDefault(); ps_solver_detail solve = new ps_solver_detail() { taskId = taskid, solverCode = usersolver.userCode, solverName = usersolver.userName, createdBy = users.userCode, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now, }; solvetorlist.Add(solve); } } else { var usersolver = (from a in medc.ps_user where a.id == int.Parse(solverid) select a).FirstOrDefault(); ps_solver_detail solve = new ps_solver_detail() { taskId = taskid, solverCode = usersolver.userCode, solverName = usersolver.userName, createdBy = users.userCode, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now, }; solvetorlist.Add(solve); } medc.ps_solver_detail.InsertAllOnSubmit(solvetorlist); try { medc.SubmitChanges(); } catch (Exception) { b = false; } } } } return(Json(b)); }
//添加消缺任务 public ActionResult AddSolveData() { string taskcode = Request.Params["taskcode"]; string taskname = Request.Params["taskname"]; int worktype = int.Parse(Request.Params["worktype"]); int taskmanagercode = int.Parse(Request.Params["taskmanagercode"]); DateTime issuedtime = Convert.ToDateTime(Request.Params["issuedtime"]); string taskdesc = Request.Params["taskdesc"]; string remark = Request.Params["remark"]; string inspectlist = Request.Params["inspectlist"]; string solvetorsid = ""; //查询工作单据信息 var workdoc = (from a in medb.ps_systemconfig where a.configCode == "DOC_TYPE" && a.configValueId == worktype select a).FirstOrDefault(); //查询任务负责人信息 var taskmanager = (from a in medb.ps_user where a.id == taskmanagercode && a.userStatus == 1 select a).FirstOrDefault(); var issued = (from a in medb.ps_user where a.id == int.Parse(Session["userid"].ToString()) select a).FirstOrDefault(); bool b = true; if (Request.Params["solvetorsid"] != "") { solvetorsid = Request.Params["solvetorsid"]; //首先向消缺主表中插入数据 ps_solvetask_main main = new ps_solvetask_main() { solveTaskCode = taskcode, solveTaskName = taskname, workDocType = workdoc.configValueId, workDocTypeName = workdoc.configValueName, taskDesc = taskdesc, taskManagerCode = taskmanager.userCode, taskManagerName = taskmanager.userName, taskStatus = 2, taskStatusName = "已分配", finishTime = null, common = remark, managerSuggestion = null, taskFinishDesc = null, taskFinishReport = null, taskNotes = null, issuedByCode = issued.userCode, issuedByName = issued.userName, issuedTime = issuedtime, issuedSuggestion = null, createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now, isCancel = 0, isrejectexamine = 0 }; //添加数据 medb.ps_solvetask_main.InsertOnSubmit(main); try { medb.SubmitChanges(); } catch (Exception) { b = false; } if (b) { //首先查询出消缺主表中最大的一条编号 即刚刚插入的数据编号 var tasks = (from a in medb.ps_solvetask_main orderby a.id descending select a).FirstOrDefault(); List <ps_solvetask_detail> tasklist = new List <ps_solvetask_detail>(); if (inspectlist.IndexOf(',') >= 0) { //再向消缺子表中插入数据 string[] solvetoridlist = inspectlist.Split(','); for (var i = 0; i < solvetoridlist.Length; i++) { ps_solvetask_detail taskdetail = new ps_solvetask_detail() { taskId = tasks.id, inspectionTaskDelId = int.Parse(solvetoridlist[i]), createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; tasklist.Add(taskdetail); } } else { ps_solvetask_detail taskdetail = new ps_solvetask_detail() { taskId = tasks.id, inspectionTaskDelId = int.Parse(inspectlist), createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; tasklist.Add(taskdetail); } //添加数据 medb.ps_solvetask_detail.InsertAllOnSubmit(tasklist); try { medb.SubmitChanges(); } catch (Exception) { b = false; } if (b) { List <ps_solver_detail> solvers = new List <ps_solver_detail>(); //最后向消缺员信息表中插入消缺员信息 if (solvetorsid.IndexOf(',') >= 0) { //则进行分割 string[] solvelist = solvetorsid.Split(','); for (var i = 0; i < solvelist.Length; i++) { //根据消缺员id查询出对应的消缺员 var users = (from u in medb.ps_user where u.id == int.Parse(solvelist[i]) select u).FirstOrDefault(); ps_solver_detail solver = new ps_solver_detail() { taskId = tasks.id, solverCode = users.userCode, solverName = users.userName, createdBy = issued.userCode, lastUpdateTime = DateTime.Now }; solvers.Add(solver); } } else { //根据消缺员id查询出对应的消缺员 var users = (from u in medb.ps_user where u.id == int.Parse(solvetorsid) select u).FirstOrDefault(); ps_solver_detail solver = new ps_solver_detail() { taskId = tasks.id, solverCode = users.userCode, solverName = users.userName, createdBy = issued.userCode, lastUpdateTime = DateTime.Now }; solvers.Add(solver); } medb.ps_solver_detail.InsertAllOnSubmit(solvers); try { medb.SubmitChanges(); } catch (Exception) { b = false; } } } } else { //首先向消缺主表中插入数据 ps_solvetask_main main = new ps_solvetask_main() { solveTaskCode = taskcode, solveTaskName = taskname, workDocType = workdoc.configValueId, workDocTypeName = workdoc.configValueName, taskDesc = taskdesc, taskManagerCode = taskmanager.userCode, taskManagerName = taskmanager.userName, taskStatus = 1, taskStatusName = "未分配", finishTime = null, common = remark, managerSuggestion = null, taskFinishDesc = null, taskFinishReport = null, taskNotes = null, issuedByCode = issued.userCode, issuedByName = issued.userName, issuedTime = issuedtime, issuedSuggestion = null, createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now, isCancel = 0, isrejectexamine = 0 }; //添加数据 medb.ps_solvetask_main.InsertOnSubmit(main); try { medb.SubmitChanges(); } catch (Exception) { b = false; } if (b) { //首先查询出消缺主表中最大的一条编号 即刚刚插入的数据编号 var tasks = (from a in medb.ps_solvetask_main orderby a.id descending select a).FirstOrDefault(); List <ps_solvetask_detail> tasklist = new List <ps_solvetask_detail>(); if (inspectlist.IndexOf(',') >= 0) { //再向消缺子表中插入数据 string[] solvetoridlist = inspectlist.Split(','); for (var i = 0; i < solvetoridlist.Length; i++) { ps_solvetask_detail taskdetail = new ps_solvetask_detail() { taskId = tasks.id, inspectionTaskDelId = int.Parse(solvetoridlist[i]), createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; tasklist.Add(taskdetail); } } else { ps_solvetask_detail taskdetail = new ps_solvetask_detail() { taskId = tasks.id, inspectionTaskDelId = int.Parse(inspectlist), createdBy = issued.userName, creationTime = DateTime.Now, lastUpdateTime = DateTime.Now }; tasklist.Add(taskdetail); } //添加数据 medb.ps_solvetask_detail.InsertAllOnSubmit(tasklist); try { medb.SubmitChanges(); } catch (Exception) { b = false; } } } return(Json(b)); }