/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
public ActionResult SaveForm(string keyValue, CargpsEntity entity) { cargpsbll.SaveForm(keyValue, entity); return(Success("操作成功。")); }