1.监测指标数据质量问题汇总统计和专项分析-台账统计算法提交
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.njcn.prepare.harmonic.controller.newalgorithm;
|
||||
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.IPmsStatisticsSpecialMonitorService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-10-13
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pmsStatisticsSpecialMonitor")
|
||||
@Api(tags = "专项分析-台账统计")
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class PmsStatisticsSpecialMonitorController extends BaseController {
|
||||
|
||||
private final IPmsStatisticsSpecialMonitorService pmsStatisticsSpecialMonitorService;
|
||||
|
||||
@ApiOperation("专项分析-台账统计(pms_statistics_special_monitor表数据)")
|
||||
@ApiImplicitParam(value = "jobParam", name = "jobParam", required = true)
|
||||
@PostMapping("pmsStatisticsSpecialMonitorHandler")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> pmsStatisticsSpecialMonitorHandler(@RequestBody LineParam jobParam) {
|
||||
log.info(LocalDateTime.now() + "pmsStatisticsSpecialMonitorHandler开始执行");
|
||||
String methodDescribe = getMethodDescribe("pmsStatisticsSpecialMonitorHandler");
|
||||
pmsStatisticsSpecialMonitorService.pmsStatisticsSpecialMonitorHandler(jobParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.PmsStatisticsSpecialMonitor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-10-13
|
||||
*/
|
||||
public interface PmsStatisticsSpecialMonitorMapper extends MppBaseMapper<PmsStatisticsSpecialMonitor> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.PmsStatisticsSpecialMonitorMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.newalgorithm;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.PmsStatisticsSpecialMonitor;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-10-13
|
||||
*/
|
||||
public interface IPmsStatisticsSpecialMonitorService extends IMppService<PmsStatisticsSpecialMonitor> {
|
||||
|
||||
/**
|
||||
* @Description: 专项分析-台账统计算法
|
||||
* @param jobParam
|
||||
* @Author: wr
|
||||
* @Date: 2023/10/13 14:02
|
||||
*/
|
||||
void pmsStatisticsSpecialMonitorHandler(LineParam jobParam);
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||
import com.njcn.device.biz.pojo.dto.StatisticsMonitor;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.PmsStatisticsSpecialMonitorMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.PmsStatisticsSpecialMonitor;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.IPmsStatisticsSpecialMonitorService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-10-13
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PmsStatisticsSpecialMonitorServiceImpl extends MppServiceImpl<PmsStatisticsSpecialMonitorMapper, PmsStatisticsSpecialMonitor> implements IPmsStatisticsSpecialMonitorService {
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public void pmsStatisticsSpecialMonitorHandler(LineParam jobParam) {
|
||||
List<PmsStatisticsSpecialMonitor> info=new ArrayList<>();
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
StatisticsBizBaseParam param=new StatisticsBizBaseParam();
|
||||
param.setId(dept.getId());
|
||||
param.setStartTime(jobParam.getBeginTime());
|
||||
param.setEndTime(jobParam.getEndTime());
|
||||
List<StatisticsMonitor> data = commTerminalGeneralClient.getStatisticsMonitor(param).getData();
|
||||
if(CollUtil.isNotEmpty(data)){
|
||||
DeptGetLineParam deptGetLineParam=new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(dept.getId());
|
||||
List<DeptGetBase> deptGetBases = commTerminalGeneralClient.getDeptChildrenByParent(deptGetLineParam).getData();
|
||||
Map<String, String> deptName = deptGetBases.stream().collect(Collectors.toMap(DeptGetBase::getUnitId, DeptGetBase::getUnitName));
|
||||
for (StatisticsMonitor datum : data) {
|
||||
if(deptName.containsKey(datum.getOrgId())){
|
||||
PmsStatisticsSpecialMonitor monitor = BeanUtil.copyProperties(datum, PmsStatisticsSpecialMonitor.class);
|
||||
monitor.setOrgName(deptName.get(datum.getOrgId()));
|
||||
monitor.setDataDate(PubUtils.localDateTimeFormat(jobParam.getDataDate() + " " + "00:00:00"));
|
||||
monitor.setStatus(1);
|
||||
info.add(monitor);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(info)) {
|
||||
this.saveOrUpdateBatchByMultiId(info, 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -133,9 +133,8 @@ public class RQualityParameterMServiceImpl extends MppServiceImpl<RQualityParame
|
||||
|
||||
info.add(rQualityParameterM);
|
||||
}
|
||||
List<RQualityParameterM> collect = info.stream().filter(x -> x.getMatchingCount() > 0).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(info)) {
|
||||
// this.saveOrUpdateBatchByMultiId(info, 500);
|
||||
this.saveOrUpdateBatchByMultiId(info, 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user