public DBProcessResult<int> AddVehicleOperateTran(EMVehicle entity, string sUserName) { DBProcessResult<int> result = new DBProcessResult<int>(); try { VehicleDAL ve = new VehicleDAL(); IdentityNoService noService = new IdentityNoService(); bool isLiceNum = ve.IsLicenceNumber(entity.TenantCode, entity.LicenceNumber); if (isLiceNum) { result.IsSuccess = false; result.Message = "已经有相同车牌号的车辆"; result.ReturnValue = -1; return result; } EMGpsType gpsTypeEntity = ve.GetGpsTypeByGpsTypeId(entity.GPSTypeID); entity.GPSTypeName = gpsTypeEntity.TypeName; bool isDev = ve.IsDeviceNo(entity.DeviceNo); if (isDev != true) { //新增车辆历史数据配置 string tableName = GetTableNameByCondition(gpsTypeEntity.PrefixCode); EHisotryDataStoreTables table = ve.GetHistoryTable(tableName); if (table == null) { result.IsSuccess = false; result.Message = string.Format("找不到对应的历史数据表[{0}],请联系DBA!", tableName); result.ReturnValue = -1; return result; } //新增车辆 EnumGPSCodeRule codeType = (EnumGPSCodeRule)gpsTypeEntity.GPSCodeRule; entity.GPSCode = GetGPSCodeHelper.GetGPSCode(gpsTypeEntity.PrefixCode, codeType, entity.SIMNo, entity.DeviceNo); if (entity.DeviceNo.Length == gpsTypeEntity.MachineCodeLength) { GetVehicleGroupID(entity); //客户管理中新增车辆时,没有车辆组,默认增加到顶级车辆组 EHistoryDataStoreConfig configEntity = new EHistoryDataStoreConfig(); configEntity.RecordID = Guid.NewGuid(); configEntity.CreateDate = DateTime.Now; configEntity.Enable = true; configEntity.StoreTable = table; configEntity.VehicleCode = entity.VehicleCode; //新增车辆Log EMVehicleLog vehicleLog = new EMVehicleLog() { BeginDate = DateTime.Now, LogID = noService.GetVehicleLogID(), DeviceNo = entity.DeviceNo, EndDate = null, GPSCode = entity.GPSCode, GPSTypeID = entity.GPSTypeID, InitMileage = entity.InitMileage, LicenceNumber = entity.LicenceNumber, Operator = sUserName, SIMNo = entity.SIMNo, TenantCode = entity.TenantCode, VehicleCode = entity.VehicleCode, GroupID = entity.GroupID }; var res = ve.AddVehicleOperTrans(entity, configEntity, vehicleLog); result.IsSuccess = res.State; result.Message = res.Msg; result.ReturnValue = new VehicleDAL().SelectCount(entity.TenantCode.ToString()); } else { result.IsSuccess = false; result.Message = string.Format(@"GPS设备号长度为{0},请重新填写!", gpsTypeEntity.MachineCodeLength); result.ReturnValue = -1; } } else { result.IsSuccess = false; result.Message = "设备号已存在,请重新填写!"; result.ReturnValue = -1; } } catch (Exception ex) { result.IsSuccess = false; result.Message = ex.Message; result.ReturnValue = -1; Logger.Error("VehicleManagerWCFService.AddVehicleOperateTran(EMVehicle entity, string sUserName);" + ex.Message, ex); } return result; }
public DBProcessResult AddVehicleOperate(EMVehicle entity, string sUserName) { DBProcessResult result = new DBProcessResult(); try { VehicleDAL ve = new VehicleDAL(); IdentityNoService noService = new IdentityNoService(); bool isLiceNum = ve.IsLicenceNumber(entity.TenantCode, entity.LicenceNumber); if (isLiceNum) { result.IsSuccess = false; result.Message = "已经有相同车牌号的车辆"; return result; } //EMVehicle entity = ConvertHelper.ConvertObj<EMVehicleViewModel, EMVehicle>(view); EMGpsType gpsTypeEntity = ve.GetGpsTypeByGpsTypeId(entity.GPSTypeID); entity.GPSTypeName = gpsTypeEntity.TypeName; bool isDev = ve.IsDeviceNo(entity.DeviceNo); if (isDev != true) { //新增车辆历史数据配置 string tableName = GetTableNameByCondition(gpsTypeEntity.PrefixCode); EHisotryDataStoreTables table = ve.GetHistoryTable(tableName); if (table == null) { result.IsSuccess = false; result.Message = string.Format("找不到对应的历史数据表[{0}],请联系DBA!", tableName); return result; } //新增车辆 EnumGPSCodeRule codeType = (EnumGPSCodeRule)gpsTypeEntity.GPSCodeRule; entity.GPSCode = GetGPSCodeHelper.GetGPSCode(gpsTypeEntity.PrefixCode, codeType, entity.SIMNo, entity.DeviceNo); if (entity.DeviceNo.Length == gpsTypeEntity.MachineCodeLength) { GetVehicleGroupID(entity); //客户管理中新增车辆时,没有车辆组,默认增加到顶级车辆组 Logger.Info("新增车辆: " + entity.LicenceNumber + "开始"); ve.AddVehicle(entity); Logger.Info("新增车辆: " + entity.LicenceNumber + "结束"); EHistoryDataStoreConfig configEntity = new EHistoryDataStoreConfig(); configEntity.RecordID = Guid.NewGuid(); configEntity.CreateDate = DateTime.Now; configEntity.Enable = true; configEntity.StoreTable = table; configEntity.VehicleCode = entity.VehicleCode; Logger.Info("新增车辆 gps_historydatastoreconfig: " + configEntity.StoreTable.TableName + "开始"); ve.AddHistoryDataStoreConfig(configEntity); Logger.Info("新增车辆 gps_historydatastoreconfig: " + configEntity.StoreTable.TableName + "结束"); //新增车辆Log EMVehicleLog vehicleLog = new EMVehicleLog() { BeginDate = DateTime.Now, LogID = noService.GetVehicleLogID(), DeviceNo = entity.DeviceNo, EndDate = null, GPSCode = entity.GPSCode, GPSTypeID = entity.GPSTypeID, InitMileage = entity.InitMileage, LicenceNumber = entity.LicenceNumber, Operator = sUserName, SIMNo = entity.SIMNo, TenantCode = entity.TenantCode, VehicleCode = entity.VehicleCode, GroupID = entity.GroupID, }; Logger.Info("新增车辆 movo_vehiclelog: " + configEntity.StoreTable.TableName + "开始"); ve.AddVehicleLog(vehicleLog); Logger.Info("新增车辆 movo_vehiclelog: " + configEntity.StoreTable.TableName + "结束"); result.IsSuccess = true; } else { result.IsSuccess = false; result.Message = string.Format(@"GPS设备号长度为{0},请重新填写!", gpsTypeEntity.MachineCodeLength); } } else { result.IsSuccess = false; result.Message = "设备号已存在,请重新填写!"; } } catch (Exception ex) { result.IsSuccess = false; result.Message = ex.Message; Logger.Info("新增车辆:" + ex.StackTrace + "【" + ex.Message + "】"); } return result; }