大屏接口
This commit is contained in:
parent
f3d4e784d2
commit
188380e645
@ -202,6 +202,27 @@ public class DataScopeHandler implements DataPermissionHandler {
|
||||
}
|
||||
}
|
||||
|
||||
//解析ai视频预警
|
||||
List<String> filterAis = getNeedFilterLeftExpression(plainSelect, getFieldAiTables(), ds, true);
|
||||
if (CollUtil.isNotEmpty(filterAis)) {
|
||||
List<String> videoItems = aiAnalyseHardWareRecordService.getAiAnalyseHardIdsByEnterpriseId(id);
|
||||
if (CollUtil.isEmpty(videoItems)) {
|
||||
videoItems.add("0");
|
||||
}
|
||||
videoItems = videoItems.stream().map(s -> "'" + s + "'").collect(Collectors.toList());
|
||||
for (String filterAi : filterAis) {
|
||||
String sql = StrUtil.format(" ({}.hardware_id in ({}) OR ({}.quality_region_id in (select distinct quality_region_id from quality_region_to_user where user_id = {}))) ",
|
||||
filterAi, StrUtil.join(",", videoItems), filterAi, SecurityUtils.getUser().getUserId());
|
||||
Expression expression = null;
|
||||
try {
|
||||
expression = CCJSqlParserUtil.parseCondExpression(sql);
|
||||
expressions.add(expression);
|
||||
} catch (JSQLParserException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (expressions.size() > 0) {
|
||||
Expression dataExpression;
|
||||
|
||||
@ -62,7 +62,7 @@ public class QualityInspectionRecordController {
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "regionId", value = "检查部位ID", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "itemId", value = "子任务ID", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "status", value = "状态,1无需整改,2待整改,3待复查,4待核验,5合格,6不合格,7超期未关闭", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "status", value = "状态,1无需整改,2待整改,3待复查,4待核验,5合格,60未合格,7超期未关闭", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "recordStatus", value = "查询类型,1排查记录,2已闭合,3未闭合,4超期未关闭,5待整改,6待复查,7待核验", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "urgentLevel", value = "紧急程度,1一般,2严重,3紧要", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "level", value = "问题等级,1一级,2二级,3三级,4四级", paramType = "body", required = false, dataType = "String"),
|
||||
|
||||
@ -301,13 +301,16 @@
|
||||
<if test="param.level != null and param.level != ''">
|
||||
and a.level = #{param.level}
|
||||
</if>
|
||||
<if test="param.status != null and param.status != '' and param.status != '7'.toString()">
|
||||
<if test="param.status != null and param.status != '' and param.status != '7'.toString() and param.status != '60'.toString()">
|
||||
and a.status = #{param.status}
|
||||
</if>
|
||||
<if test="param.status == '7'.toString()">
|
||||
and a.change_limit_time <![CDATA[<]]> current_date
|
||||
and a.status != 5
|
||||
</if>
|
||||
<if test="param.status == '60'.toString()">
|
||||
and a.status != 5 and a.status != 6
|
||||
</if>
|
||||
<if test="param.urgentLevel != null and param.urgentLevel != ''">
|
||||
and a.urgent_level = #{param.urgentLevel}
|
||||
</if>
|
||||
|
||||
@ -17,6 +17,8 @@ public interface AiAnalyseHardWareRecordMapper extends BaseMapper<AiAnalyseHardW
|
||||
|
||||
List<String> getAiAnalyseHardIdsByUserId(Long userId);
|
||||
|
||||
List<String> getAiAnalyseHardIdsByEnterpriseId(Long enterpriseId);
|
||||
|
||||
List<String> getUserIdsByAiAnalyseHardId(String aiAnalyseHardId);
|
||||
|
||||
List<String> getUserIdsByQualityRegionId(String qualityRegionId);
|
||||
|
||||
@ -8,6 +8,15 @@
|
||||
join quality_region_to_user qrtu on qrtaah.quality_region_id = qrtu.quality_region_id
|
||||
where qrtu.user_id = #{userId}
|
||||
</select>
|
||||
<select id="getAiAnalyseHardIdsByEnterpriseId" resultType="java.lang.String">
|
||||
select distinct qrtaah.ai_analyse_hard_ware_record_id
|
||||
from quality_region_to_ai_analyse_hard qrtaah
|
||||
join quality_region_to_enterprise qrte on qrte.quality_region_id = qrtaah.quality_region_id
|
||||
where (qrte.enterprise_id = #{enterpriseId} OR qrte.enterprise_id IN ( SELECT DISTINCT t2.enterprise_id FROM
|
||||
(SELECT id FROM project_enterprise WHERE enterprise_id = #{enterpriseId}) t join project_enterprise t2 on
|
||||
find_in_set( t.id, t2.ancestors ) ))
|
||||
</select>
|
||||
|
||||
<select id="getUserIdsByAiAnalyseHardId" resultType="java.lang.String">
|
||||
select distinct qrtu.user_id
|
||||
from ai_analyse_hard_ware_record aahwr
|
||||
|
||||
@ -34,4 +34,12 @@ public interface IAiAnalyseHardWareRecordService extends IService<AiAnalyseHardW
|
||||
List<String> getUserIdsByAiAnalyseHardId(String ha);
|
||||
|
||||
List<String> getUserIdsByQualityRegionId(String ha);
|
||||
|
||||
/**
|
||||
* 通过企业id(总包的)查询子企业的ai预警设备id
|
||||
*
|
||||
* @param enterpriseId
|
||||
* @return
|
||||
*/
|
||||
List<String> getAiAnalyseHardIdsByEnterpriseId(Long enterpriseId);
|
||||
}
|
||||
|
||||
@ -100,4 +100,9 @@ public class AiAnalyseHardWareRecordServiceImpl extends ServiceImpl<AiAnalyseHar
|
||||
return baseMapper.getUserIdsByQualityRegionId(qualityRegionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAiAnalyseHardIdsByEnterpriseId(Long enterpriseId) {
|
||||
return baseMapper.getAiAnalyseHardIdsByEnterpriseId(enterpriseId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -8,12 +8,14 @@ import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.vo.StatsEnterpriseWeekVo;
|
||||
import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -219,4 +221,21 @@ public class EnterpriseInfoController {
|
||||
return Result.success(enterpriseInfoService.countSupplier(paramMap));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询供应商的详情", notes = "查询供应商的详情", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
})
|
||||
@PostMapping(value = "/getXzSupplierInfo")
|
||||
public Result<EnterpriseInfo> getXzSupplierInfo(@ApiIgnore @RequestBody Map<String, Object> param) {
|
||||
return Result.success(enterpriseInfoService.getXzSupplierInfo(param));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "企业本周数据统计", notes = "企业本周数据统计", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "enterpriseId", value = "企业id", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/statsEnterpriseWeek")
|
||||
public Result<StatsEnterpriseWeekVo> statsEnterpriseWeek(@ApiIgnore @RequestBody Map<String, Object> param) {
|
||||
return Result.success(enterpriseInfoService.statsEnterpriseWeek(param));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
package com.zhgd.xmgl.modules.worker.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class StatsEnterpriseWeekVo {
|
||||
@ApiModelProperty("在场人员数量")
|
||||
private Integer Num;
|
||||
@ApiModelProperty("在职人员数量")
|
||||
private Integer inServiceNum;
|
||||
@ApiModelProperty("企业安全分")
|
||||
private Double safeScore;
|
||||
@ApiModelProperty("安全隐患总数")
|
||||
private Integer securityNum;
|
||||
@ApiModelProperty("质量隐患总数")
|
||||
private Integer qualityNum;
|
||||
@ApiModelProperty("特种作业数量")
|
||||
private Integer specialNum;
|
||||
@ApiModelProperty("培训未通过率")
|
||||
private Double trainNotPassRadio;
|
||||
|
||||
}
|
||||
@ -254,4 +254,6 @@ public interface WorkerInfoMapper extends BaseMapper<WorkerInfo> {
|
||||
List<TrendOneVo> statsEnterprise(@Param("param") Map<String, Object> map);
|
||||
|
||||
List<StatsTrendVo> statsEnterpriseRisk(@Param("param") Map<String, Object> map);
|
||||
|
||||
double getAvgSafeScore(@Param("enterpriseId") String enterpriseId, @Param("projectSn") String projectSn);
|
||||
}
|
||||
|
||||
@ -2552,4 +2552,10 @@
|
||||
where t.project_sn=#{param.projectSn} and t.inService_type = 1
|
||||
group by t.enterprise_id
|
||||
</select>
|
||||
|
||||
<select id="getAvgSafeScore" resultType="double">
|
||||
select ifnull(round(avg(safe_score),2),0)
|
||||
from worker_info
|
||||
where inService_type = 1 and enterprise_id = #{enterpriseId} and project_sn = #{projectSn}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -9,6 +9,7 @@ import com.zhgd.xmgl.base.CompanyVo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.vo.StatsEnterpriseWeekVo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -58,4 +59,8 @@ public interface IEnterpriseInfoService extends IService<EnterpriseInfo> {
|
||||
Page<EnterpriseInfo> countSupplier(Map<String, Object> paramMap);
|
||||
|
||||
List<EnterpriseInfo> getEnterpriseInfoByRegionId(Long id);
|
||||
|
||||
EnterpriseInfo getXzSupplierInfo(Map<String, Object> param);
|
||||
|
||||
StatsEnterpriseWeekVo statsEnterpriseWeek(Map<String, Object> param);
|
||||
}
|
||||
|
||||
@ -168,4 +168,5 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
||||
|
||||
void deleteBatch(String ids);
|
||||
|
||||
double getAvgSafeScore(String enterpriseId, String projectSn);
|
||||
}
|
||||
|
||||
@ -1,38 +1,51 @@
|
||||
package com.zhgd.xmgl.modules.worker.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
||||
import com.zhgd.xmgl.async.AsyncWorker;
|
||||
import com.zhgd.xmgl.base.CompanyVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.impl.CompanyServiceImpl;
|
||||
import com.zhgd.xmgl.modules.exam.entity.ExamTrain;
|
||||
import com.zhgd.xmgl.modules.exam.entity.ExamTrainRecord;
|
||||
import com.zhgd.xmgl.modules.exam.mapper.ExamTrainMapper;
|
||||
import com.zhgd.xmgl.modules.exam.service.IExamTrainRecordService;
|
||||
import com.zhgd.xmgl.modules.exam.service.IExamTrainService;
|
||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise;
|
||||
import com.zhgd.xmgl.modules.project.entity.XzUserToSupplier;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||
import com.zhgd.xmgl.modules.project.service.impl.ProjectEnterpriseServiceImpl;
|
||||
import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.TeamInfo;
|
||||
import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord;
|
||||
import com.zhgd.xmgl.modules.quality.service.IQualityInspectionRecordService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.*;
|
||||
import com.zhgd.xmgl.modules.worker.entity.vo.StatsEnterpriseWeekVo;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.DepartmentInfoMapper;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.TeamInfoMapper;
|
||||
import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
|
||||
import com.zhgd.xmgl.modules.worker.service.IUserEnterpriseService;
|
||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
||||
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord;
|
||||
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService;
|
||||
import com.zhgd.xmgl.modules.xz.service.impl.XzSupplierQualificationApplyServiceImpl;
|
||||
import com.zhgd.xmgl.modules.xz.special.entity.*;
|
||||
import com.zhgd.xmgl.modules.xz.special.service.*;
|
||||
import com.zhgd.xmgl.security.entity.UserInfo;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import com.zhgd.xmgl.util.ListUtils;
|
||||
@ -45,7 +58,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 劳务公司
|
||||
@ -60,6 +76,30 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
||||
IUserEnterpriseService userEnterpriseService;
|
||||
@Autowired
|
||||
ProjectMapper projectMapper;
|
||||
@Resource
|
||||
IWorkerInfoService workerInfoService;
|
||||
@Resource
|
||||
ExamTrainMapper examTrainMapper;
|
||||
@Resource
|
||||
IXzSecurityQualityInspectionRecordService xzSecurityQualityInspectionRecordService;
|
||||
@Resource
|
||||
IQualityInspectionRecordService qualityInspectionRecordService;
|
||||
@Resource
|
||||
IXzBlindPlatePlugSafeService xzBlindPlatePlugSafeService;
|
||||
@Resource
|
||||
IXzGroundSafetService iXzGroundSafetService;
|
||||
@Resource
|
||||
IXzHighJobSafeService iXzHighJobSafeService;
|
||||
@Resource
|
||||
IXzHoistSafetyWorkService iXzHoistSafetyWorkService;
|
||||
@Resource
|
||||
IXzLimitSpaceSafeService iXzLimitSpaceSafeService;
|
||||
@Resource
|
||||
IXzOpenCircuitSafeService iXzOpenCircuitSafeService;
|
||||
@Resource
|
||||
IXzSpecialOperationFireSafetyService iXzSpecialOperationFireSafetyService;
|
||||
@Resource
|
||||
IXzTemporaryElectricitySafeService xzTemporaryElectricitySafeService;
|
||||
@Autowired
|
||||
private EnterpriseInfoMapper enterpriseInfoMapper;
|
||||
@Autowired
|
||||
@ -82,6 +122,10 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
||||
private XzSupplierQualificationApplyServiceImpl xzSupplierQualificationApplyService;
|
||||
@Autowired
|
||||
private CompanyServiceImpl companyService;
|
||||
@Autowired
|
||||
private IExamTrainService examTrainService;
|
||||
@Autowired
|
||||
private IExamTrainRecordService examTrainRecordService;
|
||||
|
||||
@Override
|
||||
public List<EntityMap> getEnterpriseInfoList(Map<String, Object> map) {
|
||||
@ -484,6 +528,130 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
||||
return baseMapper.getEnterpriseInfoByRegionId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnterpriseInfo getXzSupplierInfo(Map<String, Object> param) {
|
||||
Long userId = SecurityUtils.getUser().getUserId();
|
||||
return baseMapper.getXzSupplierByUserId(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatsEnterpriseWeekVo statsEnterpriseWeek(Map<String, Object> param) {
|
||||
StatsEnterpriseWeekVo vo = new StatsEnterpriseWeekVo();
|
||||
String enterpriseId = MapUtils.getString(param, "enterpriseId");
|
||||
String projectSn = MapUtils.getString(param, "projectSn");
|
||||
String beginOfWeek = DateUtil.formatDateTime(DateUtil.beginOfWeek(new Date()));
|
||||
Integer inServiceNum = workerInfoService.count(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.eq(WorkerInfo::getProjectSn, projectSn)
|
||||
.eq(WorkerInfo::getEnterpriseId, enterpriseId)
|
||||
.eq(WorkerInfo::getInserviceType, 1));
|
||||
vo.setInServiceNum(inServiceNum);
|
||||
int securityNum = xzSecurityQualityInspectionRecordService.count(new LambdaQueryWrapper<XzSecurityQualityInspectionRecord>()
|
||||
.eq(XzSecurityQualityInspectionRecord::getProjectSn, projectSn)
|
||||
.eq(XzSecurityQualityInspectionRecord::getEnterpriseId, enterpriseId)
|
||||
.ge(XzSecurityQualityInspectionRecord::getInspectTime, beginOfWeek)
|
||||
);
|
||||
vo.setSecurityNum(securityNum);
|
||||
int qualityNum = qualityInspectionRecordService.count(new LambdaQueryWrapper<QualityInspectionRecord>()
|
||||
.eq(QualityInspectionRecord::getProjectSn, projectSn)
|
||||
.eq(QualityInspectionRecord::getEnterpriseId, enterpriseId)
|
||||
.ge(QualityInspectionRecord::getInspectTime, beginOfWeek)
|
||||
);
|
||||
vo.setQualityNum(qualityNum);
|
||||
int specialNum = countSpecialNumThisWeek(enterpriseId, projectSn, beginOfWeek);
|
||||
double notPassRadio = getTrainNotPassRadio(enterpriseId, projectSn, beginOfWeek);
|
||||
vo.setTrainNotPassRadio(notPassRadio);
|
||||
vo.setSpecialNum(specialNum);
|
||||
double safeScore = workerInfoService.getAvgSafeScore(enterpriseId, projectSn);
|
||||
vo.setSafeScore(safeScore);
|
||||
vo.setNum(0);
|
||||
return vo;
|
||||
}
|
||||
|
||||
private double getTrainNotPassRadio(String enterpriseId, String projectSn, String beginOfWeek) {
|
||||
QueryWrapper<ExamTrain> wrapper = QueryGenerator.initPageQueryWrapper(ExamTrain.class, new HashMap<>());
|
||||
Set<Long> trainIds = examTrainRecordService.list().stream().map(e -> e.getTrainId()).collect(Collectors.toSet());
|
||||
if (trainIds.size() == 0) {
|
||||
return 0;
|
||||
}
|
||||
wrapper.lambda().in(ExamTrain::getId, trainIds);
|
||||
Page<ExamTrain> examTrainPage = examTrainMapper.pageList(new Page(1, -1), wrapper);
|
||||
List<Long> ids = examTrainPage.getRecords().stream().map(e -> e.getId()).collect(Collectors.toList());
|
||||
BigDecimal sum = new BigDecimal(0);
|
||||
BigDecimal count = new BigDecimal(0);
|
||||
if (ids.size() > 0) {
|
||||
List<ExamTrainRecord> examTrainRecordList = examTrainRecordService.list(Wrappers.<ExamTrainRecord>lambdaQuery().in(ExamTrainRecord::getTrainId, ids)
|
||||
.eq(ExamTrainRecord::getProjectSn, projectSn)
|
||||
.eq(ExamTrainRecord::getEnterpriseId, enterpriseId)
|
||||
.ge(ExamTrainRecord::getCreateTime, beginOfWeek)
|
||||
);
|
||||
for (ExamTrain record : examTrainPage.getRecords()) {
|
||||
if (record.getExamPaperId() != null) {
|
||||
List<ExamTrainRecord> trainRecordList = examTrainRecordList.stream().filter(e -> e.getTrainId().toString().equals(record.getId().toString())).collect(Collectors.toList());
|
||||
if (trainRecordList.size() > 0) {
|
||||
int pass = trainRecordList.stream().filter(t -> t.getIsPass() == 1).collect(Collectors.toList()).size();
|
||||
record.setPassRadio(new BigDecimal(pass).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
sum.add(BigDecimal.valueOf(100).subtract(record.getPassRadio()));
|
||||
count.add(new BigDecimal(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return sum.divide(count, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
}
|
||||
|
||||
private int countSpecialNumThisWeek(String enterpriseId, String projectSn, String beginOfWeek) {
|
||||
String endOfWeek = DateUtil.formatDateTime(DateUtil.endOfWeek(new Date()));
|
||||
int n1 = xzBlindPlatePlugSafeService.count(new LambdaQueryWrapper<XzBlindPlatePlugSafe>()
|
||||
.eq(XzBlindPlatePlugSafe::getProjectSn, projectSn)
|
||||
.eq(XzBlindPlatePlugSafe::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzBlindPlatePlugSafe::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzBlindPlatePlugSafe::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n2 = iXzGroundSafetService.count(new LambdaQueryWrapper<XzGroundSafet>()
|
||||
.eq(XzGroundSafet::getProjectSn, projectSn)
|
||||
.eq(XzGroundSafet::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzGroundSafet::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzGroundSafet::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n3 = iXzHighJobSafeService.count(new LambdaQueryWrapper<XzHighJobSafe>()
|
||||
.eq(XzHighJobSafe::getProjectSn, projectSn)
|
||||
.eq(XzHighJobSafe::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzHighJobSafe::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzHighJobSafe::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n4 = iXzHoistSafetyWorkService.count(new LambdaQueryWrapper<XzHoistSafetyWork>()
|
||||
.eq(XzHoistSafetyWork::getProjectSn, projectSn)
|
||||
.eq(XzHoistSafetyWork::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzHoistSafetyWork::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzHoistSafetyWork::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n5 = iXzLimitSpaceSafeService.count(new LambdaQueryWrapper<XzLimitSpaceSafe>()
|
||||
.eq(XzLimitSpaceSafe::getProjectSn, projectSn)
|
||||
.eq(XzLimitSpaceSafe::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzLimitSpaceSafe::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzLimitSpaceSafe::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n6 = iXzOpenCircuitSafeService.count(new LambdaQueryWrapper<XzOpenCircuitSafe>()
|
||||
.eq(XzOpenCircuitSafe::getProjectSn, projectSn)
|
||||
.eq(XzOpenCircuitSafe::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzOpenCircuitSafe::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzOpenCircuitSafe::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n7 = iXzSpecialOperationFireSafetyService.count(new LambdaQueryWrapper<XzSpecialOperationFireSafety>()
|
||||
.eq(XzSpecialOperationFireSafety::getProjectSn, projectSn)
|
||||
.eq(XzSpecialOperationFireSafety::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzSpecialOperationFireSafety::getHotWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzSpecialOperationFireSafety::getHotWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
int n8 = xzTemporaryElectricitySafeService.count(new LambdaQueryWrapper<XzTemporaryElectricitySafe>()
|
||||
.eq(XzTemporaryElectricitySafe::getProjectSn, projectSn)
|
||||
.eq(XzTemporaryElectricitySafe::getJobApplicationUnit, enterpriseId)
|
||||
.le(XzTemporaryElectricitySafe::getWorkExecutionBeginTime, endOfWeek)
|
||||
.ge(XzTemporaryElectricitySafe::getWorkExecutionEndTime, beginOfWeek)
|
||||
);
|
||||
return n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8;
|
||||
}
|
||||
|
||||
private EnterpriseInfo getEnterpriseInfo(SjEnterpriseInfo e, String projectSn) {
|
||||
EnterpriseInfo enterpriseInfo = new EnterpriseInfo();
|
||||
enterpriseInfo.setId(e.getId());
|
||||
|
||||
@ -2548,4 +2548,9 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
deleteWorkerInfo(workerId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAvgSafeScore(String enterpriseId, String projectSn) {
|
||||
return baseMapper.getAvgSafeScore(enterpriseId, projectSn);
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user