示例#1
0
        /// <summary>
        /// 改变GPS绑定信息
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        /// <param name="pgpslist"></param>
        public void WlChangeGps(string keyValue, OperticketmanagerEntity entity)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                //将该车1小时内的打卡记录都变为已进场
                Repository <OperticketmanagerEntity> inlogdb = new Repository <OperticketmanagerEntity>(DbFactory.Base());
                OperticketmanagerEntity old = inlogdb.FindEntity(keyValue);
                bool isupdate = false;//是否修改
                if (old.GpsId != entity.GpsId)
                {
                    isupdate = true;
                }
                old.GpsId   = entity.GpsId;
                old.GpsName = entity.GpsName;
                old.Modify(keyValue);
                if (old.ExamineStatus == 1)
                {
                    old.ExamineStatus = 2;


                    CargpsEntity cgps = new CargpsEntity();
                    cgps.AID     = old.ID;
                    cgps.CarNo   = old.Platenumber;
                    cgps.GpsId   = old.GpsId;
                    cgps.GpsName = old.GpsName;
                    cgps.Status  = 0;
                    cgps.Type    = 1;
                    cgps.Create();
                    res.Insert <CargpsEntity>(cgps);
                }
                else
                {
                    if (isupdate)
                    {
                        Repository <CargpsEntity> Carinlogdb = new Repository <CargpsEntity>(DbFactory.Base());
                        CargpsEntity Car = Carinlogdb.IQueryable(it => it.AID == old.ID && it.Status == 0).FirstOrDefault();
                        Car.GpsId   = old.GpsId;
                        Car.GpsName = old.GpsName;
                        Car.Modify(Car.ID);
                        res.Update <CargpsEntity>(Car);
                    }
                }
                res.Update <OperticketmanagerEntity>(old);
                res.Commit();
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
示例#2
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, CargpsEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#3
0
        /// <summary>
        /// 改变GPS绑定信息
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        /// <param name="pgpslist"></param>
        public void ChangeGps(string keyValue, VisitcarEntity entity, List <PersongpsEntity> pgpslist)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                //将该车1小时内的打卡记录都变为已进场
                Repository <VisitcarEntity> inlogdb = new Repository <VisitcarEntity>(DbFactory.Base());
                VisitcarEntity old      = inlogdb.FindEntity(keyValue);
                bool           isupdate = false;//是否修改
                if (old.GPSID != entity.GPSID)
                {
                    isupdate = true;
                }
                old.GPSID   = entity.GPSID;
                old.GPSNAME = entity.GPSNAME;
                old.Modify(keyValue);
                if (old.State == 1)
                {
                    old.State = 2;
                    if (pgpslist != null)
                    {
                        for (int i = 0; i < pgpslist.Count; i++)
                        {
                            pgpslist[i].InTime   = DateTime.Now;
                            pgpslist[i].State    = 0;
                            pgpslist[i].Type     = 0;
                            pgpslist[i].VID      = old.ID;
                            pgpslist[i].UserName = pgpslist[i].UserName.Substring(0, pgpslist[i].UserName.IndexOf(':'));
                            pgpslist[i].Create();
                        }
                        res.Insert <PersongpsEntity>(pgpslist);
                    }

                    CargpsEntity cgps = new CargpsEntity();
                    cgps.AID     = old.ID;
                    cgps.CarNo   = old.CarNo;
                    cgps.GpsId   = old.GPSID;
                    cgps.GpsName = old.GPSNAME;
                    cgps.Status  = 0;
                    cgps.Type    = 1;
                    cgps.Create();

                    res.Insert <CargpsEntity>(cgps);
                }
                else
                {
                    string sql = "";
                    if (pgpslist != null)
                    {
                        for (int i = 0; i < pgpslist.Count; i++)
                        {
                            sql += "update bis_persongps set gpsid='" + pgpslist[i].GPSID + "' , gpsname='" +
                                   pgpslist[i].GPSNAME + "' where id='" + pgpslist[i].ID + "'";
                            res.ExecuteBySql(sql);
                        }
                    }

                    if (isupdate)
                    {
                        Repository <CargpsEntity> Carinlogdb = new Repository <CargpsEntity>(DbFactory.Base());
                        CargpsEntity Car = Carinlogdb.IQueryable(it => it.AID == old.ID && it.Status == 0).FirstOrDefault();
                        Car.GpsId   = old.GPSID;
                        Car.GpsName = old.GPSNAME;
                        Car.Modify(Car.ID);
                        res.Update <CargpsEntity>(Car);
                    }
                }
                res.Update <VisitcarEntity>(old);
                res.Commit();
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
示例#4
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, CarinfoEntity entity, string pitem, string url, string IP, int Port)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                //string key = string.Empty;// "21049470";
                //string sign = string.Empty;// "4gZkNoh3W92X6C66Rb6X";
                //if (!string.IsNullOrEmpty(pitem))
                //{
                //    key = pitem.Split('|')[0];
                //    sign = pitem.Split('|')[1];
                //}

                if (!string.IsNullOrEmpty(keyValue))
                {
                    //将该车1小时内的打卡记录都变为已进场
                    Repository <CarinfoEntity> inlogdb = new Repository <CarinfoEntity>(DbFactory.Base());
                    CarinfoEntity old = inlogdb.FindEntity(keyValue);
                    //判断是否修改GPS信息,如果修改则相应的修改GPS信息数据
                    if (entity.GpsId != null && old.GpsId != entity.GpsId && entity.GpsId.Trim() != "")
                    {
                        string sql = string.Format(@"update bis_cargps set gpsid='{0}',gpsname='{1}' where aid='{2}'", entity.GpsId, entity.GpsName, entity.ID);
                        res.ExecuteBySql(sql);
                    }
                    else if (entity.GpsId == null && old.GpsId != entity.GpsId)
                    {
                        string sql = string.Format(@"update bis_cargps set gpsid='{0}',gpsname='{1}' where aid='{2}'", "", "", entity.ID);
                        res.ExecuteBySql(sql);
                    }

                    entity.Modify(keyValue);
                    if (string.IsNullOrEmpty(entity.Dirver))
                    {
                        entity.Dirver = "";
                    }
                    if (string.IsNullOrEmpty(entity.Remark))
                    {
                        entity.Remark = "";
                    }
                    if (string.IsNullOrEmpty(entity.Phone))
                    {
                        entity.Phone = "";
                    }

                    res.Update <CarinfoEntity>(entity);

                    #region 根据车辆车牌号码同步修改海康那边的车辆数据
                    var data = this.BaseRepository().FindEntity(keyValue);
                    if (data != null)
                    {
                        OperHaiKangRecord(entity, 1, data.CarNo);
                    }
                    #endregion
                    res.Commit();
                    if (!string.IsNullOrEmpty(entity.GpsId) && !string.IsNullOrEmpty(entity.GpsName))
                    {
                        CarAlgorithmEntity Car = new CarAlgorithmEntity();
                        Car.CarNo     = entity.CarNo;
                        Car.GPSID     = entity.GpsId;
                        Car.GPSName   = entity.GpsName;
                        Car.ID        = entity.ID;
                        Car.Type      = Convert.ToInt32(entity.Type);
                        Car.State     = 0;
                        Car.LineName  = "";
                        Car.GoodsName = "";
                        SocketHelper.SendMsg(Car.ToJson(), IP, Port);
                    }
                }
                else
                {
                    entity.Create();
                    #region 先添加海康车辆
                    //var model = new
                    //{
                    //    clientId = 1,
                    //    plateNo = entity.CarNo

                    //};
                    //List<object> modellist = new List<object>();
                    //modellist.Add(model);
                    //string addMsg = SocketHelper.LoadCameraList(model, url, "/artemis/api/resource/v1/vehicle/batch/add", key, sign);
                    //AddCarMsg addcar = JsonConvert.DeserializeObject<AddCarMsg>(addMsg);
                    //if (addcar != null && addcar.code == "0" && addcar.data.successes.Count > 0)
                    //{
                    //    entity.ID = addcar.data.successes[0].vehicleId;
                    //}
                    OperHaiKangRecord(entity, 0, "");
                    #endregion
                    res.Insert <CarinfoEntity>(entity);
                    CargpsEntity gps = new CargpsEntity();
                    gps.AID     = entity.ID;
                    gps.CarNo   = entity.CarNo;
                    gps.GpsId   = entity.GpsId;
                    gps.GpsName = entity.GpsName;
                    gps.Status  = 0;
                    gps.Type    = 0;
                    gps.Create();
                    res.Insert <CargpsEntity>(gps);
                    res.Commit();

                    if (!string.IsNullOrEmpty(entity.GpsId) && !string.IsNullOrEmpty(entity.GpsName))
                    {
                        CarAlgorithmEntity Car = new CarAlgorithmEntity();
                        Car.CarNo     = entity.CarNo;
                        Car.GPSID     = entity.GpsId;
                        Car.GPSName   = entity.GpsName;
                        Car.ID        = entity.ID;
                        Car.Type      = Convert.ToInt32(entity.Type);
                        Car.State     = 0;
                        Car.LineName  = "";
                        Car.GoodsName = "";
                        SocketHelper.SendMsg(Car.ToJson(), IP, Port);
                    }
                }
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
示例#5
0
 public ActionResult SaveForm(string keyValue, CargpsEntity entity)
 {
     cargpsbll.SaveForm(keyValue, entity);
     return(Success("操作成功。"));
 }