项目大屏评分
This commit is contained in:
parent
34dbf92d8f
commit
cb9a541215
@ -6,6 +6,7 @@ import com.zhgd.xmgl.modules.dangerous.entity.DangerousEngineeringRecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -26,5 +27,5 @@ public interface IDangerousEngineeringRecordService extends IService<DangerousEn
|
||||
|
||||
void endEngineer(Map<String, Object> paramMap);
|
||||
|
||||
BigDecimal getScore(String projectSn);
|
||||
BigDecimal getScore(String projectSn, Date time);
|
||||
}
|
||||
|
||||
@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -177,14 +178,14 @@ public class DangerousEngineeringRecordServiceImpl extends ServiceImpl<Dangerous
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getScore(String projectSn) {
|
||||
public BigDecimal getScore(String projectSn, Date date) {
|
||||
List<DangerousEngineeringRecord> list = this.list(Wrappers.<DangerousEngineeringRecord>lambdaQuery()
|
||||
.eq(DangerousEngineeringRecord::getProjectSn, projectSn)
|
||||
.between(DangerousEngineeringRecord::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date())));
|
||||
BigDecimal total = new BigDecimal(0);
|
||||
.between(DangerousEngineeringRecord::getCreateTime, DateUtil.beginOfMonth(date), DateUtil.endOfMonth(date)));
|
||||
BigDecimal total = new BigDecimal(1);
|
||||
if (list.size() > 0) {
|
||||
List<DangerousEngineeringRecord> list1 = list.stream().filter(l -> DateUtil.compare(DateUtil.parseDate(l.getPlanEndTime()), new Date(), "yyyy-MM-dd") >= 0
|
||||
&& DateUtil.compare(new Date(), DateUtil.parseDate(l.getPlanStartTime()), "yyyy-MM-dd") <= 0).collect(Collectors.toList());
|
||||
List<DangerousEngineeringRecord> list1 = list.stream().filter(l -> DateUtil.compare(DateUtil.parseDate(l.getPlanEndTime()), date, "yyyy-MM-dd") >= 0
|
||||
&& DateUtil.compare(date, DateUtil.parseDate(l.getPlanStartTime()), "yyyy-MM-dd") <= 0).collect(Collectors.toList());
|
||||
int totalDay = 0;
|
||||
for (DangerousEngineeringRecord dangerousEngineeringRecord : list1) {
|
||||
Long betweenDay = DateUtil.betweenDay(DateUtil.parseDate(dangerousEngineeringRecord.getPlanStartTime()), DateUtil.parseDate(dangerousEngineeringRecord.getPlanEndTime()), false);
|
||||
@ -205,7 +206,8 @@ public class DangerousEngineeringRecordServiceImpl extends ServiceImpl<Dangerous
|
||||
|
||||
BigDecimal bigDecima2 = new BigDecimal(list3.size());
|
||||
BigDecimal bigDecimal3 = new BigDecimal(4);
|
||||
BigDecimal result2 = bigDecima2.divide(bigDecimal3, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.4));
|
||||
BigDecimal result2 = bigDecima2.divide(bigDecimal3, 2, BigDecimal.ROUND_HALF_UP);
|
||||
result2 = result2.multiply(new BigDecimal(0.4)).setScale(2, RoundingMode.HALF_UP);
|
||||
total = result1.add(result2);
|
||||
}
|
||||
return total.multiply(new BigDecimal(15));
|
||||
|
||||
@ -12,6 +12,7 @@ import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -60,5 +61,5 @@ public interface IAiAnalyseHardWareAlarmRecordService extends IService<AiAnalyse
|
||||
|
||||
void falsePositiveDeletion(Long id);
|
||||
|
||||
BigDecimal getScore(String projectSn);
|
||||
BigDecimal getScore(String projectSn, Date time);
|
||||
}
|
||||
|
||||
@ -614,11 +614,11 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getScore(String projectSn) {
|
||||
public BigDecimal getScore(String projectSn, Date date) {
|
||||
int num1 = this.count(Wrappers.<AiAnalyseHardWareAlarmRecord>lambdaQuery()
|
||||
.eq(AiAnalyseHardWareAlarmRecord::getProjectSn, projectSn)
|
||||
.between(AiAnalyseHardWareAlarmRecord::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date())));
|
||||
Date time = DateUtil.offsetHour(new Date(), -1);
|
||||
.between(AiAnalyseHardWareAlarmRecord::getCreateTime, DateUtil.beginOfMonth(date), DateUtil.endOfMonth(date)));
|
||||
Date time = DateUtil.offsetHour(date, -1);
|
||||
int num2 = this.count(Wrappers.<AiAnalyseHardWareAlarmRecord>lambdaQuery()
|
||||
.eq(AiAnalyseHardWareAlarmRecord::getProjectSn, projectSn)
|
||||
.between(AiAnalyseHardWareAlarmRecord::getCreateTime, DateUtil.beginOfMonth(time), DateUtil.endOfMonth(time)));
|
||||
|
||||
@ -452,16 +452,28 @@ public class XzSecurityQualityInspectionRecordController {
|
||||
})
|
||||
@GetMapping(value = "/getStatScore")
|
||||
public Result<Object> getStatScore(String projectSn) {
|
||||
BigDecimal hiddenDangerScore = qualityInspectionRecordService.getHiddenDangerScore(projectSn);
|
||||
BigDecimal dangerEngScore = dangerousEngineeringRecordService.getScore(projectSn);
|
||||
BigDecimal riskScore = qualityInspectionRecordService.getRiskScore(projectSn);
|
||||
BigDecimal aiScore = aiAnalyseHardWareAlarmRecordService.getScore(projectSn);
|
||||
BigDecimal hiddenDangerScore = qualityInspectionRecordService.getHiddenDangerScore(projectSn, new Date());
|
||||
BigDecimal dangerEngScore = dangerousEngineeringRecordService.getScore(projectSn, new Date());
|
||||
BigDecimal riskScore = qualityInspectionRecordService.getRiskScore(projectSn, new Date());
|
||||
BigDecimal aiScore = aiAnalyseHardWareAlarmRecordService.getScore(projectSn, new Date());
|
||||
|
||||
Date lastMonth = DateUtil.offsetMonth(new Date(), -1);
|
||||
BigDecimal hiddenDangerScore1 = qualityInspectionRecordService.getHiddenDangerScore(projectSn, lastMonth);
|
||||
BigDecimal dangerEngScore1 = dangerousEngineeringRecordService.getScore(projectSn, lastMonth);
|
||||
BigDecimal riskScore1 = qualityInspectionRecordService.getRiskScore(projectSn, lastMonth);
|
||||
BigDecimal aiScore1 = aiAnalyseHardWareAlarmRecordService.getScore(projectSn, lastMonth);
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
resultMap.put("hiddenDangerScore", hiddenDangerScore);
|
||||
resultMap.put("dangerEngScore", dangerEngScore);
|
||||
resultMap.put("riskScore", riskScore);
|
||||
resultMap.put("aiScore", aiScore);
|
||||
resultMap.put("total", hiddenDangerScore.add(dangerEngScore).add(riskScore).add(aiScore).add(new BigDecimal(25)));
|
||||
BigDecimal total = hiddenDangerScore.add(dangerEngScore).add(riskScore).add(aiScore).add(new BigDecimal(25));
|
||||
resultMap.put("total", total);
|
||||
BigDecimal lastMonthTotal = hiddenDangerScore1.add(dangerEngScore1).add(riskScore1).add(aiScore1).add(new BigDecimal(25));
|
||||
resultMap.put("lastMonthTotal", lastMonthTotal);
|
||||
BigDecimal subtract = total.subtract(lastMonthTotal);
|
||||
subtract = subtract.divide(lastMonthTotal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
||||
resultMap.put("radio", subtract);
|
||||
return Result.success(resultMap);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import com.zhgd.xmgl.modules.xz.security.entity.vo.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -86,9 +87,9 @@ public interface IXzSecurityQualityInspectionRecordService extends IService<XzSe
|
||||
|
||||
void supervise(Map<String, Object> paramMap);
|
||||
|
||||
BigDecimal getHiddenDangerScore(String projectSn);
|
||||
BigDecimal getHiddenDangerScore(String projectSn, Date time);
|
||||
|
||||
BigDecimal getRiskScore(String projectSn);
|
||||
BigDecimal getRiskScore(String projectSn, Date time);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -65,6 +65,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
@ -652,15 +653,15 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getHiddenDangerScore(String projectSn) {
|
||||
public BigDecimal getHiddenDangerScore(String projectSn, Date date) {
|
||||
List<XzSecurityQualityInspectionRecord> list = this.list(Wrappers.<XzSecurityQualityInspectionRecord>lambdaQuery()
|
||||
.eq(XzSecurityQualityInspectionRecord::getProjectSn, projectSn)
|
||||
.between(XzSecurityQualityInspectionRecord::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date())));
|
||||
.between(XzSecurityQualityInspectionRecord::getCreateTime, DateUtil.beginOfMonth(date), DateUtil.endOfMonth(date)));
|
||||
if (list.size() > 0) {
|
||||
int num1 = list.stream().filter(l -> l.getStatus() == 3 || l.getStatus() == 5).collect(Collectors.toList()).size();
|
||||
BigDecimal bigDecimal = new BigDecimal(num1);
|
||||
BigDecimal bigDecimal1 = new BigDecimal(list.size());
|
||||
BigDecimal result1 = bigDecimal.divide(bigDecimal1, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.3));
|
||||
BigDecimal result1 = bigDecimal.divide(bigDecimal1, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.3)).setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
int num2 = list.stream().filter(l -> StringUtils.isNotBlank(l.getCompleteTime()) && StringUtils.isNotBlank(l.getChangeLimitTime())
|
||||
&& (l.getStatus() == 3 || l.getStatus() == 5) && DateUtil.compare(DateUtil.parseDateTime(l.getChangeLimitTime()), DateUtil.parseDateTime(l.getCompleteTime())) > 0).collect(Collectors.toList()).size();
|
||||
@ -668,38 +669,38 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
|
||||
BigDecimal bigDecimal3 = new BigDecimal(num2);
|
||||
BigDecimal result2 = new BigDecimal(0);
|
||||
if (num2 != 0) {
|
||||
result2 = bigDecima2.divide(bigDecimal3, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.3));
|
||||
result2 = bigDecima2.divide(bigDecimal3, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.3)).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
int num3 = list.stream().filter(l -> (l.getStatus() == 5)).collect(Collectors.toList()).size();
|
||||
BigDecimal bigDecima4 = new BigDecimal(num3);
|
||||
BigDecimal bigDecimal5 = new BigDecimal(list.size());
|
||||
BigDecimal result3 = bigDecima4.divide(bigDecimal5, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.2));
|
||||
BigDecimal result3 = bigDecima4.divide(bigDecimal5, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.2)).setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
int checkSize = xzSecurityInspectTaskRecordService.list(Wrappers.<XzSecurityInspectTaskRecord>lambdaQuery()
|
||||
.eq(XzSecurityInspectTaskRecord::getSn, projectSn)
|
||||
.between(XzSecurityInspectTaskRecord::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date()))).size();
|
||||
.between(XzSecurityInspectTaskRecord::getCreateTime, DateUtil.beginOfMonth(date), DateUtil.endOfMonth(date))).size();
|
||||
BigDecimal bigDecimal6 = new BigDecimal(checkSize);
|
||||
BigDecimal bigDecimal7 = new BigDecimal(4);
|
||||
BigDecimal result4 = bigDecimal6.divide(bigDecimal7, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.2));
|
||||
BigDecimal result4 = bigDecimal6.divide(bigDecimal7, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.2)).setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
BigDecimal total = result1.add(result2).add(result3).add(result4);
|
||||
return total.multiply(new BigDecimal(25));
|
||||
}
|
||||
return new BigDecimal(0);
|
||||
return new BigDecimal(25);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getRiskScore(String projectSn) {
|
||||
public BigDecimal getRiskScore(String projectSn, Date date) {
|
||||
List<XzSecurityQualityInspectionRecord> list = this.list(Wrappers.<XzSecurityQualityInspectionRecord>lambdaQuery()
|
||||
.eq(XzSecurityQualityInspectionRecord::getProjectSn, projectSn)
|
||||
.between(XzSecurityQualityInspectionRecord::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date())));
|
||||
.between(XzSecurityQualityInspectionRecord::getCreateTime, DateUtil.beginOfMonth(date), DateUtil.endOfMonth(date)));
|
||||
int num1 = list.stream().filter(l -> l.getRecordType() == 1).collect(Collectors.toList()).size();
|
||||
int num2 = list.stream().filter(l -> l.getRecordType() == 2).collect(Collectors.toList()).size();
|
||||
BigDecimal bigDecimal = new BigDecimal(num1);
|
||||
BigDecimal bigDecimal1 = new BigDecimal(num2);
|
||||
BigDecimal result1 = new BigDecimal(0);
|
||||
if (num2 != 0) {
|
||||
result1 = bigDecimal1.divide(bigDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.99"));
|
||||
result1 = bigDecimal1.divide(bigDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.99")).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
Set<String> stringSet = list.stream().map(x -> x.getDangerItemContent()).collect(Collectors.toSet());
|
||||
BigDecimal result2 = new BigDecimal(0);
|
||||
|
||||
@ -271,21 +271,23 @@ public class XzWorkerInfoAuditRecordController {
|
||||
|
||||
List<WorkerCertificate> certificateList = new ArrayList<>();
|
||||
JSONArray certificate = object.getJSONArray("certificate");
|
||||
for (int i = 0; i < certificate.size(); i++) {
|
||||
WorkerCertificate workerCertificate = new WorkerCertificate();
|
||||
JSONObject jsonObject = certificate.getJSONObject(i);
|
||||
int p = 0;
|
||||
for (String s : jsonObject.keySet()) {
|
||||
if (p == 0) {
|
||||
workerCertificate.setCertificateType(Integer.parseInt(jsonObject.getJSONArray(s).get(0).toString()));
|
||||
} else {
|
||||
workerCertificate.setPhotoUrl(jsonObject.getJSONArray(s).getJSONObject(0).getString("name") + "*" + jsonObject.getJSONArray(s).getJSONObject(0).getString("url"));
|
||||
if (certificate != null) {
|
||||
for (int i = 0; i < certificate.size(); i++) {
|
||||
WorkerCertificate workerCertificate = new WorkerCertificate();
|
||||
JSONObject jsonObject = certificate.getJSONObject(i);
|
||||
int p = 0;
|
||||
for (String s : jsonObject.keySet()) {
|
||||
if (p == 0) {
|
||||
workerCertificate.setCertificateType(Integer.parseInt(jsonObject.getJSONArray(s).get(0).toString()));
|
||||
} else {
|
||||
workerCertificate.setPhotoUrl(jsonObject.getJSONArray(s).getJSONObject(0).getString("name") + "*" + jsonObject.getJSONArray(s).getJSONObject(0).getString("url"));
|
||||
}
|
||||
p ++;
|
||||
}
|
||||
p ++;
|
||||
certificateList.add(workerCertificate);
|
||||
}
|
||||
certificateList.add(workerCertificate);
|
||||
infoAuditRecord.setSpecialCertificateInfo(JSON.toJSONString(certificateList));
|
||||
}
|
||||
infoAuditRecord.setSpecialCertificateInfo(JSON.toJSONString(certificateList));
|
||||
workerInfoAuditRecordService.updateById(infoAuditRecord);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user