private void ReleaseGPSEquipment(string keyValue) { #region 定位数据发送 int Port = 0; string IP = CacheFactory.Cache().GetCache <string>("SocketUrl:IP"); string PostStr = CacheFactory.Cache().GetCache <string>("SocketUrl:Port"); if (!string.IsNullOrEmpty(PostStr)) { Port = Convert.ToInt32(PostStr); } if (string.IsNullOrEmpty(IP) || Port == 0) { var data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'"); foreach (var item in data) { if (item.ItemName == "IP") { IP = item.ItemValue; CacheFactory.Cache().WriteCache <string>(item.ItemValue, "SocketUrl:IP"); } else if (item.ItemName == "Port") { Port = Convert.ToInt32(item.ItemValue); CacheFactory.Cache().WriteCache <string>(item.ItemValue, "SocketUrl:Port"); } } } CarAlgorithmEntity car = new CarAlgorithmEntity(); car.ID = keyValue; car.State = 1; SocketHelper.SendMsg(car.ToJson(), IP, Port); #endregion }
public ActionResult CarOut(string keyValue, string Note, int type, List <PersongpsEntity> pergps) { //根据危化品类型添加二级节点 var data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'"); string IP = ""; int Port = 0; foreach (var item in data) { if (item.ItemName == "IP") { IP = item.ItemValue; } else if (item.ItemName == "Port") { Port = Convert.ToInt32(item.ItemValue); } } visitcarbll.CarOut(keyValue, Note, type, pergps); CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.ID = keyValue; Car.State = 1; SocketHelper.SendMsg(Car.ToJson(), IP, Port); DataItemDetailBLL pdata = new DataItemDetailBLL(); string key = string.Empty; // "21049470"; string sign = string.Empty; // "4gZkNoh3W92X6C66Rb6X"; var pitem = pdata.GetItemValue("Hikappkey"); //海康服务器密钥 var url = pdata.GetItemValue("HikBaseUrl"); //海康服务器地址 if (!string.IsNullOrEmpty(pitem)) { key = pitem.Split('|')[0]; sign = pitem.Split('|')[1]; } if (type == 0) { VisitcarEntity car = visitcarbll.GetEntity(keyValue); HikOut(url, key, sign, car.CarNo); } else if (type == 1) { OperticketmanagerBLL obll = new OperticketmanagerBLL(); OperticketmanagerEntity op = obll.GetEntity(keyValue); HikOut(url, key, sign, op.Platenumber); } else if (type == 2) { HazardouscarBLL hbll = new HazardouscarBLL(); HazardouscarEntity ha = hbll.GetEntity(keyValue); HikOut(url, key, sign, ha.CarNo); } return(Success("操作成功。")); }
/// <summary> /// 初始化拜访\危化品\物料车辆 /// </summary> /// <returns></returns> public List <CarAlgorithmEntity> IniVHOCar() { //将该车1小时内的打卡记录都变为已进场 Repository <CarAlgorithmEntity> inlogdb = new Repository <CarAlgorithmEntity>(DbFactory.Base()); string sql = string.Format( "select * from (select ID,carno,gpsid,gpsname,linename,'3' as type,'0' as State,'' as GoodsName from bis_visitcar where state='3'" + "union all" + " select ID,carno,gpsid,gpsname,HazardousName as linename,'5' as type,'0' as State,'' as GoodsName from bis_hazardouscar where state='3')"); List <CarAlgorithmEntity> CarList = inlogdb.FindList(sql).ToList(); Repository <OperticketmanagerEntity> wldb = new Repository <OperticketmanagerEntity>(DbFactory.Base()); List <OperticketmanagerEntity> wllist = wldb.IQueryable(it => it.ExamineStatus == 3).ToList(); if (wllist.Count > 0) { foreach (var op in wllist) { CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.CarNo = op.Platenumber; Car.GPSID = op.GpsId; Car.GPSName = op.GpsName; Car.ID = op.ID; Car.State = 0; Car.Type = 4; string Dress = op.Dress; Car.GoodsName = Dress; int ISwharf = op.ISwharf; string Transporttype = op.Transporttype; if (Transporttype == "提货") { Car.LineName = op.Dress + Transporttype; if (ISwharf == 1) { Car.LineName += "(码头)"; } } else { if (ISwharf == 1) { Car.LineName = "物料转运(码头)"; } else { Car.LineName = "转运(纯称重)"; } } CarList.Add(Car); } } return(CarList); }
/// <summary> /// 删除数据 /// </summary> /// <param name="keyValue">主键</param> public void RemoveForm(string keyValue, string IP, int Port) { try { var data = this.BaseRepository().FindEntity(keyValue); if (data != null) {//同步删除海康平台车辆 OperHaiKangRecord(data, 2, ""); } this.BaseRepository().Delete(keyValue); //给计算模块发送出厂删除指令 CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.ID = keyValue; Car.State = 1; SocketHelper.SendMsg(Car.ToJson(), IP, Port); } catch (Exception) { throw; } }
/// <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 ChangeState(string keyvalue, int type, int state) { //根据危化品类型添加二级节点 #region 获取编码管理配置信息 var data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'"); string IP = ""; int Port = 0; foreach (var item in data) { if (item.ItemName == "IP") { IP = item.ItemValue; } else if (item.ItemName == "Port") { Port = Convert.ToInt32(item.ItemValue); } } DataItemDetailBLL pdata = new DataItemDetailBLL(); string key = string.Empty; // "21049470"; string sign = string.Empty; // "4gZkNoh3W92X6C66Rb6X"; var pitem = pdata.GetItemValue("Hikappkey"); //海康服务器密钥 var baseurl = pdata.GetItemValue("HikBaseUrl"); //海康服务器地址 if (!string.IsNullOrEmpty(pitem)) { key = pitem.Split('|')[0]; sign = pitem.Split('|')[1]; } #endregion state++; if (type == 0) {//拜访车辆 VisitcarEntity car = visitcarbll.GetEntity(keyvalue); car.State = state; car.InTime = DateTime.Now; visitcarbll.SaveForm(keyvalue, car); CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.CarNo = car.CarNo; Car.GPSID = car.GPSID; Car.GPSName = car.GPSNAME; Car.ID = car.ID; Car.Type = 3; Car.State = 0; Car.LineName = car.LineName; Car.GoodsName = ""; SocketHelper.SendMsg(Car.ToJson(), IP, Port); //车辆放行 (疫情期间此功能暂时屏蔽) //AddCarpermission(baseurl, key, sign, car.CarNo, car.Phone, car.Dirver); var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign); return(Content(baselist.ToJson())); } else if (type == 3) {//拜访人员 CarUserEntity car = CarUserbll.GetEntity(keyvalue); car.State = type; car.InTime = DateTime.Now; CarUserbll.SaveForm(keyvalue, car, null); //人员添加出入权限 var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign); return(Content(baselist.ToJson())); } else if (type == 1) {//物料车辆 string parkNames = "1号岗,二号地磅"; OperticketmanagerBLL obll = new OperticketmanagerBLL(); OperticketmanagerEntity op = obll.GetEntity(keyvalue); op.ExamineStatus = state; if (state == 3) { op.Getdata = DateTime.Now; } obll.SaveForm(keyvalue, op); CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.CarNo = op.Platenumber; Car.GPSID = op.GpsId; Car.GPSName = op.GpsName; Car.ID = op.ID; Car.State = 0; Car.Type = 4; string Dress = op.Dress; Car.GoodsName = Dress; int ISwharf = op.ISwharf; string Transporttype = op.Transporttype; if (Transporttype == "提货") { Car.LineName = op.Dress + Transporttype; if (ISwharf == 1) { Car.LineName += "(码头)"; parkNames += ",码头岗"; } } else { if (ISwharf == 1) { Car.LineName = "物料转运(码头)"; parkNames += ",码头岗"; } else { Car.LineName = "转运(纯称重)"; } } SocketHelper.SendMsg(Car.ToJson(), IP, Port); //车辆放行 AddCarpermission(baseurl, key, sign, op.Platenumber, op.DriverName, op.DriverTel, parkNames); return(Success("操作成功。")); } else {//危化品车辆 HazardouscarBLL hbll = new HazardouscarBLL(); HazardouscarEntity ha = hbll.GetEntity(keyvalue); ha.State = state; ha.InTime = DateTime.Now; hbll.Update(keyvalue, ha); CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.CarNo = ha.CarNo; Car.GPSID = ha.GPSID; Car.GPSName = ha.GPSNAME; Car.ID = ha.ID; Car.Type = 5; Car.State = 0; Car.LineName = ha.HazardousName; Car.GoodsName = ha.HazardousName; SocketHelper.SendMsg(Car.ToJson(), IP, Port); //车辆放行 CarIn(baseurl, key, sign, ha.CarNo, ha.Phone, ha.Dirver); //人员添加出入权限 var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign); return(Content(baselist.ToJson())); } }
private void BindGPSEquipment(OperticketmanagerEntity entity) { #region 定位数据发送 int Port = 0; string IP = CacheFactory.Cache().GetCache <string>("SocketUrl:IP"); string PostStr = CacheFactory.Cache().GetCache <string>("SocketUrl:Port"); if (!string.IsNullOrEmpty(PostStr)) { Port = Convert.ToInt32(PostStr); } if (string.IsNullOrEmpty(IP) || Port == 0) { var data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'"); foreach (var item in data) { if (item.ItemName == "IP") { IP = item.ItemValue; CacheFactory.Cache().WriteCache <string>(item.ItemValue, "SocketUrl:IP"); } else if (item.ItemName == "Port") { Port = Convert.ToInt32(item.ItemValue); CacheFactory.Cache().WriteCache <string>(item.ItemValue, "SocketUrl:Port"); } } } #endregion string key = CacheFactory.Cache().GetCache <string>("Hik:key"); // "21049470"; string sign = CacheFactory.Cache().GetCache <string>("Hik:sign"); // "4gZkNoh3W92X6C66Rb6X"; string baseUrl = CacheFactory.Cache().GetCache <string>("Hik:baseUrl"); if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(key)) { var pitem = dataItemDetailBLL.GetItemValue("Hikappkey");//海康服务器密钥 if (!string.IsNullOrEmpty(pitem)) { key = pitem.Split('|')[0]; sign = pitem.Split('|')[1]; CacheFactory.Cache().WriteCache <string>(key, "Hik:key"); CacheFactory.Cache().WriteCache <string>(sign, "Hik:sign"); } } if (string.IsNullOrEmpty(baseUrl)) { baseUrl = dataItemDetailBLL.GetItemValue("HikBaseUrl");//海康服务器地址 CacheFactory.Cache().WriteCache <string>(baseUrl, "Hik:baseUrl"); } string parkNames = "1号岗,二号地磅"; entity.ExamineStatus = 3; if (!entity.Getdata.HasValue) { entity.Getdata = DateTime.Now; } operticketmanagerbll.SaveForm(entity.ID, entity); if (!string.IsNullOrEmpty(entity.GpsId)) { CarAlgorithmEntity Car = new CarAlgorithmEntity(); Car.CarNo = entity.Platenumber; Car.GPSID = entity.GpsId; Car.GPSName = entity.GpsName; Car.ID = entity.ID; Car.State = 0; Car.Type = 4; if (entity.Transporttype == "提货") { Car.LineName = entity.Dress + entity.Transporttype; if (entity.ShipLoading == 1) { Car.LineName += "(码头)"; parkNames += ",码头岗"; } } else { if (entity.ShipLoading == 1) { Car.LineName = "物料转运(码头)"; parkNames += ",码头岗"; } else { Car.LineName = "转运(纯称重)"; } } SocketHelper.SendMsg(Car.ToJson(), IP, Port); } //车辆放行 AddCarpermission(baseUrl, key, sign, entity.Platenumber, entity.DriverTel, entity.DriverName, parkNames); }