Browse Source

update
手术信息查询

lifang 3 tháng trước cách đây
mục cha
commit
e5ce08d5fa
14 tập tin đã thay đổi với 174 bổ sung55 xóa
  1. 4 6
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/AppDeviceController.java
  2. 10 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/dto/AppDeviceAlarmQueryDTO.java
  3. 70 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/vo/AppBizDeviceAlarmVO.java
  4. 1 4
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomDTO.java
  5. 4 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizDeviceAlarmMapper.java
  6. 2 1
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomRepository.java
  7. 2 1
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java
  8. 4 1
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizDeviceAlarmService.java
  9. 2 1
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java
  10. 20 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizDeviceAlarmServiceImpl.java
  11. 4 10
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomController.java
  12. 6 10
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/vo/BizClinicVO.java
  13. 42 20
      tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizClinicRoomMapper.xml
  14. 3 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/storage/service/impl/StorageFileServiceImpl.java

+ 4 - 6
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/AppDeviceController.java

@@ -1,11 +1,9 @@
 package cn.tr.module.smart.app.controller;
 
 import cn.tr.core.pojo.CommonResult;
-import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
-import cn.tr.module.smart.common.dto.BizDeptQueryDTO;
-import cn.tr.module.smart.common.service.IBizDeptService;
+import cn.tr.module.smart.app.controller.dto.AppDeviceAlarmQueryDTO;
+import cn.tr.module.smart.app.controller.vo.AppBizDeviceAlarmVO;
 import cn.tr.module.smart.common.service.IBizDeviceAlarmService;
-import cn.tr.module.smart.wx.controller.vo.BizWxDeptVO;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,7 +31,7 @@ public class AppDeviceController {
     @ApiOperationSupport(author = "lf",order = 1)
     @ApiOperation(value="查询报警信",notes = "权限: 无")
     @PostMapping("/queryAlarm/list")
-    public CommonResult<List<Object>> selectList(@RequestBody BizDeptQueryDTO query) {
-        return CommonResult.success(null);
+    public CommonResult<List<AppBizDeviceAlarmVO>> selectList(@RequestBody AppDeviceAlarmQueryDTO query) {
+        return CommonResult.success(  deviceAlarmService.selectAppBizDeviceAlarmList(query));
     }
 }

+ 10 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/dto/AppDeviceAlarmQueryDTO.java

@@ -0,0 +1,10 @@
+package cn.tr.module.smart.app.controller.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AppDeviceAlarmQueryDTO {
+    @ApiModelProperty("查询的时间间隔(分钟) ,默认20分钟")
+    private Integer interval=20;
+}

+ 70 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/vo/AppBizDeviceAlarmVO.java

@@ -0,0 +1,70 @@
+package cn.tr.module.smart.app.controller.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 设备-设备报警表实体
+ *
+ * @author wangzl
+ * @date  2025/08/08 08:19
+ **/
+@Data
+@ToString
+public class AppBizDeviceAlarmVO {
+
+    /** 主键id */
+    @ApiModelProperty(value = "主键id", position = 1)
+    private String id;
+
+    /** 设备唯一编码 */
+    @ApiModelProperty(value = "设备唯一编码", position = 2)
+    private String deviceId;
+
+    /** 设备数据上传时间 */
+    @ApiModelProperty(value = "设备数据上传时间", position = 3)
+    private Date uploadTime;
+
+    /** 设备类型 */
+    @ApiModelProperty(value = "设备类型", position = 4)
+    private String deviceType;
+
+    /** 报警原因 */
+    @ApiModelProperty(value = "报警原因", position = 5)
+    private String cause;
+
+    /** 报警内容 */
+    @ApiModelProperty(value = "报警内容", position = 6)
+    private Boolean alarm;
+
+    /** 输注记录 */
+    @ApiModelProperty(value = "输注记录", position = 8)
+    private String infusionId;
+
+    /** 设备运行状态 */
+    @ApiModelProperty(value = "设备运行状态", position = 9)
+    private String runState;
+
+    /** 设备报警状态 */
+    @ApiModelProperty(value = "设备报警状态", position = 10)
+    private String alarmState;
+
+    /** 智能泵提醒 */
+    @ApiModelProperty(value = "智能泵提醒", position = 11)
+    private String warnFlow;
+
+    /** 输液结束提醒 */
+    @ApiModelProperty(value = "输液结束提醒", position = 12)
+    private Boolean warnWillFinished;
+
+    /** 低电量提醒 */
+    @ApiModelProperty(value = "低电量提醒", position = 13)
+    private Boolean warnLowBattery;
+
+    /** 镇痛不足提醒 */
+    @ApiModelProperty(value = "镇痛不足提醒", position = 14)
+    private Boolean warnAnalgesicPoor;
+}

+ 1 - 4
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomDTO.java

@@ -87,9 +87,6 @@ public class BizClinicRoomDTO extends BaseDTO  {
     private Date lastAfterQuestionTime;
 
     @ApiModelProperty(value = "术前问卷填写")
-    private boolean questionFlag;
+    private boolean questionFlag=Boolean.TRUE;
 
-    public boolean isQuestionFlag() {
-        return !Objects.isNull(this.lastBeforeQuestionTime);
-    }
 }

+ 4 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizDeviceAlarmMapper.java

@@ -1,6 +1,8 @@
 package cn.tr.module.smart.common.mapper;
 
 
+import cn.tr.module.smart.app.controller.dto.AppDeviceAlarmQueryDTO;
+import cn.tr.module.smart.app.controller.vo.AppBizDeviceAlarmVO;
 import cn.tr.module.smart.common.po.BizDeviceAlarmPO;
 import cn.tr.module.smart.common.po.BizInfusionHistoryPO;
 import cn.tr.module.smart.web.dto.BizDeviceAlarmInfoDTO;
@@ -43,5 +45,7 @@ public interface BizDeviceAlarmMapper {
     BizDeviceAlarmInfoDTO convertAlarmInfoDTO(BizDeviceAlarmPO  source);
     List<BizDeviceAlarmInfoDTO> convertAlarmInfoDtoList(List<BizDeviceAlarmPO> source);
 
+    List<AppBizDeviceAlarmVO> convertAppAlarmInfoVOList(List<BizDeviceAlarmPO>  source);
+
 
 }

+ 2 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomRepository.java

@@ -12,6 +12,7 @@ import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
 import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
 import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
 import cn.tr.module.smart.web.dto.BizPatientClinicListDTO;
+import cn.tr.module.smart.web.vo.BizClinicVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.dto.BizMpPublishInfoDTO;
 import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
@@ -41,7 +42,7 @@ public interface BizClinicRoomRepository extends BaseMapper<BizClinicRoomPO> {
 
     BizWxAppletClinicDetailVO stdSelectWxAppletById(@Param("id") String id);
 
-    List<BizClinicRoomDTO> selectClinicByCondition(@Param("queryDTO") BizClinicRoomQueryDTO queryDTO);
+    List<BizClinicVO> selectClinicByCondition(@Param("queryDTO") BizClinicRoomQueryDTO queryDTO);
 
     List<BizPatientClinicListDTO> selectClinicAndDoctorByPatientIdList(@Param("patientId") String patientId);
 

+ 2 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java

@@ -13,6 +13,7 @@ import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
 import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
 import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
 import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
+import cn.tr.module.smart.web.vo.BizClinicVO;
 import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
@@ -87,7 +88,7 @@ public interface IBizClinicRoomService {
      * @author lf
      * @date 2025/06/09 10:59
      */
-    List<BizClinicRoomDTO> selectBizClinicRoomList(BizClinicRoomQueryDTO query);
+    List<BizClinicVO> selectBizClinicRoomList(BizClinicRoomQueryDTO query);
 
     /**
      * 根据id查询诊疗室

+ 4 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizDeviceAlarmService.java

@@ -1,5 +1,8 @@
 package cn.tr.module.smart.common.service;
 
+import cn.tr.module.smart.app.controller.dto.AppDeviceAlarmQueryDTO;
+import cn.tr.module.smart.app.controller.vo.AppBizDeviceAlarmVO;
+import java.util.*;
 /**
  * 设备-设备报警表Service接口
  *
@@ -7,5 +10,5 @@ package cn.tr.module.smart.common.service;
  * @date  2025/08/08 08:19
  **/
 public interface IBizDeviceAlarmService {
-
+    List<AppBizDeviceAlarmVO> selectAppBizDeviceAlarmList(AppDeviceAlarmQueryDTO query);
 }

+ 2 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java

@@ -32,6 +32,7 @@ import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
 import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
 import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
 import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
+import cn.tr.module.smart.web.vo.BizClinicVO;
 import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
@@ -306,7 +307,7 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
      * @date 2025/06/09 10:59
      */
     @Override
-    public List<BizClinicRoomDTO> selectBizClinicRoomList(BizClinicRoomQueryDTO query) {
+    public List<BizClinicVO> selectBizClinicRoomList(BizClinicRoomQueryDTO query) {
         return baseRepository.selectClinicByCondition(query);
     }
 

+ 20 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizDeviceAlarmServiceImpl.java

@@ -1,9 +1,22 @@
 package cn.tr.module.smart.common.service.impl;
 
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.tr.module.smart.app.controller.dto.AppDeviceAlarmQueryDTO;
+import cn.tr.module.smart.app.controller.vo.AppBizDeviceAlarmVO;
+import cn.tr.module.smart.common.mapper.BizDeviceAlarmMapper;
+import cn.tr.module.smart.common.po.BizDeviceAlarmPO;
 import cn.tr.module.smart.common.repository.BizDeviceAlarmRepository;
 import cn.tr.module.smart.common.service.IBizDeviceAlarmService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
 /**
  * 设备-设备报警表Service接口实现类
  *
@@ -16,4 +29,11 @@ public class BizDeviceAlarmServiceImpl implements IBizDeviceAlarmService {
     private BizDeviceAlarmRepository baseRepository;
 
 
+    @Override
+    public List<AppBizDeviceAlarmVO> selectAppBizDeviceAlarmList(AppDeviceAlarmQueryDTO query) {
+        Integer interval = query.getInterval();
+        DateTime offset = DateUtil.offset(new Date(), DateField.MINUTE,0-interval);
+        return BizDeviceAlarmMapper.INSTANCE.convertAppAlarmInfoVOList(baseRepository.selectList(new LambdaQueryWrapper<BizDeviceAlarmPO>()
+                .ge(BizDeviceAlarmPO::getUploadTime, offset)));
+    }
 }

+ 4 - 10
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomController.java

@@ -3,25 +3,20 @@ package cn.tr.module.smart.web.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.tr.core.pojo.CommonResult;
 import cn.tr.core.pojo.TableDataInfo;
-import cn.tr.module.quartz.exception.TaskException;
 import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
 import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
 import cn.tr.module.smart.common.service.IBizClinicRoomService;
 import cn.tr.module.smart.common.service.IBizMpPublishTaskService;
 import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
+import cn.tr.module.smart.web.vo.BizClinicVO;
 import cn.tr.plugin.mybatis.base.BaseController;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.quartz.SchedulerException;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-
+import cn.tr.module.smart.web.vo.BizClinicVO;
 /**
  * 诊疗室控制器
  *
@@ -40,7 +35,7 @@ public class BizClinicRoomController extends BaseController{
     @ApiOperationSupport(author = "lf",order = 1)
     @ApiOperation(value="根据条件查询诊疗室",notes = "权限: smart:clinicRoom:query")
     @PostMapping("/query/page")
-    public TableDataInfo<BizClinicRoomDTO> selectList(@RequestBody BizClinicRoomQueryDTO query) {
+    public TableDataInfo<BizClinicVO> selectList(@RequestBody BizClinicRoomQueryDTO query) {
         startPage();
         return getDataTable(bizClinicRoomService.selectBizClinicRoomList(query));
     }
@@ -59,5 +54,4 @@ public class BizClinicRoomController extends BaseController{
     public CommonResult<Boolean> bindDevice(@RequestBody@Validated BizDeviceBindClinicDTO source) {
         return CommonResult.success(bizClinicRoomService.bindDevice(source));
     }
-
-}
+}

+ 6 - 10
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/vo/BizClinicVO.java

@@ -47,33 +47,29 @@ public class BizClinicVO extends BaseDTO  {
     @ApiModelProperty(value = "科室名称", position = 7)
     private String deptName;
 
-
-    private Boolean questionFlag;
-
     @ApiModelProperty(value = "手术开始时间", position = 9)
     private Date clinicStartTime;
 
     @ApiModelProperty(value = "手术结束时间", position = 10)
     private Date clinicEndTime;
 
+    @ApiModelProperty("手术状态")
+    private String clinicStatus;
+
     @ApiModelProperty(value = "随访次数", position = 11)
     private Integer followUpCount;
 
     @ApiModelProperty(value = "镇痛评价次数",position = 12)
     private Integer assessCount;
 
-    @ApiModelProperty(value = "泵信息", position = 13)
-    private Object pumpInfo;
-
-    @ApiModelProperty(value = "患者头像", position = 14)
-    private String imageUrl;
-
     @ApiModelProperty(value = "上一次填写术前问卷时间",hidden = true)
     @JsonIgnore
     private Date lastBeforeQuestionTime;
 
+    private Boolean questionFlag;
+
     @ApiModelProperty(value = "是否已填写术前问卷",position = 8)
-    public Boolean isQuestionFlag() {
+    public Boolean getQuestionFlag() {
         return !Objects.isNull(this.lastBeforeQuestionTime);
     }
 

+ 42 - 20
tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizClinicRoomMapper.xml

@@ -204,33 +204,53 @@
         where bcr.id = #{id}
     </select>
 
+
+    <resultMap id="webClinicListVO" type="cn.tr.module.smart.web.vo.BizClinicVO">
+        <id property="id" column="id"/>
+        <result property="clinicName" column="clinic_name"/>
+        <result property="patientCode" column="patient_code"/>
+        <result property="patientGender" column="patient_gender"/>
+        <result property="patientName" column="patient_name"/>
+        <result property="patientAge" column="patient_age"/>
+        <result property="deptName" column="dept_name"/>
+        <result property="clinicStartTime" column="clinic_start_time"/>
+        <result property="clinicEndTime" column="clinic_end_time"/>
+        <result property="clinicStatus" column="clinic_status"/>
+        <result property="followUpCount" column="follow_up_count"/>
+        <result property="assessCount" column="assess_count"/>
+        <result property="lastBeforeQuestionTime" column="last_before_question_time"/>
+        <result property="wxUserNickname" column="wx_user_nickname"/>
+        <result property="wxUserAvatar" column="wx_user_avatar"/>
+        <result property="doctorNickname" column="doctor_nickname"/>
+        <result property="doctorAvatar" column="doctor_avatar"/>
+    </resultMap>
+
     <select id="selectClinicByCondition" resultType="cn.tr.module.smart.common.dto.BizClinicRoomDTO">
         SELECT
         bcr.id as id,
-        bcr.clinic_name as clinicName ,
-        bcr.patient_age as patientAge,
-        bcr.dept_id as deptId,
-        bcr.clinic_start_time as clinicStartTime,
-        bcr.clinic_end_time as clinicEndTime,
-        bcr.clinic_status as clinicStatus,
-        bcr.last_follow_up_time as lastFollowUpTime,
-        bcr.follow_up_count as followUpCount,
-        bcr.follow_up as followUp,
-        bcr.patient_id as patientId,
-        bcr.patient_code as patientCode,
-        bcr.patient_name as patientName,
-        bcr.dept_name as deptName,
-        bcr.patient_gender as patientGender,
-        bcr.last_care_time as lastCareTime,
-        bcr.last_question_time as lastQuestionTime,
-        bcr.create_time as create_time,
-        bcr.create_by as create_by,
-        bcr.update_time as update_time,
-        bcr.update_by as update_by
+        bcr.clinic_name as clinic_name,
+        bcr.patient_code as patient_code,
+        bcr.patient_gender as patient_gender,
+        bcr.patient_name as patient_name,
+        bcr.patient_age as patient_age,
+        bcr.dept_name as dept_name,
+        bcr.clinic_start_time as clinic_start_time,
+        bcr.clinic_end_time as clinic_end_time,
+        bcr.clinic_status as clinic_status,
+        bcr.follow_up_count as follow_up_count,
+        bcr.assess_count as assess_count,
+        bcr.last_before_question_time as last_before_question_time,
+        bwu.nickname as wx_user_nickname,
+        bwu.avatar as wx_user_avatar,
+        su.nickname as doctor_nickname,
+        su.avatar as doctor_avatar,
+        bcr.create_time as create_time
         FROM
         biz_clinic_room bcr
         LEFT JOIN biz_clinic_room_wx_user bcrwu ON bcr.id = bcrwu.clinic_room_id
         LEFT JOIN biz_clinic_room_doctor_user bcrdu on bcr.id = bcrdu.clinic_room_id
+        left join biz_wx_user as bwu on bwu.id = bcrwu.wx_user_id
+        LEFT JOIN sys_user as su ON bcrdu.user_id = su.id
         <where>
             and bcr.deleted = 0
             <if test="queryDTO.deptId != null and queryDTO.deptId != ''">
@@ -260,6 +280,8 @@
             </if>
         </where>
     </select>
+
+
     <select id="selectClinicAndDoctorByPatientIdList"
             resultType="cn.tr.module.smart.web.dto.BizPatientClinicListDTO">
         SELECT

+ 3 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/storage/service/impl/StorageFileServiceImpl.java

@@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.URLUtil;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.TRExcCode;
+import cn.tr.core.strategy.LoginUserStrategy;
 import cn.tr.core.utils.JsonUtils;
 import cn.tr.module.api.sys.storage.StoragePojo;
 import cn.tr.module.sys.storage.dto.SysStorageConfigDTO;
@@ -24,6 +25,7 @@ import cn.tr.plugin.file.config.FileClient;
 import cn.tr.plugin.file.config.FileClientConfig;
 import cn.tr.plugin.file.config.FileClientFactory;
 import cn.tr.plugin.file.enums.FileStorageEnum;
+import cn.tr.plugin.security.context.LoginUserContextHolder;
 import com.qiniu.util.Md5;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -209,6 +211,6 @@ public class StorageFileServiceImpl implements IStorageFileService {
 
 
     private String createBizName(String realName){
-        return DateUtil.today() +"/"+ RandomUtil.randomString(4)+"-"+realName;
+        return LoginUserStrategy.tr.getTenantId()+"/"+DateUtil.today() +"/"+ RandomUtil.randomString(4)+"-"+realName;
     }
 }