|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.hnac.hzims.operational.report.service.impl; |
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.hnac.hzims.operational.report.constants.DictConstant; |
|
|
|
|
import com.hnac.hzims.operational.report.service.IOperPersonalMonthReportService; |
|
|
|
|
import com.hnac.hzims.operational.report.service.IOperStationMonthReportService; |
|
|
|
|
import com.hnac.hzims.operational.report.vo.PersonalMonthReportVO; |
|
|
|
@ -15,14 +16,18 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.CollectionUtil; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.system.entity.Dept; |
|
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
|
import org.springblade.system.vo.DeptVO; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.time.YearMonth; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
@Service |
|
|
|
|
@AllArgsConstructor |
|
|
|
@ -37,24 +42,64 @@ public class MonthReportServiceImpl extends BaseServiceImpl<MonthReportMapper, O
|
|
|
|
|
public StationRunReportAllVO getStationMonthReportByStationCode(Long deptId, String month) throws Exception { |
|
|
|
|
StationRunReportAllVO stationReportAllVO = new StationRunReportAllVO(); |
|
|
|
|
Dept dept = sysClient.getDept(deptId).getData(); |
|
|
|
|
//当月查询实时数据
|
|
|
|
|
if(month.equals(YearMonth.now().toString())){ |
|
|
|
|
OperMonthReportEntity operMonthReportEntity = this.getOne(new LambdaQueryWrapper<OperMonthReportEntity>(){{ |
|
|
|
|
eq(OperMonthReportEntity::getMonth,month); |
|
|
|
|
eq(OperMonthReportEntity::getStationCode, dept.getId()); |
|
|
|
|
eq(OperMonthReportEntity::getIsDeleted, 0); |
|
|
|
|
orderByDesc(OperMonthReportEntity::getObject); |
|
|
|
|
last("limit 1;"); |
|
|
|
|
}}); |
|
|
|
|
//查询实时数据
|
|
|
|
|
if(ObjectUtil.isEmpty(operMonthReportEntity)){ |
|
|
|
|
stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); |
|
|
|
|
} |
|
|
|
|
//历史查询定时任务生成的数据
|
|
|
|
|
else{ |
|
|
|
|
OperMonthReportEntity operMonthReportEntity = this.getOne(new LambdaQueryWrapper<OperMonthReportEntity>(){{ |
|
|
|
|
eq(OperMonthReportEntity::getMonth,month); |
|
|
|
|
eq(OperMonthReportEntity::getStationCode, dept.getId()); |
|
|
|
|
orderByDesc(OperMonthReportEntity::getObject); |
|
|
|
|
last("limit 1;"); |
|
|
|
|
}}); |
|
|
|
|
stationReportAllVO = ObjectUtil.isNotEmpty(operMonthReportEntity) ? (StationRunReportAllVO) ObjectHelper.byte2obj(operMonthReportEntity.getObject()) |
|
|
|
|
: operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(dept, DeptVO.class)); |
|
|
|
|
} |
|
|
|
|
return stationReportAllVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void setStationMonthReportByStationCode(Long deptId, String month){ |
|
|
|
|
Dept deptVO = sysClient.getDept(deptId).getData(); |
|
|
|
|
log.info("---{}机构---",deptVO.getDeptName()); |
|
|
|
|
//查询该电站该月报是否已生成月报
|
|
|
|
|
OperMonthReportEntity operMonthReportEntityByMonth = this.getOne(new LambdaQueryWrapper<OperMonthReportEntity>() {{ |
|
|
|
|
eq(OperMonthReportEntity::getMonth, month); |
|
|
|
|
eq(OperMonthReportEntity::getType, DictConstant.MONTH_REPORT_STATION); |
|
|
|
|
eq(OperMonthReportEntity::getStationCode, deptVO.getId()); |
|
|
|
|
eq(OperMonthReportEntity::getIsDeleted, 0); |
|
|
|
|
last("limit 1;"); |
|
|
|
|
}}); |
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isEmpty(operMonthReportEntityByMonth)||month.equals(YearMonth.now().toString())) { |
|
|
|
|
if (ObjectUtil.isNotEmpty(operMonthReportEntityByMonth)){ |
|
|
|
|
this.removeById(operMonthReportEntityByMonth.getId()); |
|
|
|
|
} |
|
|
|
|
//按站点生成各电站运维月报
|
|
|
|
|
StationRunReportAllVO stationReportAllVO = operStationMonthReportService.getStationMonthReportV2(month, BeanUtil.copy(deptVO, DeptVO.class)); |
|
|
|
|
if (ObjectUtil.isNotEmpty(stationReportAllVO)) { |
|
|
|
|
OperMonthReportEntity operMonthReportEntity = new OperMonthReportEntity(); |
|
|
|
|
operMonthReportEntity.setMonth(month); |
|
|
|
|
operMonthReportEntity.setType(DictConstant.MONTH_REPORT_STATION); |
|
|
|
|
operMonthReportEntity.setCreateDept(deptVO.getId()); |
|
|
|
|
operMonthReportEntity.setStationCode(deptVO.getId().toString()); |
|
|
|
|
try { |
|
|
|
|
operMonthReportEntity.setObject(ObjectHelper.obj2byte(stationReportAllVO)); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
//修改为每运行一次,保存一次
|
|
|
|
|
this.save(operMonthReportEntity); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
log.info("该月{}已生成月报", deptVO.getDeptName()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// @Override
|
|
|
|
|
// public PersonalMonthReportVO getPersonalMonthReport(String month) throws Exception {
|
|
|
|
|
// PersonalMonthReportVO personalMonthReportVO = new PersonalMonthReportVO();
|
|
|
|
|