Пример #1
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, HikinoutlogEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #2
0
        public ActionResult DeviceWatch()
        {
            var cacheKey                 = "DeviceWatch";//缓存键的值
            var cacheService             = CacheFactory.Cache();
            HikinoutlogEntity cacheValue = cacheService.GetCache <HikinoutlogEntity>(cacheKey);

            if (cacheValue == null)
            {
                cacheValue = hikinoutlogbll.GetFirsetData();
                //写入缓存
                Task.Run(() =>
                {
                    cacheService.WriteCache(cacheValue, cacheKey, DateTime.Now.AddSeconds(6));
                });
            }
            return(ToJsonResult(cacheValue));
        }
Пример #3
0
 /// <summary>
 /// 人员通道提交
 /// </summary>
 /// <param name="insert"></param>
 /// <param name="update"></param>
 public void UserAisleSave(HikinoutlogEntity insert, HikinoutlogEntity update)
 {
     service.UserAisleSave(insert, update);
 }
Пример #4
0
        /// <summary>
        /// 通过回调添加通过记录
        /// </summary>
        /// <param name="carlog"></param>
        public void BackAddPassLog(CarinlogEntity carlog, string DeviceName, string imgUrl)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                List <HikinoutlogEntity>      HikList  = new List <HikinoutlogEntity>();
                HikinoutlogEntity             inuser   = null;
                Repository <UserEntity>       Userdb   = new Repository <UserEntity>(DbFactory.Base());
                List <UserEntity>             userlist = Userdb.FindList("select * from base_user").ToList();
                Repository <DepartmentEntity> Deptdb   = new Repository <DepartmentEntity>(DbFactory.Base());
                List <DepartmentEntity>       Deptlist = Deptdb.FindList("select * from base_department").ToList();
                //如果是班车则关联进行人员进厂记录操作
                if (carlog.Type == 0)
                {
                    //将该车1小时内的打卡记录都变为已进场
                    Repository <CarrideEntity> inlogdb = new Repository <CarrideEntity>(DbFactory.Base());
                    string sql =
                        string.Format(
                            "select * from BIS_CARRIDE  where CID ='{0}' and  STATUS=0 and TO_CHAR(SCANCODETIME,'yyyy-MM-dd hh24:mm:ss')>='{1}'",
                            carlog.CID, DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm:ss"));
                    List <CarrideEntity> Inlist = inlogdb.FindList(sql).ToList();
                    if (Inlist.Count > 0)
                    {
                        for (int i = 0; i < Inlist.Count; i++)
                        {
                            Inlist[i].Status       = 1;
                            Inlist[i].ModifyDate   = carlog.CreateDate;
                            Inlist[i].ModifyUserId = "System";
                            Inlist[i].Lid          = carlog.ID;

                            UserEntity user = userlist.Where(it => it.UserId == Inlist[i].CreateUserId).FirstOrDefault();
                            if (user != null)
                            {
                                var dept = Deptlist.Where(it => it.DepartmentId == user.DepartmentId).FirstOrDefault();
                                //增加海康设备出入表记录
                                HikinoutlogEntity Hik = new HikinoutlogEntity();
                                Hik.AreaName = carlog.Address;



                                Hik.DeptId = user.DepartmentId;
                                if (dept != null)
                                {
                                    Hik.DeptName = dept.FullName;
                                }
                                else
                                {
                                    Hik.DeptName = "";
                                }


                                Hik.CreateDate         = carlog.CreateDate;
                                Hik.CreateUserId       = "System";
                                Hik.CreateUserDeptCode = "00";
                                Hik.CreateUserOrgCode  = "00";
                                Hik.DeviceName         = DeviceName;
                                Hik.DeviceType         = 1;
                                Hik.EventType          = 2;
                                Hik.ID         = Guid.NewGuid().ToString();
                                Hik.InOut      = carlog.Status;
                                Hik.UserId     = user.UserId;
                                Hik.UserName   = user.RealName;
                                Hik.UserType   = 0;
                                Hik.ScreenShot = imgUrl;
                                Hik.IsOut      = 0;
                                if (carlog.Status == 1)
                                {
                                    string Hikinoutsql = "select * from BIS_HIKINOUTLOG where userid='" + Hik.UserId + "' and InOut=0 order by createdate desc";
                                    Repository <HikinoutlogEntity> Hikinoutlog = new Repository <HikinoutlogEntity>(DbFactory.Base());

                                    //如果是出门则要先找到该人员对应的入场记录进行更改
                                    inuser = Hikinoutlog.FindList(Hikinoutsql).FirstOrDefault();
                                    if (inuser != null)
                                    {
                                        inuser.IsOut        = 1;
                                        inuser.InId         = Hik.ID;
                                        inuser.OutTime      = carlog.CreateDate;
                                        inuser.ModifyDate   = carlog.CreateDate;
                                        inuser.ModifyUserId = "System";
                                    }
                                }
                                if (inuser != null)
                                {
                                    res.Update <HikinoutlogEntity>(inuser);
                                }

                                res.Insert <HikinoutlogEntity>(Hik);
                            }
                        }

                        res.Update <CarrideEntity>(Inlist);
                    }
                }
                else if (carlog.Type == 1)
                {
                    UserEntity user = userlist.Where(it => it.UserId == carlog.DriverID).FirstOrDefault();
                    if (user != null)
                    {
                        var dept = Deptlist.Where(it => it.DepartmentId == user.DepartmentId).FirstOrDefault();
                        //增加海康设备出入表记录
                        HikinoutlogEntity Hik = new HikinoutlogEntity();
                        Hik.AreaName = carlog.Address;
                        Hik.DeptId   = user.DepartmentId;
                        if (dept != null)
                        {
                            Hik.DeptName = dept.FullName;
                        }
                        else
                        {
                            Hik.DeptName = "";
                        }
                        Hik.CreateDate         = carlog.CreateDate;
                        Hik.CreateUserId       = "System";
                        Hik.CreateUserDeptCode = "00";
                        Hik.CreateUserOrgCode  = "00";
                        Hik.DeviceName         = DeviceName;
                        Hik.DeviceType         = 1;
                        Hik.EventType          = 2;
                        Hik.ID         = Guid.NewGuid().ToString();
                        Hik.InOut      = carlog.Status;
                        Hik.UserId     = user.UserId;
                        Hik.UserName   = user.RealName;
                        Hik.UserType   = 0;
                        Hik.ScreenShot = imgUrl;
                        Hik.IsOut      = 0;
                        if (carlog.Status == 1)
                        {
                            string Hikinoutsql = "select * from BIS_HIKINOUTLOG where userid='" + Hik.UserId + "' and InOut=0 order by createdate desc";
                            Repository <HikinoutlogEntity> Hikinoutlog = new Repository <HikinoutlogEntity>(DbFactory.Base());

                            //如果是出门则要先找到该人员对应的入场记录进行更改
                            inuser = Hikinoutlog.FindList(Hikinoutsql).FirstOrDefault();
                            if (inuser != null)
                            {
                                inuser.IsOut        = 1;
                                Hik.IsOut           = 1;
                                inuser.InId         = Hik.ID;
                                inuser.OutTime      = carlog.CreateDate;
                                inuser.ModifyDate   = carlog.CreateDate;
                                inuser.ModifyUserId = "System";
                            }
                        }
                        if (inuser != null)
                        {
                            res.Update <HikinoutlogEntity>(inuser);
                        }

                        res.Insert <HikinoutlogEntity>(Hik);
                    }
                }
                else if (carlog.Type == 3)
                {
                    Repository <CarUserFileImgEntity> visitlog = new Repository <CarUserFileImgEntity>(DbFactory.Base());
                    string visitsql = "select * from bis_usercarfileimg where baseid='" + carlog.CID + "'";
                    List <CarUserFileImgEntity> visList = visitlog.FindList(visitsql).ToList();
                    if (visList.Count > 0)
                    {
                        foreach (var vist in visList)
                        {
                            //增加海康设备出入表记录
                            HikinoutlogEntity Hik = new HikinoutlogEntity();
                            Hik.AreaName           = carlog.Address;
                            Hik.DeptId             = "";
                            Hik.DeptName           = "拜访人员";
                            Hik.CreateDate         = carlog.CreateDate;
                            Hik.CreateUserId       = "System";
                            Hik.CreateUserDeptCode = "00";
                            Hik.CreateUserOrgCode  = "00";
                            Hik.DeviceName         = DeviceName;
                            Hik.DeviceType         = 1;
                            Hik.EventType          = 2;
                            Hik.ID         = Guid.NewGuid().ToString();
                            Hik.InOut      = carlog.Status;
                            Hik.UserId     = vist.ID;
                            Hik.UserName   = vist.Username;
                            Hik.UserType   = 2;
                            Hik.ScreenShot = imgUrl;
                            Hik.IsOut      = 0;
                            if (carlog.Status == 1)
                            {
                                string Hikinoutsql = "select * from BIS_HIKINOUTLOG where userid='" + Hik.UserId + "' and InOut=0 order by createdate desc";
                                Repository <HikinoutlogEntity> Hikinoutlog = new Repository <HikinoutlogEntity>(DbFactory.Base());

                                //如果是出门则要先找到该人员对应的入场记录进行更改
                                inuser = Hikinoutlog.FindList(Hikinoutsql).FirstOrDefault();
                                if (inuser != null)
                                {
                                    inuser.IsOut        = 1;
                                    Hik.IsOut           = 1;
                                    inuser.InId         = Hik.ID;
                                    inuser.OutTime      = carlog.CreateDate;
                                    inuser.ModifyDate   = carlog.CreateDate;
                                    inuser.ModifyUserId = "System";
                                }
                            }

                            if (inuser != null)
                            {
                                res.Update <HikinoutlogEntity>(inuser);
                            }

                            res.Insert <HikinoutlogEntity>(Hik);
                        }
                    }
                }
                else if (carlog.Type == 4)
                {
                    //增加海康设备出入表记录
                    HikinoutlogEntity Hik = new HikinoutlogEntity();
                    Hik.AreaName           = carlog.Address;
                    Hik.DeptId             = "";
                    Hik.DeptName           = "物料人员";
                    Hik.CreateDate         = carlog.CreateDate;
                    Hik.CreateUserId       = "System";
                    Hik.CreateUserDeptCode = "00";
                    Hik.CreateUserOrgCode  = "00";
                    Hik.DeviceName         = DeviceName;
                    Hik.DeviceType         = 1;
                    Hik.EventType          = 2;
                    Hik.ID         = Guid.NewGuid().ToString();
                    Hik.InOut      = carlog.Status;
                    Hik.UserId     = carlog.ID;
                    Hik.UserName   = carlog.DriverName;
                    Hik.UserType   = 2;
                    Hik.ScreenShot = imgUrl;
                    Hik.IsOut      = 0;
                    if (carlog.Status == 1)
                    {
                        string Hikinoutsql =
                            "select * from BIS_HIKINOUTLOG where userid='" + Hik.UserId + "' and InOut=0 order by createdate desc";
                        Repository <HikinoutlogEntity> Hikinoutlog =
                            new Repository <HikinoutlogEntity>(DbFactory.Base());

                        //如果是出门则要先找到该人员对应的入场记录进行更改
                        inuser = Hikinoutlog.FindList(Hikinoutsql).FirstOrDefault();
                        if (inuser != null)
                        {
                            inuser.IsOut        = 1;
                            Hik.IsOut           = 1;
                            inuser.InId         = Hik.ID;
                            inuser.OutTime      = carlog.CreateDate;
                            inuser.ModifyDate   = carlog.CreateDate;
                            inuser.ModifyUserId = "System";
                        }
                    }

                    if (inuser != null)
                    {
                        res.Update <HikinoutlogEntity>(inuser);
                    }

                    res.Insert <HikinoutlogEntity>(Hik);
                }
                else if (carlog.Type == 5)
                {
                    //危化品车辆 为司机添加进出场记录
                    //增加海康设备出入表记录
                    HikinoutlogEntity Hik = new HikinoutlogEntity();
                    Hik.AreaName           = carlog.Address;
                    Hik.DeptId             = "";
                    Hik.DeptName           = "危化品人员";
                    Hik.CreateDate         = carlog.CreateDate;
                    Hik.CreateUserId       = "System";
                    Hik.CreateUserDeptCode = "00";
                    Hik.CreateUserOrgCode  = "00";
                    Hik.DeviceName         = DeviceName;
                    Hik.DeviceType         = 1;
                    Hik.EventType          = 2;
                    Hik.ID         = Guid.NewGuid().ToString();
                    Hik.InOut      = carlog.Status;
                    Hik.UserId     = carlog.ID;
                    Hik.UserName   = carlog.DriverName;
                    Hik.UserType   = 2;
                    Hik.ScreenShot = imgUrl;
                    Hik.IsOut      = 0;
                    if (carlog.Status == 1)
                    {
                        string Hikinoutsql =
                            "select * from BIS_HIKINOUTLOG where userid='" + Hik.UserId + "' and InOut=0 order by createdate desc";
                        Repository <HikinoutlogEntity> Hikinoutlog =
                            new Repository <HikinoutlogEntity>(DbFactory.Base());

                        //如果是出门则要先找到该人员对应的入场记录进行更改
                        inuser = Hikinoutlog.FindList(Hikinoutsql).FirstOrDefault();
                        if (inuser != null)
                        {
                            inuser.IsOut        = 1;
                            inuser.InId         = Hik.ID;
                            inuser.OutTime      = carlog.CreateDate;
                            inuser.ModifyDate   = carlog.CreateDate;
                            inuser.ModifyUserId = "System";
                        }
                    }

                    if (inuser != null)
                    {
                        res.Update <HikinoutlogEntity>(inuser);
                    }

                    res.Insert <HikinoutlogEntity>(Hik);
                }



                //如果是出门状态 则把之前该车牌的进门状态改为已出门
                if (carlog.Status == 1)
                {
                    string sql = string.Format(@"update bis_carinlog set isleave=1 where carno='{0}' and status=0 and isleave=0",
                                               carlog.CarNo);
                    //将该车1小时内的打卡记录都变为已进场
                    res.ExecuteBySql(sql);
                }

                res.Insert <CarinlogEntity>(carlog);

                res.Commit();
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
Пример #5
0
 public ActionResult SaveForm(string keyValue, HikinoutlogEntity entity)
 {
     hikinoutlogbll.SaveForm(keyValue, entity);
     return(Success("操作成功。"));
 }