Beispiel #1
0
        public ActionResult AddBugLevel()
        {
            #region 添加缺陷处理等级
            int id = int.Parse(Request.Params["id"]);

            int?buglevel = int.Parse(Request.Params["buglevel"]);

            string buglevelname = Request.Params["buglevelname"];

            ps_inspectiontask_detail result1 = (from a in medc.ps_inspectiontask_detail
                                                where a.id == id
                                                select a).FirstOrDefault();

            bool result2 = true;

            try
            {
                result1.bugLevelName   = buglevelname;
                result1.bugLevel       = buglevel;
                result1.isBugLevel     = 1;
                result1.lastUpdateTime = DateTime.Now;

                medc.SubmitChanges();
            }
            catch (Exception)
            {
                result2 = false;
            }
            #endregion
            return(Json(result2));
        }
Beispiel #2
0
        public ActionResult GetUpdTaskInfo()
        {
            //获得session中保存的taskid
            int taskid = int.Parse(Session["solvetaskid"].ToString());

            int pageindex = int.Parse(Request.Params["pageindex"]);
            //获得消缺员信息
            var role = (from i in medc.ps_role
                        where i.roleName == "消缺员" && i.isStart == 1
                        select i).FirstOrDefault();

            var role2 = (from a in medc.ps_role
                         where a.roleName == "线路管理员" && a.isStart == 1
                         select a).FirstOrDefault();

            //先获得消缺信息主表数据
            var solvers = (from a in medc.ps_solvetask_main
                           where a.id == taskid
                           select a).FirstOrDefault();

            //再获得缺陷列表信息
            var badlist = (from a in medc.ps_inspectiontask_detail
                           join b in medc.ps_solvetask_detail
                           on a.id equals b.inspectionTaskDelId
                           where b.taskId == taskid
                           select a).ToList();

            //获得已选的消缺员
            var solvetor = (from a in medc.ps_user
                            join b in medc.ps_solver_detail
                            on a.userCode equals b.solverCode
                            join c in medc.ps_solvetask_main
                            on b.taskId equals c.id
                            where a.roleId == role.id && a.userStatus == 1 && c.taskStatus != 5
                            select a).ToList();

            //再获得未选的消缺员
            string sql = "select *from ps_user where 1=1 and userstatus=1 and roleid=(select id from ps_role where rolename='消缺员')";

            foreach (var v in solvetor)
            {
                sql += " and usercode!='" + v.userCode + "'";
            }

            SqlConnection con = new SqlConnection("server=.;database=MyElectrCheck_DB;Integrated Security=true;");

            if (con.State != ConnectionState.Open)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand(sql, con);

            SqlDataReader dr = cmd.ExecuteReader();

            List <ps_user> userlist = new List <ps_user>();

            while (dr.Read())
            {
                ps_user user = new ps_user()
                {
                    id       = int.Parse(dr["id"].ToString()),
                    userCode = dr["userCode"].ToString(),
                    userName = dr["userName"].ToString()
                };

                userlist.Add(user);
            }

            dr.Close();

            //获得工作单据类型信息
            var worklist = (from a in medc.ps_systemconfig
                            where a.configCode == "DOC_TYPE" && a.isStart == 1
                            select a).ToList();

            //获得任务负责人信息
            var tasklist = (from a in medc.ps_user
                            where a.roleId == role2.id && a.userStatus == 1
                            select a).ToList();

            //获得缺陷列表信息   首先获得没有进行消缺任务的缺陷列表信息
            var solvelist = (from s in medc.ps_solvetask_detail
                             select s).ToList();

            string strs = "";

            sql = "select *from ps_inspectiontask_detail where issolve=0 and isbug=1 and taskstatus=4 and isBugLevel=1 ";

            if (solvelist.Count() > 0)
            {
                foreach (var v in solvelist)
                {
                    sql  += " and id!=" + v.inspectionTaskDelId;
                    strs += v.inspectionTaskDelId + ",";
                }
                var index = strs.LastIndexOf(',');  //123456,
                strs            = strs.Substring(0, index);
                Session["strs"] = strs;
            }

            SqlCommand cmd2 = new SqlCommand(sql, con);

            dr = cmd2.ExecuteReader();


            List <ps_inspectiontask_detail> idlist = new List <ps_inspectiontask_detail>();

            while (dr.Read())
            {
                ps_inspectiontask_detail id = new ps_inspectiontask_detail()
                {
                    id             = int.Parse(dr["id"].ToString()),
                    lineCode       = dr["lineCode"].ToString(),
                    poleCode       = dr["poleCode"].ToString(),
                    bugLevelName   = dr["bugLevelName"].ToString(),
                    bugTypeName    = dr["bugTypeName"].ToString(),
                    bugDesc        = dr["bugDesc"].ToString(),
                    discovererName = dr["discovererName"].ToString(),
                    discoverTime   = Convert.ToDateTime(dr["discoverTime"].ToString())
                };
                idlist.Add(id);
            }

            dr.Close();
            con.Close();

            DataSource ds = new DataSource();

            ds.userlist1 = userlist;
            ds.userlist2 = solvetor;
            ds.userlist3 = tasklist;
            ds.syslist   = worklist;

            ds.updtaskdetlist = badlist;

            ds.taskmain = solvers;

            int datacount = idlist.Count();
            int pagecount = (int)Math.Ceiling(datacount / 4.0);

            if (pageindex <= pagecount && pageindex > 0)
            {
                int skip = (pageindex - 1) * 4;
                ds.taskdetlist = idlist.Skip(skip).Take(4).ToList();
                ds.datacount   = pagecount;
            }
            string jsonstr = JsonConvert.SerializeObject(ds);

            return(Content(jsonstr));
        }
Beispiel #3
0
        public ActionResult GetUpdSolvetors()
        {
            int pageindex = int.Parse(Request.Params["pageindex"]);
            int taskid    = int.Parse(Request.Params["taskid"]);


            var solvelist2 = (from s in medc.ps_solvetask_detail
                              join b in medc.ps_solvetask_main
                              on s.taskId equals b.id
                              where s.taskId != taskid && b.isCancel == 0 && b.taskStatus != 5
                              select s).ToList();

            string strs = "";
            //获得session中保存的值
            string sql = "select *from ps_inspectiontask_detail where issolve=0 and isbug=1 and taskstatus=4 and isBugLevel=1 ";

            if (solvelist2.Count() > 0)
            {
                foreach (var v in solvelist2)
                {
                    sql += " and id!=" + v.inspectionTaskDelId;
                }
            }
            if (Request.Params["strs"] != "")
            {
                strs = Request.Params["strs"];
                if (strs.IndexOf(',') >= 0)
                {
                    string[] strlist2 = strs.Split(',');
                    for (var i = 0; i < strlist2.Length; i++)
                    {
                        sql += " and id!=" + strlist2[i];
                    }
                }
                else
                {
                    sql += " and id!=" + strs;
                }
            }

            SqlConnection con = new SqlConnection("server=.;database=MyElectrCheck_DB;Integrated Security=true;");

            if (con.State != ConnectionState.Open)
            {
                con.Open();
            }

            SqlCommand cmd = new SqlCommand(sql, con);

            SqlDataReader dr = cmd.ExecuteReader();


            List <ps_inspectiontask_detail> idlist = new List <ps_inspectiontask_detail>();

            while (dr.Read())
            {
                ps_inspectiontask_detail id = new ps_inspectiontask_detail()
                {
                    id             = int.Parse(dr["id"].ToString()),
                    lineCode       = dr["lineCode"].ToString(),
                    poleCode       = dr["poleCode"].ToString(),
                    bugLevelName   = dr["bugLevelName"].ToString(),
                    bugTypeName    = dr["bugTypeName"].ToString(),
                    bugDesc        = dr["bugDesc"].ToString(),
                    discovererName = dr["discovererName"].ToString(),
                    discoverTime   = Convert.ToDateTime(dr["discoverTime"].ToString())
                };
                idlist.Add(id);
            }
            dr.Close();
            con.Close();

            DataSource ds = new DataSource();

            int datacount = idlist.Count();
            int pagecount = (int)Math.Ceiling(datacount / 4.0);

            if (pageindex <= pagecount && pageindex > 0)
            {
                int skip = (pageindex - 1) * 4;
                ds.taskdetlist = idlist.Skip(skip).Take(4).ToList();
                ds.datacount   = pagecount;
            }
            string jsonstr = JsonConvert.SerializeObject(ds);

            return(Content(jsonstr));
        }
Beispiel #4
0
        public ActionResult AddTaskinfo()
        {
            string   taskcode      = Request.Params["taskcode"];
            string   taskname      = Request.Params["taskname"];
            int      lineid        = int.Parse(Request.Params["lineid"]);
            string   linecode      = Request.Params["linecode"];
            string   linename      = Request.Params["linename"];
            int      startpole     = int.Parse(Request.Params["startpole"]);
            int      endpole       = int.Parse(Request.Params["endpole"]);
            string   startpolecode = Request.Params["startpolecode"];
            string   endpolecode   = Request.Params["endpolecode"];
            string   desc          = Request.Params["desc"];
            DateTime issuedtime    = Convert.ToDateTime(Request.Params["issuedtime"]);
            string   inspecname    = "";
            string   inspectorcode = "";
            var      user          = (from u in medc.ps_user
                                      where u.id == int.Parse(Session["userid"].ToString()) && u.userStatus == 1
                                      select u).FirstOrDefault();

            bool b = true;

            if (Request.Params["inspecname"] != "" && Request.Params["inspectorcode"] != "")
            {
                inspectorcode = Request.Params["inspectorcode"];
                inspecname    = Request.Params["inspecname"];
                ps_inspectiontask_main taskmain = new ps_inspectiontask_main();
                taskmain.inspectionTaskCode = taskcode;
                taskmain.inspectionTaskName = taskname;
                taskmain.lineId             = lineid;
                taskmain.lineCode           = linecode;
                taskmain.lineName           = linename;
                taskmain.startPole          = startpole;
                taskmain.startPoleCode      = startpolecode;
                taskmain.endPole            = endpole;
                taskmain.endPoleCode        = endpolecode;
                taskmain.issuedByCode       = user.userCode;
                taskmain.issuedByName       = user.userName;
                taskmain.issuedTime         = issuedtime;
                taskmain.taskStatus         = 2;
                taskmain.taskStatusName     = "已分配";
                taskmain.finishTime         = null;
                taskmain.common             = desc;
                taskmain.createdBy          = user.userCode;
                taskmain.creationTime       = DateTime.Now;
                taskmain.lastUpdateTime     = DateTime.Now;
                taskmain.isCancel           = 0;

                medc.ps_inspectiontask_main.InsertOnSubmit(taskmain);
                //保存添加
                try
                {
                    medc.SubmitChanges();
                }
                catch (Exception)
                {
                    b = false;
                }


                if (b)
                {
                    var tm = (from m in medc.ps_inspectiontask_main
                              orderby m.id descending
                              select m).FirstOrDefault();

                    List <ps_inspector_detail> ilist = new List <ps_inspector_detail>();
                    if (inspectorcode.IndexOf(',') > 0)
                    {
                        string[] strslist = inspectorcode.Split(',');

                        for (var i = 0; i < strslist.Length; i++)
                        {
                            var u = (from p in medc.ps_user
                                     where p.userCode == strslist[i]
                                     select p).FirstOrDefault();
                            ps_inspector_detail det = new ps_inspector_detail()
                            {
                                taskId         = tm.id,
                                inspectorCode  = strslist[i],
                                inspectorName  = u.userName,
                                creationTime   = DateTime.Now,
                                createdBy      = user.userCode,
                                lastUpdateTime = DateTime.Now
                            };
                            ilist.Add(det);
                        }
                    }
                    else
                    {
                        ps_inspector_detail det = new ps_inspector_detail()
                        {
                            taskId         = tm.id,
                            inspectorCode  = inspectorcode,
                            inspectorName  = inspecname,
                            creationTime   = DateTime.Now,
                            createdBy      = user.userCode,
                            lastUpdateTime = DateTime.Now
                        };
                        ilist.Add(det);
                    }


                    medc.ps_inspector_detail.InsertAllOnSubmit(ilist);

                    try
                    {
                        medc.SubmitChanges();
                    }
                    catch (Exception)
                    {
                        b = false;
                    }
                }
            }
            else
            {
                //实例化对象将数据添加到该实例中
                ps_inspectiontask_main taskmain = new ps_inspectiontask_main()
                {
                    inspectionTaskCode = taskcode,
                    inspectionTaskName = taskname,
                    lineId             = lineid,
                    lineCode           = linecode,
                    lineName           = linename,
                    startPole          = startpole,
                    startPoleCode      = startpolecode,
                    endPole            = endpole,
                    endPoleCode        = endpolecode,
                    issuedByCode       = user.userCode,
                    issuedByName       = user.userName,
                    issuedTime         = issuedtime,
                    taskStatus         = 1,
                    taskStatusName     = "未分配",
                    finishTime         = null,
                    common             = desc,
                    creationTime       = DateTime.Now,
                    createdBy          = user.userCode,
                    lastUpdateTime     = DateTime.Now,
                    isCancel           = 0
                };

                medc.ps_inspectiontask_main.InsertOnSubmit(taskmain);
                try
                {
                    medc.SubmitChanges();
                }
                catch (Exception)
                {
                    b = false;
                }
            }

            if (b)
            {
                //首先查询出刚刚添加的任务的id
                var taskmains = (from i in medc.ps_inspectiontask_main
                                 orderby i.id descending
                                 select i).FirstOrDefault();

                //根据线路编号查询出所有的杆塔信息
                var poles = (from p in medc.ps_pole_info
                             where p.lineId == lineid
                             select p).ToList();

                List <ps_inspectiontask_detail> taskdetails = new List <ps_inspectiontask_detail>();
                for (var i = 0; i < poles.Count(); i++)
                {
                    ps_inspectiontask_detail dets = new ps_inspectiontask_detail()
                    {
                        taskid         = taskmains.id,
                        poleid         = poles[i].id,
                        poleCode       = poles[i].poleCode,
                        lineCode       = poles[i].lineCode,
                        lineName       = poles[i].lineName,
                        isBug          = 0,
                        intactRate     = 100,
                        bugLevel       = null,
                        bugLevelName   = null,
                        bugType        = null,
                        bugTypeName    = null,
                        bugDesc        = null,
                        discovererCode = user.userCode,
                        discovererName = user.userName,
                        discoverTime   = DateTime.Now,
                        isSolve        = 0,
                        inspectTime    = null,
                        createdBy      = user.userCode,
                        creationTime   = DateTime.Now,
                        lastUpdateTime = DateTime.Now,
                        taskStatus     = 1,
                        isBugLevel     = 0
                    };
                    taskdetails.Add(dets);
                }

                //插入数据
                medc.ps_inspectiontask_detail.InsertAllOnSubmit(taskdetails);

                try
                {
                    medc.SubmitChanges();
                }
                catch (Exception)
                {
                    b = false;
                }
            }

            return(Json(b));
        }