| | |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.dataInterchange.api.feignClient.UPWarnMsgAdptInfoClient; |
| | | import com.ruoyi.dataInterchange.api.feignClient.UPWarnMsgOperationInfoClient; |
| | | import com.ruoyi.dataInterchange.api.model.enums.WarnType; |
| | | import com.ruoyi.dataInterchange.api.vo.UPWarnMsgAdptInfoVo; |
| | | import com.ruoyi.dataInterchange.api.vo.UPWarnMsgOperationInfoVo; |
| | | import com.ruoyi.system.api.model.Car; |
| | | import com.ruoyi.system.api.model.Driver; |
| | | import com.ruoyi.system.api.model.Enterprise; |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneOffset; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private ICarService carService; |
| | | |
| | | @Resource |
| | | private UPWarnMsgOperationInfoClient upWarnMsgOperationInfoClient; |
| | | |
| | | |
| | | /** |
| | |
| | | warn.setTreatmentState("将来处理"); |
| | | break; |
| | | } |
| | | if(0x00 != vo.getResult() && null == warn.getTreatmentTime()){ |
| | | UPWarnMsgOperationInfoVo upWarnMsgOperationInfoVo = upWarnMsgOperationInfoClient.getUPWarnMsgOperationInfo(warn.getObjectId()).getData(); |
| | | if(null != upWarnMsgOperationInfoVo){ |
| | | warn.setTreatmentUser(upWarnMsgOperationInfoVo.getOperator()); |
| | | warn.setTreatmentTime(LocalDateTime.ofEpochSecond(upWarnMsgOperationInfoVo.getCreateTime(), 0, ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | switch (upWarnMsgOperationInfoVo.getMethod()) { |
| | | case 0x01: |
| | | warn.setTreatmentRemark("快速拍照"); |
| | | break; |
| | | case 0x02: |
| | | warn.setTreatmentRemark("语音下发"); |
| | | break; |
| | | case 0x03: |
| | | warn.setTreatmentRemark("不做处理"); |
| | | break; |
| | | case 0x04: |
| | | warn.setTreatmentRemark("其他"); |
| | | break; |
| | | default: |
| | | warn.setTreatmentRemark("其他"); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | warn.setCreateTime(LocalDateTime.now()); |
| | | warn.setObjectId(vo.getInfoId()); |
| | | warn.setVehicleNumber(vo.getVehicleNo()); |
| | | warn.setPicUrl(vo.getPicUrl()); |
| | | warns.add(warn); |
| | | } |
| | | if (warns.size() > 0) { |
| | |
| | | warn.setTreatmentState("将来处理"); |
| | | break; |
| | | } |
| | | this.updateById(warn); |
| | | } |
| | | if(null == warn.getPicUrl()){ |
| | | warn.setPicUrl(vo.getPicUrl()); |
| | | } |
| | | if(0x00 != vo.getResult() && null == warn.getTreatmentTime()){ |
| | | UPWarnMsgOperationInfoVo upWarnMsgOperationInfoVo = upWarnMsgOperationInfoClient.getUPWarnMsgOperationInfo(warn.getObjectId()).getData(); |
| | | if(null != upWarnMsgOperationInfoVo){ |
| | | warn.setTreatmentUser(upWarnMsgOperationInfoVo.getOperator()); |
| | | warn.setTreatmentTime(LocalDateTime.ofEpochSecond(upWarnMsgOperationInfoVo.getCreateTime(), 0, ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | switch (upWarnMsgOperationInfoVo.getMethod()) { |
| | | case 0x01: |
| | | warn.setTreatmentRemark("快速拍照"); |
| | | break; |
| | | case 0x02: |
| | | warn.setTreatmentRemark("语音下发"); |
| | | break; |
| | | case 0x03: |
| | | warn.setTreatmentRemark("不做处理"); |
| | | break; |
| | | case 0x04: |
| | | warn.setTreatmentRemark("其他"); |
| | | break; |
| | | default: |
| | | warn.setTreatmentRemark("其他"); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | this.updateById(warn); |
| | | } |
| | | |
| | | } |
| | |
| | | @Override |
| | | public PageInfo<CarWarnListResp> getCarWarnList(CarWarnListReq carWarnListReq) { |
| | | PageInfo<CarWarnListResp> pageInfo = new PageInfo<>(carWarnListReq.getPageCurr(), carWarnListReq.getPageSize()); |
| | | String warnType = carWarnListReq.getWarnType(); |
| | | if(StringUtils.isNotEmpty(warnType)){ |
| | | switch (warnType) { |
| | | case "前向碰撞报警": |
| | | carWarnListReq.setWarnTypes(Arrays.asList("前向碰撞报警", "碰撞预警")); |
| | | break; |
| | | case "车道偏离报警": |
| | | carWarnListReq.setWarnTypes(Arrays.asList("车道偏离报警", "偏离路线报警", "车道偏离报警")); |
| | | break; |
| | | case "疲劳驾驶报警": |
| | | carWarnListReq.setWarnTypes(Arrays.asList("疲劳驾驶报警", "疲劳驾驶报警(生理疲劳)")); |
| | | break; |
| | | default: |
| | | carWarnListReq.setWarnTypes(Arrays.asList(warnType)); |
| | | break; |
| | | } |
| | | } |
| | | return this.baseMapper.getCarWarnList(pageInfo, carWarnListReq); |
| | | } |
| | | |
| | |
| | | if(total == 0){ |
| | | map.put("rate", BigDecimal.ZERO); |
| | | }else{ |
| | | map.put("rate", BigDecimal.valueOf(processed / total * 100).setScale(2, RoundingMode.HALF_EVEN)); |
| | | map.put("rate", new BigDecimal(processed).divide(new BigDecimal(total), 4, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN)); |
| | | } |
| | | } |
| | | return allWarnGroupVehicleType; |