src/main/java/com/whyc/controller/BatteryAlarmController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/BatteryAlarmMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BatteryAlarmService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/BatteryAlarmMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/BatteryAlarmController.java
@@ -40,12 +40,12 @@ * @param request * @return */ @GetMapping("onlineVol") @GetMapping("onlinegroupVolAnalysis") @ApiOperation(notes = "", value = "在线电压和组端电压") public Response<Map> getOnlineAndGroupVol(HttpServletRequest request) { public Response<Map> getOnlineAndGroupVolAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); return service.getOnlineAndGroupVol(userId); return service.getOnlineAndGroupVolAnalysis(userId); } @@ -58,38 +58,38 @@ */ @GetMapping("btsStatus") @ApiOperation(notes = "", value = "BTS设备状态") public Response<Map> getBTSEquipState(HttpServletRequest request) { public Response<Map> getBTSEquipStatus(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); return service.getDeviceStatus(userId); return service.getBTSEquipStatus(userId); } @GetMapping("discharge") @GetMapping("dischargeAnalysis") @ApiOperation(notes = "", value = "放电电流") public Response<Map> getDischargeState(HttpServletRequest request) { public Response<Map> getDischargeAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); return service.getDischargeState(userId); return service.getDischargeAnalysis(userId); } @GetMapping("charge") @GetMapping("chargeAnalysis") @ApiOperation(notes = "", value = "放电和 充电电流") public Response<Map> getCharge(HttpServletRequest request) { public Response<Map> getChargeAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); return service.getCharge(userId); return service.getChargeAnalysis(userId); } @GetMapping("monVRT") @GetMapping("monVRTAnalysis") @ApiOperation(notes = "", value = "单体电压、内阻和温度状态") public Response<Map> getMonVRT(HttpServletRequest request) { public Response<Map> getMonVRTAnalysis(HttpServletRequest request) { int userId = CommonUtil.getUser(request).getId(); return service.getMonVRT(userId); return service.getMonVRTAnalysis(userId); } src/main/java/com/whyc/mapper/BatteryAlarmMapper.java
@@ -1,7 +1,6 @@ package com.whyc.mapper; import com.whyc.dto.BatteryAlarmDto; import com.whyc.dto.BatteryInfo; import org.apache.ibatis.annotations.Param; public interface BatteryAlarmMapper { @@ -25,5 +24,22 @@ Integer getHighAlarmsNO(int userId); //根据类型查询告警数量 almSignalId Integer getAlarmsNO(@Param(value = "almSignalId") int almSignalId, @Param(value = "userId") int userId); BatteryAlarmDto getOnlineAndGroupAlarms(@Param(value = "alarmId")int alarmId, @Param(value = "almSignalId") int almSignalId, @Param(value = "userId") int userId); //放电电流 告警机房总数 BatteryAlarmDto getLowDischargeAlarms(@Param(value = "userId")int userId, @Param(value = "almSignalId")int almSignalId); //单体电压 高、低 告警数量 Integer getVolAlamHighLow(@Param(value = "userId")int userId, @Param(value = "almSignalId")int almSignalId); //单体内阻 高、低 告警数量 Integer getResistanceAlamHighLow(@Param(value = "userId")int userId, @Param(value = "almSignalId")int almSignalId); //单体温度 高、低 告警数量 Integer getTemperatureAlamHighLow(@Param(value = "userId")int userId, @Param(value = "almSignalId")int almSignalId); //根据 alm_id 查询告警机房总数 Integer getVRTTotalAlarms(@Param(value = "userId")int userId, @Param(value = "almId")int almId); } src/main/java/com/whyc/service/BatteryAlarmService.java
@@ -78,7 +78,7 @@ * @param userId * @return */ public Response getOnlineAndGroupVol(int userId) { public Response<Map> getOnlineAndGroupVolAnalysis(int userId) { // select alm_signal_id,count(alm_signal_id) as num from db_alarm.tb_battalarm_data alarm where alm_id in (119001,119002,119003,119004) Response<Map> response = new Response(); //TODO RZG HashMap<String, Object> resultMap = new HashMap<>(); @@ -86,21 +86,24 @@ Map<String, Integer> errMap = new HashMap<>();//故障数量 try { Integer highAlarmsNO = mapper.getAlarmsNO(AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh, userId); Integer lowAlarmsNO = mapper.getAlarmsNO(AlarmConstant.ALM_SIGNAL_ID_OnlineVolLow, userId); BatteryAlarmDto onlinebatteryAlarmDto = mapper.getOnlineAndGroupAlarms(AlarmConstant.Alarm_res_Monomer,AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh, userId); BatteryAlarmDto groupbatteryAlarmDto = mapper.getOnlineAndGroupAlarms(AlarmConstant.Alarm_vol_Group,AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh, userId); resMap.put("highAlarmsNO", highAlarmsNO); //高告警数量 alm_signal_id:online 1 high; 2 low resMap.put("lowAlarmsNO", lowAlarmsNO); //低告警数量 Integer highAlarmNum = onlinebatteryAlarmDto.getNum(); Integer stationNum = onlinebatteryAlarmDto.getStationNum(); resMap.put("highAlarmsNO", 1); //高告警数量 alm_signal_id:online 1 high; 2 low resMap.put("lowAlarmsNO", 1); //低告警数量 resMap.put("totalAlarmsScale", 1); //告警总数比例 Integer totalAlarms = mapper.getTotalAlarms(userId); resMap.put("totalAlarms", 1); //告警总数 Integer totalAlarmNum = mapper.getTotalAlarms(userId); resMap.put("告警总数", totalAlarmNum); //告警总数 Integer totalAlarmRooms = mapper.getTotalAlarmRooms(userId); resMap.put("totalAlarmRooms", 1); //告警机房总数 resMap.put("lowAlarmRoomsScale", 1); //低告警机房数比例 resultMap.put("resMap", resMap); resultMap.put("内阻测试数量", resMap); errMap.put("highAlarmsNO", 1); //高告警数量 @@ -109,7 +112,7 @@ errMap.put("totalAlarms", 1); //告警总数 errMap.put("totalAlarmRooms", 1); //告警机房总数 errMap.put("lowAlarmRoomsScale", 1); //低告警机房数比例 resultMap.put("errMap", errMap); resultMap.put("故障数量", errMap); response.setCode(1); response.setData(resultMap); @@ -129,10 +132,10 @@ * @param userId * @return */ public Response getDeviceStatus(int userId) { public Response<Map> getBTSEquipStatus(int userId) { Response<Map> response = new Response(); //TODO RZG Map<String, Integer> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>(); try { @@ -161,27 +164,43 @@ /** * 放电电流 Alarm_curr_Discharge =119004 * * alm_signal_id 查询条件 ALM_SIGNAL_ID_DisChargeCurrLow * @param userId * @return */ public Response getDischargeState(int userId) { public Response<Map> getDischargeAnalysis(int userId) { Response<Map> response = new Response(); //TODO RZG Map<String, Integer> resultMap = new HashMap<>(); Response<Map> response = new Response(); Map<String, Object> resultMap = new HashMap<>(); try { resultMap.put("lowAlarmsNO", 1); //低告警数量 alm_signal_id:DisChargeCurr 7 high; 8 low resultMap.put("totalAlarmRooms", 1); //告警机房总数 resultMap.put("alarmRoomsScale", 1); //告警机房数比例 resultMap.put("totalAlarms", 1); //告警总数 resultMap.put("totalAlarmsScale", 1); //告警总数比例 //放电电流低告警数和对应的告警机房数 BatteryAlarmDto batteryAlarmDto = mapper.getLowDischargeAlarms(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrLow); int disChargealarmNum = batteryAlarmDto.getNum(); int disChargestationNum = batteryAlarmDto.getStationNum(); //总告警数 Integer totalAlarmNum = mapper.getTotalAlarms(userId); //是所有类型告警总数,无条件? //总机房数 int totalStationNum = infoMapper.getStationCount(userId); //容量低告警占比 double disChargeLowRate = BigDecimal.valueOf(disChargealarmNum).divide(BigDecimal.valueOf(totalAlarmNum), 2, RoundingMode.HALF_UP).doubleValue(); String disChargeLowRateStr = (int)(disChargeLowRate*100)+"%"; //容量低告警机房占比 double disChargeLowStationRate = BigDecimal.valueOf(disChargestationNum).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue(); String disChargeLowStationRateStr = (int)(disChargeLowStationRate*100)+"%"; resultMap.put("低告警数量", disChargealarmNum); //低告警数量 alm_signal_id:DisChargeCurr 7 high; 8 low resultMap.put("告警机房总数", disChargestationNum); //告警机房总数 resultMap.put("告警机房数比例", disChargeLowRateStr); //告警机房数比例 resultMap.put("告警总数", totalAlarmNum); //告警总数 resultMap.put("告警总数比例", disChargeLowStationRateStr); //告警总数比例 response.setCode(1); response.setData(resultMap); } catch (Exception e) { e.printStackTrace(); response.setCode(0); return response; return response.setCode(0); } return response; } @@ -194,7 +213,7 @@ * @param userId * @return */ public Response getCharge(int userId) { public Response<Map> getChargeAnalysis(int userId) { Response<Map> response = new Response(); //TODO RZG HashMap<String, Object> resultMap = new HashMap<>(); @@ -225,41 +244,100 @@ /** * 单体电压、内阻和温度 * alm_id 电池告警参数 * 三个告警总数不同,带条件?电压、内阻、温度 * @param userId * @return */ public Response getMonVRT(int userId) { public Response<Map> getMonVRTAnalysis(int userId) { Response<Map> response = new Response(); //TODO RZG HashMap<String, Object> resultMap = new HashMap<>(); Map<String, Integer> monVolMap = new HashMap<>();//单体电压 Alarm_vol_Monomer =119005; Map<String, Integer> monResMap = new HashMap<>();//单体内阻 Alarm_res_Monomer =119007 Map<String, Integer> monTemMap = new HashMap<>();//单体温度 Alarm_tmp_Monomer =119006 Map<String, Object> monVolMap = new HashMap<>();//单体电压 Alarm_vol_Monomer =119005; Map<String, Object> monResMap = new HashMap<>();//单体内阻 Alarm_res_Monomer =119007 Map<String, Object> monTemMap = new HashMap<>();//单体温度 Alarm_tmp_Monomer =119006 monVolMap.put("highAlarmsNO", 1); //高告警数量 alm_signal_id 9 monVolMap.put("lowAlarmsNO", 1); //低告警数量 alm_signal_id 10 monVolMap.put("totalAlarms", 1); //告警总数 monVolMap.put("totalAlarmsScale", 1); //告警总数比例 monVolMap.put("totalAlarmRooms", 1); //告警机房总数 monVolMap.put("alarmRoomsScale", 1); //告警机房数比例 resultMap.put("monVolMap", monVolMap); monResMap.put("highAlarmsNO", 1); //高告警数量 alm_signal_id 13 monResMap.put("lowAlarmsNO", 1); //低告警数量 alm_signal_id 14 monResMap.put("totalAlarms", 1); //告警总数 monResMap.put("totalAlarmsScale", 1); //告警总数比例 monResMap.put("totalAlarmRooms", 1); //告警机房总数 monResMap.put("alarmRoomsScale", 1); //告警机房数比例 resultMap.put("monResMap", monResMap); // ******************************************单体电压**************************************************************** monTemMap.put("highAlarmsNO", 1); //高告警数量 alm_signal_id 11 monTemMap.put("lowAlarmsNO", 1); //低告警数量 alm_signal_id 12 //高告警数量 Integer volhighAlarmsNum = mapper.getVolAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonVolHigh); //低告警数量 Integer vollowAlarmsNum = mapper.getVolAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonVolLow); //单体电压、内阻和温度 总告警数 Integer voltotalAlarmNum = mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_vol_Monomer); // Integer restotalAlarmNum = mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_res_Monomer); // Integer temtotalAlarmNum = mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_tmp_Monomer); //单体电压机房告警总数 Integer voltotalStationAlarmNum =mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_tmp_Monomer); //总机房数 int totalStationNum = infoMapper.getStationCount(userId); //电压告警占比 double volRate = BigDecimal.valueOf(volhighAlarmsNum+vollowAlarmsNum).divide(BigDecimal.valueOf(voltotalAlarmNum), 2, RoundingMode.HALF_UP).doubleValue(); String volRateStr = (int)(volRate*100)+"%"; //电压告警机房占比 double volStationRate = BigDecimal.valueOf(voltotalAlarmNum).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue(); String volStationRateStr = (int)(volStationRate*100)+"%"; monVolMap.put("高告警数量", volhighAlarmsNum); //高告警数量 alm_signal_id 9 monVolMap.put("低告警数量", vollowAlarmsNum); //低告警数量 alm_signal_id 10 monVolMap.put("告警总数", voltotalAlarmNum); //告警总数 monVolMap.put("告警总数比例", volRateStr); //告警总数比例 monVolMap.put("告警机房总数", voltotalStationAlarmNum); //告警机房总数 monVolMap.put("告警机房数比例", volStationRateStr); //告警机房数比例 resultMap.put("单体电压", monVolMap); // ******************************************单体内阻**************************************************************** Integer reshighAlarmsNum = mapper.getResistanceAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonResHigh); Integer reslowAlarmsNum = mapper.getResistanceAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonResLow); //单体电压、内阻和温度 总告警数 Integer restotalAlarmNum = mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_res_Monomer); //告警机房总数 Integer restotalStationAlarmNum =mapper.getVRTTotalAlarms(userId,AlarmConstant.Alarm_tmp_Monomer); //总机房数 // int totalStationNum = infoMapper.getStationCount(userId); //内阻告警占比 double resRate = BigDecimal.valueOf(reshighAlarmsNum+reslowAlarmsNum).divide(BigDecimal.valueOf(restotalAlarmNum), 2, RoundingMode.HALF_UP).doubleValue(); String resRateStr = (int)(resRate*100)+"%"; //内阻告警机房占比 TODO double resStationRate = BigDecimal.valueOf(restotalStationAlarmNum).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue(); String resStationRateStr = (int)(resStationRate*100)+"%"; monResMap.put("高告警数量", reshighAlarmsNum); //高告警数量 alm_signal_id 13 monResMap.put("低告警数量", reslowAlarmsNum); //低告警数量 alm_signal_id 14 monResMap.put("告警总数", restotalAlarmNum); //告警总数 monResMap.put("告警总数比例", resRateStr); //告警总数比例 monResMap.put("告警机房总数", restotalStationAlarmNum); //告警机房总数 monResMap.put("告警机房数比例", resStationRateStr); //告警机房数比例 resultMap.put("单体内阻", monResMap); // ******************************************单体温度**************************************************************** /* Integer temhighAlarmsNum = mapper.getTemperatureAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonTmpHigh); Integer temlowAlarmsNum = mapper.getTemperatureAlamHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_MonTmpLow); monTemMap.put("highAlarmsNO", temhighAlarmsNum); //高告警数量 alm_signal_id 11 monTemMap.put("lowAlarmsNO", temlowAlarmsNum); //低告警数量 alm_signal_id 12 monTemMap.put("totalAlarms", 1); //告警总数 monTemMap.put("totalAlarmsScale", 1); //告警总数比例 monTemMap.put("totalAlarmRooms", 1); //告警机房总数 monTemMap.put("alarmRoomsScale", 1); //告警机房数比例 resultMap.put("monTemMap", monTemMap); resultMap.put("monTemMap", monTemMap);*/ response.setCode(1); response.setData(resultMap); src/main/resources/mapper/BatteryAlarmMapper.xml
@@ -117,33 +117,157 @@ <!--在线电压,组端电压 ;机房对应权限 StationId/BattgroupId--> <!--select alm_signal_id,count(alm_signal_id) as num from db_alarm.tb_battalarm_data alarm where alm_id in (119001,119002,119003,119004) --> <select id="getAlarmsNO" resultType="java.lang.Integer"> <select id="getOnlineAndGroupAlarms" resultType="com.whyc.dto.BatteryAlarmDto"> SELECT count(distinct inf.StationId) num, count(*) stationNum FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_id = #{alarmId} AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM ( SELECT StationId FROM db_battinf.tb_battinf ) inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) SELECT count(*) FROM ( SELECT inf.StationId FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM ( SELECT StationId FROM db_battinf.tb_battinf ) inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) ) temp </select> <select id="getLowDischargeAlarms" resultType="com.whyc.dto.BatteryAlarmDto"> SELECT count(distinct inf.StationId) num,count(*) stationNum FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM db_battinf.tb_battinf inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) </select> <select id="getVolAlamHighLow" resultType="java.lang.Integer"> SELECT count(*) FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM db_battinf.tb_battinf inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) </select> <select id="getResistanceAlamHighLow" resultType="java.lang.Integer"> SELECT count(*) FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM db_battinf.tb_battinf inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) </select> <select id="getTemperatureAlamHighLow" resultType="java.lang.Integer"> SELECT count(*) FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_signal_id = #{almSignalId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM db_battinf.tb_battinf inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) </select> <select id="getVRTTotalAlarms" resultType="java.lang.Integer"> SELECT count(*) FROM db_alarm.tb_battalarm_data alarm, db_battinf.tb_battinf inf WHERE alarm.BattGroupId = inf.BattGroupId AND alm_cleared_type = 0 AND alm_id = #{almId} AND inf.StationId IN ( SELECT DISTINCT inf.StationId FROM db_battinf.tb_battinf inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf WHERE db_user.tb_user_battgroup_baojigroup_battgroup.StationId = inf.StationId AND db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id = db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id AND db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid AND db_user.tb_user_inf.uid = #{userId} ) </select> </mapper>