| | |
| | | |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DatePattern; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.date.LocalDateTimeUtil; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.xiaopeng.api.dto.operation.ElectronicFenceAddDto; |
| | | import com.xiaopeng.api.dto.operation.ElectronicFenceAreaUpdateStatusDto; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | |
| | | case 1: |
| | | stationNumbers.setPendingLaunch(stationNumbers.getPendingLaunch() + 1); |
| | | break; |
| | | case 2: |
| | | stationNumbers.setStartingUp(stationNumbers.getStartingUp() + 1); |
| | | case 2: //启动中 判断 待启动的状态 ,当前时间在 运营时间 内是启动中,否则是 待启动 |
| | | |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | |
| | | if(xpStation.getOperationType() ==1){//运营类型 1=与运营区同步 2=自定义时间段 |
| | | LocalDateTime startTime = electronicFence.getEffectTime();//生效时间 |
| | | LocalDateTime endTime = electronicFence.getFailureTime();//失效时间 |
| | | if(electronicFence.getFailureType() ==1) {// 失效类型 1=永不失效 2=定时失效 |
| | | endTime = LocalDateTime.now().plusYears(1); |
| | | } |
| | | if(!now.isBefore(startTime) && !now.isAfter(endTime)){ |
| | | stationNumbers.setStartingUp(stationNumbers.getStartingUp() + 1); |
| | | }else{ |
| | | stationNumbers.setPendingLaunch(stationNumbers.getPendingLaunch() + 1); |
| | | } |
| | | }else { |
| | | //数据结构 [{"endTime": "18:00", "startTime": "05:00"}] |
| | | JSONArray jsonArray = JSONObject.parseArray(xpStation.getEffectiveTimePeriod()); |
| | | |
| | | boolean flag = false; |
| | | for (Object object : jsonArray) { |
| | | JSONObject jsonObject = (JSONObject) object; |
| | | String startTimeStr = jsonObject.getString("startTime"); |
| | | String endTimeStr = jsonObject.getString("endTime"); |
| | | startTimeStr = LocalDate.now() +" "+ startTimeStr+":00"; |
| | | endTimeStr = LocalDate.now() + " " + endTimeStr + ":00"; |
| | | LocalDateTime startTime = LocalDateTimeUtil.parse(startTimeStr, DatePattern.NORM_DATETIME_PATTERN); |
| | | LocalDateTime endTime = LocalDateTimeUtil.parse(endTimeStr, DatePattern.NORM_DATETIME_PATTERN); |
| | | if(!now.isBefore(startTime) && !now.isAfter(endTime)){ |
| | | flag = true; |
| | | }else{ |
| | | stationNumbers.setPendingLaunch(stationNumbers.getPendingLaunch() + 1); |
| | | } |
| | | } |
| | | if (flag){ |
| | | stationNumbers.setStartingUp(stationNumbers.getStartingUp() + 1); |
| | | }else{ |
| | | stationNumbers.setPendingLaunch(stationNumbers.getPendingLaunch() + 1); |
| | | } |
| | | } |
| | | break; |
| | | case 3: |
| | | stationNumbers.setDisabled(stationNumbers.getDisabled() + 1); |