MrShi
22 小时以前 35380accc69232c46f874aed3a7818ed58febade
Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao
已修改10个文件
149 ■■■■ 文件已修改
admin/src/views/business/carStatistics.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/regionDevice.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/index.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/carStatistics.vue
@@ -290,7 +290,7 @@
          },
          xAxis: {
            type: 'category',
            data: names
            data: names ||[]
          },
          yAxis: {
            type: 'value',
admin/src/views/business/regionDevice.vue
@@ -111,7 +111,7 @@
        }) .catch(e => {
          })
          .finally(() => {
            this.isWorking.loading = false
            this.isWorking.loading = falsex
          })
    },
    getDepartmentTree (tree) {
admin/src/views/index.vue
@@ -2,7 +2,7 @@
  <div class="main_home">
    <!-- <div style="position: fixed;z-index: 99999"><video  style="height: 100px;width: 500px" src="rtsp://10.50.250.253:554/openUrl/K2y2vE4" controls></video></div> -->
    <div class="home_header">
      <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div>
      <div class="mb10 fs17">{{timeInfo}}好,{{ userInfo.realname }}</div>
      <div class="fs13">
        今天是 {{ nowDate }} {{ nowWeek }},欢迎访问智慧物流园区安消一体化系统
      </div>
@@ -233,6 +233,7 @@
    return {
      tabPosition: 'right',
      colors,
      timeInfo: '上午',
      nowDate: '',
      nowWeek: '',
      headerData: {},
@@ -246,7 +247,7 @@
        { name: '访客报备', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' },
        // { name: '隐患随手拍', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' },
        // { name: '预约会议室', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' },
        { name: '公务车预约', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' },
        { name: '公务车预约', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' }
        // { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') },
        // { name: '食堂消费', path: '', url: require('@/assets/icons/8.png') }
      ],
@@ -375,6 +376,7 @@
    updateDate () {
      this.nowDate = dayjs().format('YYYY年M月D日')
      this.nowWeek = weeks[new Date().getDay()]
      this.timeInfo = new Date().getHours() < 12 ? '上午' : '下午'
    },
    initData () {
      this.getWorkHead()
@@ -623,7 +625,7 @@
      })
    },
    initEchart21 () {
      console.log('initEchart21',this.staticData.lwList)
      console.log('initEchart21', this.staticData.lwList)
      if (!document.getElementById('echart21')) {
        return
      }
@@ -632,7 +634,7 @@
      const that = this
      var le1 = that.staticData.internalList.length
      var le2 = that.staticData.lwList.length
      const end = Math.round(40 * ((le1>0&& le2>0?le1:1) / (le1>0&& le2>0?le2:1)))+10
      const end = Math.round(40 * ((le1 > 0 && le2 > 0 ? le1 : 1) / (le1 > 0 && le2 > 0 ? le2 : 1))) + 10
      myChart.setOption({
        dataZoom: [
          {
@@ -700,7 +702,7 @@
        yAxis: {
          type: 'category',
          inverse: true,
          data:  that.staticData.lwList.map(i => i.name),
          data: that.staticData.lwList.map(i => i.name),
          axisLabel: {
            interval: 0
          }
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -59,6 +59,7 @@
    public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ;
    public static final String JK_PLAN_MAX_CLUSTER ="JK_PLAN_MAX_CLUSTER" ;
    public static final String JK_PLAN_DISTANCE_CLUSTER ="JK_PLAN_DISTANCE_CLUSTER" ;
    public static final String HK_PUSH_THIRD_URL ="HK_PUSH_THIRD_URL" ;
    /**
     * 操作类型,用于做接口验证分组
@@ -1541,9 +1542,10 @@
        AF_XFTDZS(422000000, "【安防事件】消防通道阻塞",1),
        XF_SYGDBJ(254215, "【消防事件】水压过低报警",1),
        XF_SYGGBJ(254216, "【消防事件】水压过高报警",1),
        XF_HZBJ(253999, "【消防事件】火灾报警",1),
        XF_HZBJ(254047, "【消防事件】火灾报警",1),
        XF_YWGDBJ(254331, "【消防事件】液位过低报警",1),
        XF_YWGGBJ(254332, "【消防事件】液位过高报警",1),
        AF_DZWL(327681, "【安防事件】电子围栏",1),
        ;
        // 成员变量
        private int key;
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -2967,11 +2967,25 @@
    public static void main(String[] args) {
        try {
            LocalDate today = LocalDate.now();
            // 获取当前日期是星期几
            DayOfWeek dayOfWeek = today.getDayOfWeek();
            // 计算周一和周五的日期
            LocalDate monday = today.with(DayOfWeek.MONDAY);
            LocalDate friday = today.with(DayOfWeek.FRIDAY);
            // 输出周一和周五的日期
            System.out.println("Monday: " + monday.toString());
            System.out.println("Friday: " + friday.toString());
//            Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00");
//            Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00");
//            System.out.println(DateUtil.afterMinutesDate(-5));
            System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00")));
//            System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00")));
//            System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1)));
//            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -288,8 +288,8 @@
     * 3、能管中心:ngzx
     */
    public interface MenuPageId{
        String[] componentIds = new String[]{"vms","fem","cems"};
        String afzx = "010100";//安防中心
        String[] componentIds = new String[]{"Infovision iPark Platform","fem","cems"};
        String afzx = "rule_event_center";//安防中心
        String xkzx = "000101";//消控中心
        String ngzx = "ngzx";//能管中心
        String jsc = "jsc";//物业后勤
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java
@@ -20,7 +20,6 @@
@ApiModel("出入场人次车次每日统计表")
@TableName("`inout_record`")
public class InoutRecord {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    private Integer id;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
@@ -155,7 +155,7 @@
    //人员分类  单独处理人员数据  0劳务访客 1普通访客 2内部员工 3车辆信息 4相关方人员 5货运司机
    private static String[] userTypeList = new String[]{"","普通访客","内部人员","","相关方人员","货运司机"};
    private static String[] userTypeList = new String[]{"","普通访客","内部人员","","相关方人员"};
    /**
@@ -172,8 +172,11 @@
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询本周的开始日期和结束日期
        Long weekStart = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();
        //查询本周的开始日期
        LocalDate today = LocalDate.now();
        // 计算周一和周五的日期
        LocalDate monday = today.with(DayOfWeek.MONDAY);
        Long weekStart = DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",monday.toString() + " 00:00:00").getTime();//LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();
        InParkUserDataVO inParkUserDataVO = new InParkUserDataVO();
        List<InoutRecord> yearList = inoutRecordMapper.selectJoinList(InoutRecord.class,new MPJLambdaWrapper<InoutRecord>()
                .selectAll(InoutRecord.class)
@@ -310,7 +313,7 @@
                for (String categoryName:setList) {
                    GeneralDataVO generalDataVO = new GeneralDataVO();
                    generalDataVO.setName(categoryName);
                    generalDataVO.setTotal(yearList.stream().filter(j->StringUtils.isNotBlank(j.getCategoryParentName())&&j.getCategoryName().equals(categoryName)).collect(Collectors.toList()).size());
                    generalDataVO.setTotal(yearList.stream().filter(j->StringUtils.isNotBlank(j.getCategoryParentName())&&j.getCategoryParentName().equals(categoryName)).collect(Collectors.toList()).size());
                    generalDataVO.setRata(new BigDecimal(generalDataVO.getTotal().toString()).divide(new BigDecimal(yearList.size()+""),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                    rataList.add(generalDataVO);
                }
@@ -352,7 +355,6 @@
            }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){
                mpjLambdaWrapper.select("car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr ");
            }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE)){
                mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr");
            }else{
                mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr ");
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
@@ -315,6 +315,9 @@
                    model.setSubscribeStatus(Constants.TWO);
                    model.setSubscribeInfo(response.getMsg());
                }
               startCheckThirdDest(eventParam);
            }else{
                model.setSubscribeStatus(Constants.ZERO);
            }
@@ -325,6 +328,32 @@
        warningMapper.updateById(model);
    }
    /**
     * 检查三方是否需要订阅海康事件
     * @param eventParam
     */
    private void startCheckThirdDest(EventSubRequest eventParam) {
        try {
            String thirdpath =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_THIRD_URL).getCode();
            if(StringUtils.isNotBlank(thirdpath)){
                String[] ss = thirdpath.split(";");
                for(String s : ss){
                    eventParam.setEventDest(s);
                    BaseResponse response =   HKService.eventSub(eventParam);
                    if(Objects.nonNull(response)&&StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                        log.error("========订阅其他三方地址成功:"+s);
                    }else{
                        log.error("========订阅其他三方地址错误:"+s);
                    }
                }
            }
        }catch (Exception e){
        log.error("========订阅其他三方地址错误"+e.getMessage());
        }
    }
    /**
     * 定时获取天气信息执行
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -26,6 +26,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.service.business.VisitsService;
import com.doumee.service.business.impl.JkCabinetGridServiceImpl;
import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
@@ -37,6 +38,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -498,12 +500,15 @@
                    warningEvent.setEventId(request.getEventId());
                    warningEvent.setEventType(request.getEventType().toString());
                    warningEvent.setHappenTime(request.getHappenTime());
                    warningEvent.setJsonContent(request.getData().toJSONString());
                    if(Objects.nonNull(request.getData())){
                        warningEvent.setJsonContent(request.getData().toJSONString());
                    }
                    warningEvent.setSrcIndex(request.getSrcIndex());
                    warningEvent.setSrcType(request.getSrcType());
                    warningEvent.setSrcName(request.getSrcName());
                    warningEvent.setWarningId(warning.getId());
                    warningEvent.setDeviceId(request.getSrcIndex());
                    warningEvent.setRegion(this.getRegionsName(warningEvent.getSrcIndex(),warning.getType()));
                    warningEventMapper.insert(warningEvent);
                    if(Objects.nonNull(warningConfig)){
@@ -529,8 +534,7 @@
                                    warningPush.setContent(content);
                                    warningPush.setStatus(Constants.ZERO);
                                    warningPush.setPushType(Constants.ZERO);
                                    //TODO 根据具体数据对比获取
                                    warningPush.setRegion( "未知位置");
                                    warningPush.setRegion( warningEvent.getRegion());
                                    if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
                                        warningPush.setMemberIds(
                                                StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
@@ -569,9 +573,64 @@
        }
        saveInterfaceLog(param,"/business/hksync/push/notice",result,true);
        return  null;
    }
    @Autowired
    private RedisTemplate<String,Object> stringRedisTemplate;
    public String getRegionsName(String srcIndex,Integer warningType){
        log.error("【匹配设备与区域关系信息】========开始=======:"+srcIndex);
        String regionName = "未知区域";
        if(StringUtils.isBlank(srcIndex)){
            return regionName;
        }
        try{
            if(Constants.equalsInteger(warningType,Constants.ZERO)){
                List<CarmeraListVO> carmeraListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_CAMERAS);//所有监控点数据
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
                        for (CarmeraListVO c:carmeraListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【监控区域匹配结果】===============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
            }else{
                List<CarmeraListVO>  fireDeviceListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_FIRE_DEVICE);//所有消防设备数据
                List<CarmeraListVO>  sensorListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_SENSOR);//所有传感器
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
                        for (CarmeraListVO c:fireDeviceListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【消防区域匹配结果】===============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
                        for (CarmeraListVO c:sensorListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【传感器区域匹配结果】==============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        log.error("【匹配设备与区域关系信息】========结束=======:"+srcIndex);
        return regionName;
    }
    /**
     * 海康访客事件推送
     * @param param