Beispiel #1
0
        //修改消缺任务的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));
        }
Beispiel #2
0
        //添加消缺任务
        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));
        }