|
@@ -7,11 +7,16 @@ import org.jeecg.modules.energyPlan.mapper.EnergyPlanMapper;
|
|
import org.jeecg.modules.energyPlan.service.IEnergyPlanService;
|
|
import org.jeecg.modules.energyPlan.service.IEnergyPlanService;
|
|
import org.springframework.aop.framework.*;
|
|
import org.springframework.aop.framework.*;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
|
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
+import java.time.ZoneId;
|
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -26,23 +31,28 @@ import java.util.Date;
|
|
@EnableAspectJAutoProxy(exposeProxy = true)
|
|
@EnableAspectJAutoProxy(exposeProxy = true)
|
|
public class EnergyPlanServiceImpl extends ServiceImpl<EnergyPlanMapper, EnergyPlan> implements IEnergyPlanService {
|
|
public class EnergyPlanServiceImpl extends ServiceImpl<EnergyPlanMapper, EnergyPlan> implements IEnergyPlanService {
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private EnergyPlanMapper energyPlanMapper;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Result<String> rangeAdd(TimeRangeEnergyPlan rangeEnergyPlan) {
|
|
public Result<String> rangeAdd(TimeRangeEnergyPlan rangeEnergyPlan) {
|
|
|
|
+ // 获取开始时间和结束时间
|
|
Date beginTime = rangeEnergyPlan.getBeginTime();
|
|
Date beginTime = rangeEnergyPlan.getBeginTime();
|
|
Date endTime = rangeEnergyPlan.getEndTime();
|
|
Date endTime = rangeEnergyPlan.getEndTime();
|
|
|
|
+ // 检查开始日期是否大于结束日期
|
|
if (beginTime.after(endTime)) return Result.error("开始日期大于结束日期,请检查!");
|
|
if (beginTime.after(endTime)) return Result.error("开始日期大于结束日期,请检查!");
|
|
|
|
|
|
|
|
+ // 计算时间范围内的天数
|
|
long diffInMillies = endTime.getTime() - beginTime.getTime();
|
|
long diffInMillies = endTime.getTime() - beginTime.getTime();
|
|
int diffDay = (int) ((diffInMillies / (24 * 60 * 60 * 1000)) + 1);
|
|
int diffDay = (int) ((diffInMillies / (24 * 60 * 60 * 1000)) + 1);
|
|
|
|
|
|
|
|
+
|
|
Calendar beginTimeInstance = Calendar.getInstance();
|
|
Calendar beginTimeInstance = Calendar.getInstance();
|
|
beginTimeInstance.setTime(beginTime);
|
|
beginTimeInstance.setTime(beginTime);
|
|
-
|
|
|
|
Calendar endTimeInstance = Calendar.getInstance();
|
|
Calendar endTimeInstance = Calendar.getInstance();
|
|
endTimeInstance.setTime(endTime);
|
|
endTimeInstance.setTime(endTime);
|
|
|
|
|
|
- Double planValue = rangeEnergyPlan.getPlanvalue();
|
|
|
|
- double avgValue = planValue / diffDay;
|
|
|
|
|
|
|
|
ArrayList<EnergyPlan> energyPlans = new ArrayList<>();
|
|
ArrayList<EnergyPlan> energyPlans = new ArrayList<>();
|
|
int i = diffDay + 1;
|
|
int i = diffDay + 1;
|
|
@@ -51,8 +61,12 @@ public class EnergyPlanServiceImpl extends ServiceImpl<EnergyPlanMapper, EnergyP
|
|
EnergyPlan energyPlan = new EnergyPlan();
|
|
EnergyPlan energyPlan = new EnergyPlan();
|
|
BeanUtils.copyProperties(rangeEnergyPlan, energyPlan);
|
|
BeanUtils.copyProperties(rangeEnergyPlan, energyPlan);
|
|
energyPlan.setPlandate(beginTimeInstance.getTime());
|
|
energyPlan.setPlandate(beginTimeInstance.getTime());
|
|
- energyPlan.setPlanvalue(avgValue);
|
|
|
|
energyPlans.add(energyPlan);
|
|
energyPlans.add(energyPlan);
|
|
|
|
+
|
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
+ String day = simpleDateFormat.format(beginTimeInstance.getTime());
|
|
|
|
+ energyPlanMapper.deleteInfoByIdAndDay(rangeEnergyPlan.getEquipmentid(), rangeEnergyPlan.getEnergytypeid(),day);
|
|
|
|
+
|
|
beginTimeInstance.add(Calendar.DAY_OF_MONTH, 1);
|
|
beginTimeInstance.add(Calendar.DAY_OF_MONTH, 1);
|
|
mark++;
|
|
mark++;
|
|
}
|
|
}
|