隐患考评初始化

main
zhaokai 2026-03-31 08:54:41 +08:00
parent 330e83e82a
commit 2b186aa5e1
99 changed files with 2357 additions and 991 deletions

View File

@ -20,7 +20,7 @@ spring:
file-extension: yml
shared-configs:
- config-common.yml
- config-port.yml
# - config-port.yml
- config-mq.yml
- config-log.yml
- config-sdk-server.yml
@ -36,3 +36,5 @@ spring:
discovery:
server-addr: ${spring.cloud.nacos.config.server-addr}
namespace: ${spring.cloud.nacos.config.namespace}
server:
port: 8080

View File

@ -32,24 +32,24 @@ import java.util.ArrayList;
public class EvaluationConfigController {
private final EvaluationConfigServiceI evaluationConfigService;
@ApiOperation("新增")
/* @ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<EvaluationConfigCO> add(@Validated @RequestBody EvaluationConfigAddCmd cmd) {
return evaluationConfigService.add(cmd);
}
}*/
@ApiOperation("首页分页")
@ApiOperation("考评组配置首页分页")
@PostMapping("/list")
public PageResponse<CorpEvaluationConfigCO> page(@RequestBody EvaluationConfigPageQry qry) {
return evaluationConfigService.listPage(qry);
}
@ApiOperation("获取企业下所有数据")
@GetMapping("/listAll")
@ApiOperation("获取企业下所有配置数据")
@PostMapping("/listAll")
public MultiResponse<EvaluationConfigCO> listAll(@RequestBody EvaluationConfigQry qry) {
return MultiResponse.of( evaluationConfigService.listAll(qry));
}
@ApiOperation("修改")
@PutMapping("/editBath")
@PostMapping("/editBath")
public SingleResponse editBath(@Validated @RequestBody EvaluationConfigBathUpdateCmd evaluationConfigBathUpdateCmd) {
evaluationConfigService.editBath(evaluationConfigBathUpdateCmd);
return SingleResponse.buildSuccess();

View File

@ -39,13 +39,13 @@ public class EvaluationCorpController {
return evaluationCorpService.add(cmd);
}
@ApiOperation("分页")
/* @ApiOperation("分页")
@PostMapping("/list")
public PageResponse<EvaluationCorpCO> page(@RequestBody EvaluationCorpPageQry qry) {
return evaluationCorpService.listPage(qry);
}
/* @ApiOperation("所有数据")
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<EvaluationCorpCO> listAll() {
return MultiResponse.of(new ArrayList<EvaluationCorpCO>());

View File

@ -8,9 +8,7 @@ import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.hidden.evaluation.api.HiddenEvaluationDetailServiceI;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailUpdateCmd;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationDetailCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -33,10 +31,9 @@ import java.util.ArrayList;
public class HiddenEvaluationDetailController {
private final HiddenEvaluationDetailServiceI hiddenEvaluationDetailService;
@ApiOperation("新增")
@ApiOperation("考评新增")
@PostMapping("/save")
public SingleResponse<HiddenEvaluationDetailCO> add(@Validated @RequestBody HiddenEvaluationDetailAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return hiddenEvaluationDetailService.add(cmd);
}
@ -46,13 +43,18 @@ public class HiddenEvaluationDetailController {
return hiddenEvaluationDetailService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<HiddenEvaluationDetailCO> listAll() {
return MultiResponse.of(new ArrayList<HiddenEvaluationDetailCO>());
@ApiOperation("考评详情所有数据")
@PostMapping("/listAll")
public MultiResponse<HiddenEvaluationDetailCO> listAll(@RequestBody HiddenEvaluationDetailQry qry) {
return MultiResponse.of(hiddenEvaluationDetailService.listAll(qry));
}
@ApiOperation("考评详情所有数据-只查询已考评完的")
@PostMapping("/listAllComplete")
public MultiResponse<HiddenEvaluationDetailCO> listAllComplete(@RequestBody HiddenEvaluationDetailCompleteQry qry) {
return MultiResponse.of(hiddenEvaluationDetailService.listAllComplete(qry));
}
@ApiOperation("详情")
/* @ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<HiddenEvaluationDetailCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new HiddenEvaluationDetailCO());
@ -77,6 +79,6 @@ public class HiddenEvaluationDetailController {
public SingleResponse edit(@Validated @RequestBody HiddenEvaluationDetailUpdateCmd hiddenEvaluationDetailUpdateCmd) {
hiddenEvaluationDetailService.edit(hiddenEvaluationDetailUpdateCmd);
return SingleResponse.buildSuccess();
}
}*/
}

View File

@ -8,16 +8,15 @@ import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.hidden.evaluation.api.HiddenEvaluationRecordServiceI;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationRecordCO;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
/**
@ -32,14 +31,59 @@ import java.util.ArrayList;
@AllArgsConstructor
public class HiddenEvaluationRecordController {
private final HiddenEvaluationRecordServiceI hiddenEvaluationRecordService;
@ApiOperation("分公司隐患考评首页分页")
@PostMapping("/corpHidddenPage")
public PageResponse<CorpHiddenStatisticsCO> corpHidddenPage(@RequestBody CorpHiddenEvaluationPageQry qry) {
return hiddenEvaluationRecordService.corpHidddenPage(qry);
}
@ApiOperation("新增")
@ApiOperation("分公司隐患考评隐患信息")
@PostMapping("/hidddenPage")
public PageResponse<HiddenStatisticsCO> hidddenPage(@RequestBody HiddenEvaluationPageQry qry) {
return hiddenEvaluationRecordService.hidddenPage(qry);
}
@ApiOperation("人员考评管理-首页")
@PostMapping("/corpEvalStatisticsPage")
public PageResponse<CorpEvalStatisticsCO> corpEvalStatisticsPage(@RequestBody CorpEvalStatisticsPageQry qry) {
return hiddenEvaluationRecordService.corpEvalStatisticsPage(qry);
}
@ApiOperation("人员考评情况列表")
@PostMapping("/userEvalStatisticsPage")
public PageResponse<UserEvalStatisticsCO> userEvalStatisticsPage(@RequestBody UserEvalStatisticsPageQry qry) {
return hiddenEvaluationRecordService.userEvalStatisticsPage(qry);
}
@ApiOperation("人员考评情况列表导出")
@GetMapping("/exportUserEvalStatisticsPage")
public void exportUserEvalStatisticsPage(@RequestParam(value = "ids") Long[] ids,
@RequestParam(value = "corpinfoId") Long corpinfoId,
HttpServletResponse httpServletResponse) {
hiddenEvaluationRecordService.exportUserEvalStatisticsPage(ids,corpinfoId, httpServletResponse);
}
@ApiOperation("考评列表")
@PostMapping("/hiddenEvalPage")
public PageResponse<HiddenEvalCO> hidddenEvalPage(@RequestBody HiddenEvalPageQry qry) {
return hiddenEvaluationRecordService.hidddenEvalPage(qry);
}
@ApiOperation("分公司绩效好评-首页列表")
@PostMapping("/corpEvalPage")
public PageResponse<CorpEvalCO> corpEvalPage(@RequestBody CorpEvalPageQry qry) {
return hiddenEvaluationRecordService.corpEvalPage(qry);
}
/* @ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<HiddenEvaluationRecordCO> add(@Validated @RequestBody HiddenEvaluationRecordAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return hiddenEvaluationRecordService.add(cmd);
}
}*/
/*
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<HiddenEvaluationRecordCO> page(@RequestBody HiddenEvaluationRecordPageQry qry) {
@ -77,6 +121,11 @@ public class HiddenEvaluationRecordController {
public SingleResponse edit(@Validated @RequestBody HiddenEvaluationRecordUpdateCmd hiddenEvaluationRecordUpdateCmd) {
hiddenEvaluationRecordService.edit(hiddenEvaluationRecordUpdateCmd);
return SingleResponse.buildSuccess();
}
}*/
}

View File

@ -8,6 +8,7 @@ import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.hidden.evaluation.api.HiddenExchangeBathServiceI;
import com.zcloud.hidden.evaluation.dto.ExchangeScoreBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathUpdateCmd;
@ -33,6 +34,17 @@ import java.util.ArrayList;
public class HiddenExchangeBathController {
private final HiddenExchangeBathServiceI hiddenExchangeBathService;
@ApiOperation("兑换积分")
@PostMapping("/exchangeScore")
public SingleResponse<HiddenExchangeBathCO> exchangeScore(@Validated @RequestBody ExchangeScoreBathAddCmd cmd) {
return hiddenExchangeBathService.exchangeScore(cmd);
}
@ApiOperation("兑换记录分页")
@PostMapping("/list")
public PageResponse<HiddenExchangeBathCO> page(@RequestBody HiddenExchangeBathPageQry qry) {
return hiddenExchangeBathService.listPage(qry);
}
/*
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<HiddenExchangeBathCO> add(@Validated @RequestBody HiddenExchangeBathAddCmd cmd) {
@ -40,11 +52,7 @@ public class HiddenExchangeBathController {
return hiddenExchangeBathService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<HiddenExchangeBathCO> page(@RequestBody HiddenExchangeBathPageQry qry) {
return hiddenExchangeBathService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
@ -77,6 +85,6 @@ public class HiddenExchangeBathController {
public SingleResponse edit(@Validated @RequestBody HiddenExchangeBathUpdateCmd hiddenExchangeBathUpdateCmd) {
hiddenExchangeBathService.edit(hiddenExchangeBathUpdateCmd);
return SingleResponse.buildSuccess();
}
}*/
}

View File

@ -32,19 +32,22 @@ import java.util.ArrayList;
@AllArgsConstructor
public class HiddenExchangeInfoController {
private final HiddenExchangeInfoServiceI hiddenExchangeInfoService;
@ApiOperation("兑换列表中的隐患信息分页")
@PostMapping("/list")
public PageResponse<HiddenExchangeInfoCO> page(@RequestBody HiddenExchangeInfoPageQry qry) {
return hiddenExchangeInfoService.listPage(qry);
}
@ApiOperation("新增")
/* @ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<HiddenExchangeInfoCO> add(@Validated @RequestBody HiddenExchangeInfoAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return hiddenExchangeInfoService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<HiddenExchangeInfoCO> page(@RequestBody HiddenExchangeInfoPageQry qry) {
return hiddenExchangeInfoService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
@ -77,6 +80,6 @@ public class HiddenExchangeInfoController {
public SingleResponse edit(@Validated @RequestBody HiddenExchangeInfoUpdateCmd hiddenExchangeInfoUpdateCmd) {
hiddenExchangeInfoService.edit(hiddenExchangeInfoUpdateCmd);
return SingleResponse.buildSuccess();
}
}*/
}

View File

@ -1,82 +0,0 @@
package com.zcloud.hidden.evaluation.web;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.hidden.evaluation.api.HiddenUserScoreServiceI;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenUserScorePageQry;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenUserScoreCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Api(tags = "用户隐患积分表")
@RequestMapping("/${application.gateway}/hiddenUserScore")
@RestController
@AllArgsConstructor
public class HiddenUserScoreController {
private final HiddenUserScoreServiceI hiddenUserScoreService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<HiddenUserScoreCO> add(@Validated @RequestBody HiddenUserScoreAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return hiddenUserScoreService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<HiddenUserScoreCO> page(@RequestBody HiddenUserScorePageQry qry) {
return hiddenUserScoreService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<HiddenUserScoreCO> listAll() {
return MultiResponse.of(new ArrayList<HiddenUserScoreCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<HiddenUserScoreCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new HiddenUserScoreCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
hiddenUserScoreService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
hiddenUserScoreService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody HiddenUserScoreUpdateCmd hiddenUserScoreUpdateCmd) {
hiddenUserScoreService.edit(hiddenUserScoreUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -1,14 +1,31 @@
package com.zcloud.hidden.evaluation.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.hidden.evaluation.domain.enums.CompliantFlagEnum;
import com.zcloud.hidden.evaluation.domain.enums.EvaluationResultEnum;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenEvaluationDetailGateway;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenEvaluationRecordGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationDetailE;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailAddCmd;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationDetailDO;
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationDetailRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenRepository;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* web-app
@ -18,13 +35,37 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Component
@AllArgsConstructor
@Slf4j
public class HiddenEvaluationDetailAddExe {
private final HiddenEvaluationDetailGateway hiddenEvaluationDetailGateway;
private final HiddenEvaluationRecordRepository hiddenEvaluationRecordRepository;
private final HiddenEvaluationRecordGateway hiddenEvaluationRecordGateway;
private final EvaluationConfigRepository evaluationConfigRepository;
private final HiddenEvaluationDetailRepository hiddenEvaluationDetailRepository;
private final HiddenRepository hiddenRepository;
@Transactional(rollbackFor = Exception.class)
public boolean execute(HiddenEvaluationDetailAddCmd cmd) {
List<EvaluationConfigDO> listByCorpId =evaluationConfigRepository.getListByCorpId(cmd.getCorpinfoId(), cmd.getEvaluationType());
//判断当前人是否可以评论
if (!listByCorpId.stream().anyMatch(config -> config.getUserId().equals(cmd.getEvaluationUserId()))) {
throw new BizException("当前用户没有权限评审");
}
HiddenDO hiddenDO = hiddenRepository.getByHiddenId(cmd.getHiddenId());
if (hiddenDO == null) {
throw new BizException("隐患不存在");
}
//是否存在record,不存在新增
HiddenEvaluationRecordE hiddenEvaluationRecordE = hiddenEvaluationRecordGateway.checkRecordExist(cmd.getHiddenId(), cmd.getCorpinfoId(), cmd.getEvaluationType(),hiddenDO.getCreatorId());
Boolean b = hiddenEvaluationDetailRepository.checkComplete(hiddenEvaluationRecordE.getHiddenEvaluationRecordId(),cmd.getEvaluationUserId());
if( b){
throw new BizException("该用户已经考评过");
}
HiddenEvaluationDetailE hiddenEvaluationDetailE = new HiddenEvaluationDetailE();
BeanUtils.copyProperties(cmd, hiddenEvaluationDetailE);
hiddenEvaluationDetailE.setHiddenEvaluationRecordId(hiddenEvaluationRecordE.getHiddenEvaluationRecordId());
boolean res = false;
try {
res = hiddenEvaluationDetailGateway.add(hiddenEvaluationDetailE);
@ -34,6 +75,38 @@ public class HiddenEvaluationDetailAddExe {
if (!res) {
throw new BizException("保存失败");
}
//查看是否所有都已经评论完成
List<HiddenEvaluationDetailDO> listByHidden =hiddenEvaluationDetailRepository.getAllListByHidden(hiddenEvaluationRecordE.getHiddenEvaluationRecordId());
//listByCorpId中的userid全部都在listByHidden中才算是评论完成
// 提取 listByHidden 中所有的考评人 ID
Set<Long> evaluatedUserIds = listByHidden.stream()
.map(HiddenEvaluationDetailDO::getEvaluationUserId)
.collect(Collectors.toSet());
// 检查 listByCorpId 中的所有用户是否都已完成评论
boolean allEvaluated = listByCorpId.stream()
.allMatch(config -> evaluatedUserIds.contains(config.getUserId()));
if (allEvaluated) {
// 所有用户都已完成评论,更新状态
hiddenEvaluationRecordE.setEvaluationTime(LocalDateTime.now());
//只要 listByHidden 中有三个人评价合格,就算合格
long compliantCount = listByHidden.stream()
.filter(detail -> detail.getIsCompliant() != null && CompliantFlagEnum.COMPLIANT.getCode().equals(detail.getIsCompliant()))
.count();
// 如果有至少 3 人评价合格,则判定为合格,否则为不合格
if (compliantCount >= 3) {
hiddenEvaluationRecordE.setEvaluationResult(EvaluationResultEnum.COMPLIANT.getCode()); // 考评合格
} else {
hiddenEvaluationRecordE.setEvaluationResult(EvaluationResultEnum.NON_COMPLIANT.getCode()); // 考评不合格
}
// 更新评审记录状态
hiddenEvaluationRecordGateway.update(hiddenEvaluationRecordE);
}
return true;
}
}

View File

@ -1,14 +1,33 @@
package com.zcloud.hidden.evaluation.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.hidden.evaluation.domain.enums.CommonFlagEnum;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenExchangeBathGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import com.zcloud.hidden.evaluation.domain.model.HiddenExchangeBathE;
import com.zcloud.hidden.evaluation.domain.model.HiddenExchangeInfoE;
import com.zcloud.hidden.evaluation.dto.ExchangeScoreBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathAddCmd;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenExchangeInfoDO;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenExchangeBathRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenExchangeInfoRepository;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* web-app
@ -18,8 +37,12 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Component
@AllArgsConstructor
@Slf4j
public class HiddenExchangeBathAddExe {
private final HiddenExchangeBathGateway hiddenExchangeBathGateway;
private final HiddenEvaluationRecordRepository hiddenEvaluationRecordRepository;
private final HiddenExchangeInfoRepository hiddenExchangeInfoRepository;
private final HiddenExchangeBathRepository hiddenExchangeBathRepository;
@Transactional(rollbackFor = Exception.class)
public boolean execute(HiddenExchangeBathAddCmd cmd) {
@ -36,5 +59,74 @@ public class HiddenExchangeBathAddExe {
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public void exchangeScore(ExchangeScoreBathAddCmd cmd) {
cmd.getUserIdList().forEach(userId -> {
try{
/**
* hidden_evaluation_recordid
* hidden_exchange_bath hidden_exchange_info
* hidden_evaluation_record
*/
// 1. 查找该用户已考评完成但未兑换的隐患记录
/* List<HiddenEvaluationRecordE> recordsToExchange = findRecordsToExchange(userId);
if (CollUtil.isEmpty(recordsToExchange)) {
log.warn("用户 id:{} 没有可兑换的隐患记录", userId);
return;
}*/
// 创建批次实体
HiddenExchangeBathE batchHiddenExchangeBathE = new HiddenExchangeBathE();
batchHiddenExchangeBathE.setHiddenExchangeBathId(Tools.get32UUID());
batchHiddenExchangeBathE.setExchangeTime(LocalDateTime.now());
batchHiddenExchangeBathE.setExchangeUserId(userId);
batchHiddenExchangeBathE.setOperateUserId(AuthContext.getUserId());
List<HiddenEvaluationRecordDO> recordsToExchangeDOList = hiddenEvaluationRecordRepository.findRecordsToExchange(userId);
if (CollUtil.isEmpty(recordsToExchangeDOList)) {
log.warn("用户 id:{} 没有可兑换的隐患记录", userId);
return;
}
// 设置批次信息
batchHiddenExchangeBathE.setExchageNum(Long.valueOf(recordsToExchangeDOList.size()));
batchHiddenExchangeBathE.setExchangeRemaining(0L);
// 保存批次主表
boolean addBatchSuccess = hiddenExchangeBathGateway.add(batchHiddenExchangeBathE);
if (!addBatchSuccess) {
throw new BizException("创建兑换批次失败");
}
// 2. 为每个隐患记录创建兑换详情
List<HiddenExchangeInfoDO> exchangeInfoDOList = new ArrayList<>();
for (HiddenEvaluationRecordDO record : recordsToExchangeDOList) {
// 创建兑换详情实体
HiddenExchangeInfoDO exchangeInfoDO = new HiddenExchangeInfoDO();
exchangeInfoDO.setHiddenExchangeInfoId(Tools.get32UUID());
exchangeInfoDO.setHiddenId(record.getHiddenId());
exchangeInfoDO.setHiddenExchangeBathId(batchHiddenExchangeBathE.getHiddenExchangeBathId());
exchangeInfoDOList.add(exchangeInfoDO);
// 3. 更新隐患记录的兑换状态
record.setExchangeFlag(CommonFlagEnum.YES.getCode()); // 1-是
record.setExchangePersonId(userId);
record.setExchangeTime(LocalDateTime.now());
}
hiddenExchangeInfoRepository.saveBatch(exchangeInfoDOList);
//批量更新状态
hiddenEvaluationRecordRepository.updateBatchById(recordsToExchangeDOList);
}catch (Exception e){
log.error("用户 id:{},执行兑换失败", userId, e);
throw new RuntimeException("用户 id:" + userId + ",执行兑换失败", e); // 抛出异常,触发事务回滚
}
});
}
}

View File

@ -1,40 +0,0 @@
package com.zcloud.hidden.evaluation.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenUserScoreGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenUserScoreE;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreAddCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Component
@AllArgsConstructor
public class HiddenUserScoreAddExe {
private final HiddenUserScoreGateway hiddenUserScoreGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(HiddenUserScoreAddCmd cmd) {
HiddenUserScoreE hiddenUserScoreE = new HiddenUserScoreE();
BeanUtils.copyProperties(cmd, hiddenUserScoreE);
boolean res = false;
try {
res = hiddenUserScoreGateway.add(hiddenUserScoreE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -1,39 +0,0 @@
package com.zcloud.hidden.evaluation.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenUserScoreGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
@Component
@AllArgsConstructor
public class HiddenUserScoreRemoveExe {
private final HiddenUserScoreGateway hiddenUserScoreGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = hiddenUserScoreGateway.deletedHiddenUserScoreById(id);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = hiddenUserScoreGateway.deletedHiddenUserScoreByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -1,34 +0,0 @@
package com.zcloud.hidden.evaluation.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenUserScoreGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenUserScoreE;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
@Component
@AllArgsConstructor
public class HiddenUserScoreUpdateExe {
private final HiddenUserScoreGateway hiddenUserScoreGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(HiddenUserScoreUpdateCmd hiddenUserScoreUpdateCmd) {
HiddenUserScoreE hiddenUserScoreE = new HiddenUserScoreE();
BeanUtils.copyProperties(hiddenUserScoreUpdateCmd, hiddenUserScoreE);
boolean res = hiddenUserScoreGateway.update(hiddenUserScoreE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -1,8 +1,10 @@
package com.zcloud.hidden.evaluation.command.convertor;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationDetailCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@ -20,5 +22,12 @@ public interface HiddenEvaluationDetailCoConvertor {
* @return
*/
List<HiddenEvaluationDetailCO> converDOsToCOs(List<HiddenEvaluationDetailDO> hiddenEvaluationDetailDOs);
@Mapping(target = "evaluationUserId", source = "userId")
@Mapping(target = "evaluationUserName", source = "userName")
@Mapping(target = "evaluationDeptId", source = "departmentId")
@Mapping(target = "evaluationDeptName", source = "departmentName")
HiddenEvaluationDetailCO convertConfigToNotEvaluatedCO(EvaluationConfigDO config);
List<HiddenEvaluationDetailCO> convertConfigsToNotEvaluatedCOs(List<EvaluationConfigDO> listByCorpId);
}

View File

@ -1,7 +1,8 @@
package com.zcloud.hidden.evaluation.command.convertor;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationRecordCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.gbscommon.excelEntity.UserEvalStatisticsExcelExportEntity;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import org.mapstruct.Mapper;
import java.util.List;
@ -20,5 +21,19 @@ public interface HiddenEvaluationRecordCoConvertor {
* @return
*/
List<HiddenEvaluationRecordCO> converDOsToCOs(List<HiddenEvaluationRecordDO> hiddenEvaluationRecordDOs);
List<CorpHiddenStatisticsCO> converStatisticDOsToCOs(List<CorpHiddenStatisticsDO> data);
List<HiddenStatisticsCO> converHiddenStatisticDOsToCOs(List<HiddenStatisticsDO> data);
List<CorpEvalStatisticsCO> converCorpStatisticDOsToCOs(List<CorpEvalStatisticsDO> data);
List<UserEvalStatisticsCO> converUserStatisticDOsToCOs(List<UserEvalStatisticsDO> data);
List<HiddenEvalCO> converHiddenEvalDOsToCOs(List<HiddenEvalDO> data);
List<UserEvalStatisticsExcelExportEntity> converUserEvalStatisticDOsToEntitys(List<UserEvalStatisticsCO> data);
List<CorpEvalCO> converCorpEvalDOsToCOs(List<CorpEvalDO> data);
}

View File

@ -1,24 +0,0 @@
package com.zcloud.hidden.evaluation.command.convertor;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenUserScoreCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Mapper(componentModel = "spring")
public interface HiddenUserScoreCoConvertor {
/**
* @param hiddenUserScoreDOs
* @return
*/
List<HiddenUserScoreCO> converDOsToCOs(List<HiddenUserScoreDO> hiddenUserScoreDOs);
}

View File

@ -1,17 +1,27 @@
package com.zcloud.hidden.evaluation.command.query;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.hidden.evaluation.command.convertor.HiddenEvaluationDetailCoConvertor;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailCompleteQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailQry;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationDetailCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationDetailDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationDetailRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -25,6 +35,8 @@ import java.util.Map;
public class HiddenEvaluationDetailQueryExe {
private final HiddenEvaluationDetailRepository hiddenEvaluationDetailRepository;
private final HiddenEvaluationDetailCoConvertor hiddenEvaluationDetailCoConvertor;
private final EvaluationConfigRepository evaluationConfigRepository;
private final HiddenEvaluationRecordRepository hiddenEvaluationRecordRepository;
/**
*
@ -38,5 +50,62 @@ public class HiddenEvaluationDetailQueryExe {
List<HiddenEvaluationDetailCO> examCenterCOS = hiddenEvaluationDetailCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<HiddenEvaluationDetailCO> listAll(HiddenEvaluationDetailQry qry) {
//查找企业的评估记录
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
List<EvaluationConfigDO> listByCorpId = evaluationConfigRepository.listAll(params);
if(CollUtil.isEmpty(listByCorpId)){
return null;
}
HiddenEvaluationRecordDO infoByHiddenId = hiddenEvaluationRecordRepository.getInfoByHiddenId( qry.getHiddenId());
if(infoByHiddenId == null){
// 无考评记录,返回未考评的列表
return hiddenEvaluationDetailCoConvertor.convertConfigsToNotEvaluatedCOs(listByCorpId);
}
List<HiddenEvaluationDetailDO> allListByHidden = hiddenEvaluationDetailRepository.getAllListByHidden(infoByHiddenId.getHiddenEvaluationRecordId());
if(CollUtil.isEmpty(allListByHidden)){
// 无考评详情,返回未考评的列表
return hiddenEvaluationDetailCoConvertor.convertConfigsToNotEvaluatedCOs(listByCorpId);
}
// 提取已考评的用户 ID 集合
Set<Long> evaluatedUserIds = allListByHidden.stream()
.map(HiddenEvaluationDetailDO::getEvaluationUserId)
.collect(Collectors.toSet());
// 已考评的数据直接转换
List<HiddenEvaluationDetailCO> evaluatedCOs = hiddenEvaluationDetailCoConvertor.converDOsToCOs(allListByHidden);
// 找出未考评的配置(在 listByCorpId 中但不在 evaluatedUserIds 中的用户)
List<HiddenEvaluationDetailCO> notEvaluatedCOs = listByCorpId.stream()
.filter(config -> !evaluatedUserIds.contains(config.getUserId()))
.map(hiddenEvaluationDetailCoConvertor::convertConfigToNotEvaluatedCO)
.collect(Collectors.toList());
// 合并已考评和未考评的列表
List<HiddenEvaluationDetailCO> mergedList = new ArrayList<>(evaluatedCOs.size() + notEvaluatedCOs.size());
mergedList.addAll(evaluatedCOs);
mergedList.addAll(notEvaluatedCOs);
return mergedList;
}
public List<HiddenEvaluationDetailCO> listAllComplete(HiddenEvaluationDetailCompleteQry qry) {
HiddenEvaluationRecordDO infoByHiddenId = hiddenEvaluationRecordRepository.getInfoByHiddenId(qry.getHiddenId());
if(infoByHiddenId == null){
return null;
}
List<HiddenEvaluationDetailDO> allListByHidden = hiddenEvaluationDetailRepository.getAllListByHidden(infoByHiddenId.getHiddenEvaluationRecordId());
if(CollUtil.isEmpty(allListByHidden)){
// 无考评详情,返回未考评的列表
return null;
}
List<HiddenEvaluationDetailCO> evaluatedCOs = hiddenEvaluationDetailCoConvertor.converDOsToCOs(allListByHidden);
return evaluatedCOs;
}
}

View File

@ -1,15 +1,24 @@
package com.zcloud.hidden.evaluation.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.gbscommon.excelEntity.UserEvalStatisticsExcelExportEntity;
import com.zcloud.gbscommon.excelEntity.UserExcelExportEntity;
import com.zcloud.gbscommon.utils.ExcelUtils;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.hidden.evaluation.command.convertor.HiddenEvaluationRecordCoConvertor;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordPageQry;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationRecordCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -38,5 +47,94 @@ public class HiddenEvaluationRecordQueryExe {
List<HiddenEvaluationRecordCO> examCenterCOS = hiddenEvaluationRecordCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<CorpHiddenStatisticsCO> corpHidddenPage(CorpHiddenEvaluationPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<CorpHiddenStatisticsDO> pageResponse = hiddenEvaluationRecordRepository.corpHidddenPage(params);
List<CorpHiddenStatisticsCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converStatisticDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<HiddenStatisticsCO> hidddenPage(HiddenEvaluationPageQry qry) {
if(qry.getCorpinfoId()==null){
qry.setCorpinfoId(AuthContext.getTenantId());
}
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
params.put("currentUserId", AuthContext.getUserId());
PageResponse<HiddenStatisticsDO> pageResponse = hiddenEvaluationRecordRepository.hidddenPage(params);
List<HiddenStatisticsCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converHiddenStatisticDOsToCOs(pageResponse.getData());
examCenterCOS.forEach(co ->{
if (co.getCheckUserId() != null && co.getCheckUserId().contains(AuthContext.getUserId().toString())) {
co.setCurrentEvaluationFlag(true);
}
});
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<CorpEvalStatisticsCO> corpEvalStatisticsPage(CorpEvalStatisticsPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<CorpEvalStatisticsDO> pageResponse = hiddenEvaluationRecordRepository.corpEvalStatisticsPage(params);
List<CorpEvalStatisticsCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converCorpStatisticDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<UserEvalStatisticsCO> userEvalStatisticsPage(UserEvalStatisticsPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<UserEvalStatisticsDO> pageResponse = hiddenEvaluationRecordRepository.userEvalStatisticsPage(params);
List<UserEvalStatisticsCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converUserStatisticDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<HiddenEvalCO> hidddenEvalPage(HiddenEvalPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<HiddenEvalDO> pageResponse = hiddenEvaluationRecordRepository.hidddenEvalPage(params);
List<HiddenEvalCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converHiddenEvalDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public void exportUserEvalStatisticsPage(Long[] ids, Long corpinfoId, HttpServletResponse httpServletResponse) {
UserEvalStatisticsPageQry qry = new UserEvalStatisticsPageQry();
if(corpinfoId==null){
throw new RuntimeException("请选择企业");
}
if(ids!=null){
qry.setUserIdList(Arrays.asList(ids));
}
qry.setCorpinfoId(corpinfoId);
qry.setPageSize(99999);
PageResponse<UserEvalStatisticsCO> userEvalStatisticsCOPageResponse = userEvalStatisticsPage(qry);
List<UserEvalStatisticsExcelExportEntity> userEvalStatisticsExcelExportEntities =hiddenEvaluationRecordCoConvertor.converUserEvalStatisticDOsToEntitys(userEvalStatisticsCOPageResponse.getData());
try {
int[] seq = {1};
userEvalStatisticsExcelExportEntities.forEach(entity -> entity.setSeq(seq[0]++));
String fileName =LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
ExcelUtils.exportExcel(httpServletResponse, UserEvalStatisticsExcelExportEntity.class, fileName, userEvalStatisticsExcelExportEntities);
} catch (Exception e) {
throw new BizException("导出失败");
}
}
public PageResponse<CorpEvalCO> corpEvalPage(CorpEvalPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<CorpEvalDO> pageResponse = hiddenEvaluationRecordRepository.corpEvalPage(params);
List<CorpEvalCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converCorpEvalDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -1,42 +0,0 @@
package com.zcloud.hidden.evaluation.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.hidden.evaluation.command.convertor.HiddenUserScoreCoConvertor;
import com.zcloud.hidden.evaluation.dto.HiddenUserScorePageQry;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenUserScoreCO;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenUserScoreRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Component
@AllArgsConstructor
public class HiddenUserScoreQueryExe {
private final HiddenUserScoreRepository hiddenUserScoreRepository;
private final HiddenUserScoreCoConvertor hiddenUserScoreCoConvertor;
/**
*
*
* @param hiddenUserScorePageQry
* @return
*/
public PageResponse<HiddenUserScoreCO> execute(HiddenUserScorePageQry hiddenUserScorePageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(hiddenUserScorePageQry);
PageResponse<HiddenUserScoreDO> pageResponse = hiddenUserScoreRepository.listPage(params);
List<HiddenUserScoreCO> examCenterCOS = hiddenUserScoreCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -7,13 +7,13 @@ import com.zcloud.hidden.evaluation.command.HiddenEvaluationDetailAddExe;
import com.zcloud.hidden.evaluation.command.HiddenEvaluationDetailRemoveExe;
import com.zcloud.hidden.evaluation.command.HiddenEvaluationDetailUpdateExe;
import com.zcloud.hidden.evaluation.command.query.HiddenEvaluationDetailQueryExe;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailUpdateCmd;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationDetailCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* web-app
*
@ -55,5 +55,15 @@ public class HiddenEvaluationDetailServiceImpl implements HiddenEvaluationDetail
public void removeBatch(Long[] ids) {
hiddenEvaluationDetailRemoveExe.execute(ids);
}
@Override
public List<HiddenEvaluationDetailCO> listAll(HiddenEvaluationDetailQry qry) {
return hiddenEvaluationDetailQueryExe.listAll(qry);
}
@Override
public List<HiddenEvaluationDetailCO> listAllComplete(HiddenEvaluationDetailCompleteQry qry) {
return hiddenEvaluationDetailQueryExe.listAllComplete(qry);
}
}

View File

@ -7,13 +7,13 @@ import com.zcloud.hidden.evaluation.command.HiddenEvaluationRecordAddExe;
import com.zcloud.hidden.evaluation.command.HiddenEvaluationRecordRemoveExe;
import com.zcloud.hidden.evaluation.command.HiddenEvaluationRecordUpdateExe;
import com.zcloud.hidden.evaluation.command.query.HiddenEvaluationRecordQueryExe;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationRecordCO;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
/**
* web-app
*
@ -55,5 +55,41 @@ public class HiddenEvaluationRecordServiceImpl implements HiddenEvaluationRecord
public void removeBatch(Long[] ids) {
hiddenEvaluationRecordRemoveExe.execute(ids);
}
@Override
public PageResponse<CorpHiddenStatisticsCO> corpHidddenPage(CorpHiddenEvaluationPageQry qry) {
return hiddenEvaluationRecordQueryExe.corpHidddenPage(qry);
}
@Override
public PageResponse<HiddenStatisticsCO> hidddenPage(HiddenEvaluationPageQry qry) {
return hiddenEvaluationRecordQueryExe.hidddenPage(qry);
}
@Override
public PageResponse<CorpEvalStatisticsCO> corpEvalStatisticsPage(CorpEvalStatisticsPageQry qry) {
return hiddenEvaluationRecordQueryExe.corpEvalStatisticsPage(qry);
}
@Override
public PageResponse<UserEvalStatisticsCO> userEvalStatisticsPage(UserEvalStatisticsPageQry qry) {
return hiddenEvaluationRecordQueryExe.userEvalStatisticsPage(qry);
}
@Override
public PageResponse<HiddenEvalCO> hidddenEvalPage(HiddenEvalPageQry qry) {
return hiddenEvaluationRecordQueryExe.hidddenEvalPage(qry);
}
@Override
public void exportUserEvalStatisticsPage(Long[] ids,Long corpinfoId, HttpServletResponse httpServletResponse) {
hiddenEvaluationRecordQueryExe.exportUserEvalStatisticsPage(ids, corpinfoId,httpServletResponse);
}
@Override
public PageResponse<CorpEvalCO> corpEvalPage(CorpEvalPageQry qry) {
return hiddenEvaluationRecordQueryExe.corpEvalPage(qry);
}
}

View File

@ -7,6 +7,7 @@ import com.zcloud.hidden.evaluation.command.HiddenExchangeBathAddExe;
import com.zcloud.hidden.evaluation.command.HiddenExchangeBathRemoveExe;
import com.zcloud.hidden.evaluation.command.HiddenExchangeBathUpdateExe;
import com.zcloud.hidden.evaluation.command.query.HiddenExchangeBathQueryExe;
import com.zcloud.hidden.evaluation.dto.ExchangeScoreBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathUpdateCmd;
@ -55,5 +56,11 @@ public class HiddenExchangeBathServiceImpl implements HiddenExchangeBathServiceI
public void removeBatch(Long[] ids) {
hiddenExchangeBathRemoveExe.execute(ids);
}
@Override
public SingleResponse<HiddenExchangeBathCO> exchangeScore(ExchangeScoreBathAddCmd cmd) {
hiddenExchangeBathAddExe.exchangeScore(cmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -1,59 +0,0 @@
package com.zcloud.hidden.evaluation.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.hidden.evaluation.api.HiddenUserScoreServiceI;
import com.zcloud.hidden.evaluation.command.HiddenUserScoreAddExe;
import com.zcloud.hidden.evaluation.command.HiddenUserScoreRemoveExe;
import com.zcloud.hidden.evaluation.command.HiddenUserScoreUpdateExe;
import com.zcloud.hidden.evaluation.command.query.HiddenUserScoreQueryExe;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenUserScorePageQry;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenUserScoreCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
@Service
@AllArgsConstructor
public class HiddenUserScoreServiceImpl implements HiddenUserScoreServiceI {
private final HiddenUserScoreAddExe hiddenUserScoreAddExe;
private final HiddenUserScoreUpdateExe hiddenUserScoreUpdateExe;
private final HiddenUserScoreRemoveExe hiddenUserScoreRemoveExe;
private final HiddenUserScoreQueryExe hiddenUserScoreQueryExe;
@Override
public PageResponse<HiddenUserScoreCO> listPage(HiddenUserScorePageQry qry) {
return hiddenUserScoreQueryExe.execute(qry);
}
@Override
public SingleResponse add(HiddenUserScoreAddCmd cmd) {
hiddenUserScoreAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(HiddenUserScoreUpdateCmd hiddenUserScoreUpdateCmd) {
hiddenUserScoreUpdateExe.execute(hiddenUserScoreUpdateCmd);
}
@Override
public void remove(Long id) {
hiddenUserScoreRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
hiddenUserScoreRemoveExe.execute(ids);
}
}

View File

@ -2,11 +2,12 @@ package com.zcloud.hidden.evaluation.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationDetailUpdateCmd;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationDetailCO;
import java.util.Collection;
import java.util.List;
/**
* web-client
*
@ -23,5 +24,9 @@ public interface HiddenEvaluationDetailServiceI {
void remove(Long id);
void removeBatch(Long[] ids);
List<HiddenEvaluationDetailCO> listAll(HiddenEvaluationDetailQry qry);
List<HiddenEvaluationDetailCO> listAllComplete(HiddenEvaluationDetailCompleteQry qry);
}

View File

@ -2,10 +2,10 @@ package com.zcloud.hidden.evaluation.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenEvaluationRecordUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenEvaluationRecordCO;
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import javax.servlet.http.HttpServletResponse;
/**
* web-client
@ -23,5 +23,19 @@ public interface HiddenEvaluationRecordServiceI {
void remove(Long id);
void removeBatch(Long[] ids);
PageResponse<CorpHiddenStatisticsCO> corpHidddenPage(CorpHiddenEvaluationPageQry qry);
PageResponse<HiddenStatisticsCO> hidddenPage(HiddenEvaluationPageQry qry);
PageResponse<CorpEvalStatisticsCO> corpEvalStatisticsPage(CorpEvalStatisticsPageQry qry);
PageResponse<UserEvalStatisticsCO> userEvalStatisticsPage(UserEvalStatisticsPageQry qry);
PageResponse<HiddenEvalCO> hidddenEvalPage(HiddenEvalPageQry qry);
void exportUserEvalStatisticsPage(Long[] ids, Long corpinfoId,HttpServletResponse httpServletResponse);
PageResponse<CorpEvalCO> corpEvalPage(CorpEvalPageQry qry);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.hidden.evaluation.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.hidden.evaluation.dto.ExchangeScoreBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathPageQry;
import com.zcloud.hidden.evaluation.dto.HiddenExchangeBathUpdateCmd;
@ -23,5 +24,7 @@ public interface HiddenExchangeBathServiceI {
void remove(Long id);
void removeBatch(Long[] ids);
SingleResponse<HiddenExchangeBathCO> exchangeScore(ExchangeScoreBathAddCmd cmd);
}

View File

@ -1,27 +0,0 @@
package com.zcloud.hidden.evaluation.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreAddCmd;
import com.zcloud.hidden.evaluation.dto.HiddenUserScorePageQry;
import com.zcloud.hidden.evaluation.dto.HiddenUserScoreUpdateCmd;
import com.zcloud.hidden.evaluation.dto.clientobject.HiddenUserScoreCO;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
public interface HiddenUserScoreServiceI {
PageResponse<HiddenUserScoreCO> listPage(HiddenUserScorePageQry qry);
SingleResponse<HiddenUserScoreCO> add(HiddenUserScoreAddCmd cmd);
void edit(HiddenUserScoreUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

View File

@ -1,6 +1,7 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -8,10 +9,10 @@ import lombok.Data;
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenUserScorePageQry extends PageQuery {
public class CorpEvalPageQry extends PageQuery {
/**
* ,
@ -23,6 +24,13 @@ public class HiddenUserScorePageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private String likeHiddenUserScoreId;
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
}

View File

@ -0,0 +1,26 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpEvalStatisticsPageQry extends PageQuery {
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "考评人姓名")
private String evaluationUserName;
}

View File

@ -0,0 +1,35 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpHiddenEvaluationPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private Integer evaluationType;
@ApiModelProperty(value = "考评组成员名称")
private String userName;
}

View File

@ -27,11 +27,10 @@ public class EvaluationConfigPageQry extends PageQuery {
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "企业id",required = true)
@NotNull
private Long corpinfoId;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private Integer evaluationType;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "考评类型,1:安全类已分配2安全类未分配.3环保类已分配.4环保类未分配.5安全类和环保类已分配.6安全类和环保类未分配")
private Integer status;
}

View File

@ -0,0 +1,32 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:59
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ExchangeScoreBathAddCmd implements Serializable {
@ApiModelProperty(value = "用户ID列表")
@NotNull
private List<Long> userIdList;
}

View File

@ -0,0 +1,54 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenEvalPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private String source;
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "隐患发现人id")
@NotNull(message = "选择人员")
private Long findUserId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患类型")
private String hiddenType;
@ApiModelProperty(value = "兑换开始时间")
private String exchangeStartTime;
@ApiModelProperty(value = "兑换结束时间")
private String exchangeEndTime;
@ApiModelProperty(value = "兑换标识 0-未兑换 1-已兑换")
private Integer exchangeFlag;
}

View File

@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* web-client
@ -16,13 +17,23 @@ import javax.validation.constraints.NotNull;
* @Author zhaokai
* @Date 2026-03-25 10:36:32
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HiddenEvaluationDetailAddCmd extends Command {
@ApiModelProperty(value = "关联评审记录主表业务ID", name = "hiddenEvaluationRecordId", required = true)
@NotEmpty(message = "关联评审记录主表业务ID不能为空")
public class HiddenEvaluationDetailAddCmd implements Serializable {
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "隐患id", name = "hiddenId", required = true)
@NotEmpty(message = "隐患id不能为空")
private String hiddenId;
//考评类型,1:安全类,2:环保类
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类", name = "evaluationType", required = true)
@NotNull(message = "考评类型不能为空")
private Integer evaluationType;
@ApiModelProperty(value = "关联评审记录主表业务ID", name = "hiddenEvaluationRecordId")
private String hiddenEvaluationRecordId;
@ApiModelProperty(value = "考评部门ID", name = "evaluationDeptId", required = true)
@ -42,11 +53,10 @@ public class HiddenEvaluationDetailAddCmd extends Command {
private String evaluationUserName;
@ApiModelProperty(value = "是否符合要求:0-不符合,1-符合", name = "isCompliant", required = true)
@NotNull(message = "是否符合要求:0-不符合,1-符合不能为空")
@NotNull(message = "是否符合要求不能为空")
private Integer isCompliant;
@ApiModelProperty(value = "不符合原因", name = "nonCompliantReason", required = true)
@NotEmpty(message = "不符合原因不能为空")
@ApiModelProperty(value = "不符合原因", name = "nonCompliantReason")
private String nonCompliantReason;
}

View File

@ -0,0 +1,35 @@
package com.zcloud.hidden.evaluation.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:33
*/
@Data
public class HiddenEvaluationDetailCompleteQry implements Serializable {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty("隐患id")
@NotEmpty(message = "隐患id不能为空")
private String hiddenId;
}

View File

@ -0,0 +1,41 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:33
*/
@Data
public class HiddenEvaluationDetailQry implements Serializable {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty("隐患id")
@NotEmpty(message = "隐患id不能为空")
private String hiddenId;
@ApiModelProperty("企业id")
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
@NotNull(message = "考评类型不能为空")
private Integer evaluationType;
}

View File

@ -0,0 +1,55 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenEvaluationPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private String evaluationType;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private String source;
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现开始时间")
private String findStartTime;
@ApiModelProperty(value = "隐患发现结束时间")
private String findEndTime;
@ApiModelProperty(value = "隐患类型")
private String hiddenType;
@ApiModelProperty(value = "考评结果.1:考核未完成,2:考评合格,3:考核不合格")
private Integer evaluationResult;
@ApiModelProperty(value = "本人是否考核,0是1否")
private Integer selfEvaluationFlag;
@ApiModelProperty(value = "考评完成开始时间")
private String completeStartTime;
@ApiModelProperty(value = "考评完成结束时间")
private String completeEndTime;
}

View File

@ -42,16 +42,13 @@ public class HiddenEvaluationRecordAddCmd extends Command {
@NotEmpty(message = "考评完成时间不能为空")
private LocalDateTime evaluationTime;
@ApiModelProperty(value = "是否兑换:0-否,1-是", name = "exchangeFlag", required = true)
@NotNull(message = "是否兑换:0-否,1-是不能为空")
@ApiModelProperty(value = "是否兑换:0-否,1-是", name = "exchangeFlag")
private Integer exchangeFlag;
@ApiModelProperty(value = "兑换人ID", name = "exchangePersonId", required = true)
@NotNull(message = "兑换人ID不能为空")
@ApiModelProperty(value = "兑换人ID", name = "exchangePersonId")
private Long exchangePersonId;
@ApiModelProperty(value = "兑换时间", name = "exchangeTime", required = true)
@NotEmpty(message = "兑换时间不能为空")
@ApiModelProperty(value = "兑换时间", name = "exchangeTime")
private LocalDateTime exchangeTime;
}

View File

@ -22,9 +22,6 @@ import java.time.LocalDateTime;
@NoArgsConstructor
@AllArgsConstructor
public class HiddenExchangeBathAddCmd extends Command {
@ApiModelProperty(value = "评审隐患id", name = "hiddenEvaluationRecordId", required = true)
@NotEmpty(message = "评审隐患id不能为空")
private String hiddenEvaluationRecordId;
@ApiModelProperty(value = "兑换人ID", name = "exchangeUserId", required = true)
@NotNull(message = "兑换人ID不能为空")

View File

@ -1,6 +1,7 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -23,6 +24,11 @@ public class HiddenExchangeBathPageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private String likeHiddenExchangeBathId;
@ApiModelProperty(value = "兑换人id")
private Long exchangeUserId ;
@ApiModelProperty(value = "兑换开始时间")
private String exchangeStartTime;
@ApiModelProperty(value = "兑换结束时间")
private String exchangeEndTime;
}

View File

@ -28,9 +28,7 @@ public class HiddenExchangeBathUpdateCmd extends Command {
@ApiModelProperty(value = "业务主键id", name = "hiddenExchangeBathId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String hiddenExchangeBathId;
@ApiModelProperty(value = "评审隐患id", name = "hiddenEvaluationRecordId", required = true)
@NotEmpty(message = "评审隐患id不能为空")
private String hiddenEvaluationRecordId;
@ApiModelProperty(value = "兑换人ID", name = "exchangeUserId", required = true)
@NotNull(message = "兑换人ID不能为空")
private Long exchangeUserId;

View File

@ -1,6 +1,7 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -23,6 +24,24 @@ public class HiddenExchangeInfoPageQry extends PageQuery {
* - `le`:
* - `ne`: SQL!=
*/
private String likeHiddenExchangeInfoId;
@ApiModelProperty(value = "兑换批次id")
private String hiddenExchangeBathId;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private String source;
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "隐患发现人id")
private Long findUserId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患类型")
private String hiddenType;
@ApiModelProperty(value = "兑换开始时间")
private String exchangeStartTime;
@ApiModelProperty(value = "兑换结束时间")
private String exchangeEndTime;
}

View File

@ -1,40 +0,0 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HiddenUserScoreAddCmd extends Command {
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "用户id", name = "userId", required = true)
@NotNull(message = "用户id不能为空")
private Long userId;
@ApiModelProperty(value = "总积分", name = "totalScore", required = true)
@NotNull(message = "总积分不能为空")
private Integer totalScore;
@ApiModelProperty(value = "已兑换积分数", name = "exchangedScore", required = true)
@NotNull(message = "已兑换积分数不能为空")
private Integer exchangedScore;
}

View File

@ -1,43 +0,0 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HiddenUserScoreUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "业务主键id", name = "hiddenUserScoreId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String hiddenUserScoreId;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "用户id", name = "userId", required = true)
@NotNull(message = "用户id不能为空")
private Long userId;
@ApiModelProperty(value = "总积分", name = "totalScore", required = true)
@NotNull(message = "总积分不能为空")
private Integer totalScore;
@ApiModelProperty(value = "已兑换积分数", name = "exchangedScore", required = true)
@NotNull(message = "已兑换积分数不能为空")
private Integer exchangedScore;
}

View File

@ -0,0 +1,32 @@
package com.zcloud.hidden.evaluation.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class UserEvalStatisticsPageQry extends PageQuery {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "姓名")
private String userName;
private List<Long> userIdList;
}

View File

@ -0,0 +1,42 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpEvalCO implements Serializable {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private String evaluationType;
@ApiModelProperty(value = "发现隐患数")
private Integer findHiddenCount;
@ApiModelProperty(value = "已验收隐患数")
private Integer checkHiddenCount;
@ApiModelProperty(value = "已评审合格数")
private Integer passHiddenCount;
@ApiModelProperty(value = "待评审数")
private Integer reviewHiddenCount;
@ApiModelProperty(value = "已兑换积分数")
private Integer exchangeScoreCount;
@ApiModelProperty(value = "待兑换积分数")
private Integer unExchangeScoreCount;
}

View File

@ -0,0 +1,38 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpEvalStatisticsCO implements Serializable {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "完成考评隐患数")
private Integer completeEvaluationHiddenNum;
@ApiModelProperty(value = "待考评隐患数")
private Integer waitEvaluationHiddenNum;
@ApiModelProperty(value = "涉及奖励人数")
private Integer involveRewardPersonNum;
@ApiModelProperty(value = "已兑换隐患数")
private Integer exchangedHiddenNum;
@ApiModelProperty(value = "总可兑换隐患数")
private Integer totalExchangeHiddenNum;
@ApiModelProperty(value = "安全类考评组成员")
private String safeEvaluationMember;
@ApiModelProperty(value = "环保类考评组成员")
private String envEvaluationMember;
}

View File

@ -0,0 +1,65 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpHiddenStatisticsCO implements Serializable {
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
/**
*
*/
@ApiModelProperty(value = "分公司名称")
private String corpinfoName;
@ApiModelProperty(value = "隐患考评组类型")
private String evaluationType;
@ApiModelProperty(value = "安全环保奖惩-监管端隐患考评数")
private String safetyRewardPunishAdminEvalCount;
@ApiModelProperty(value = "安全环保奖惩-监管端隐患总数")
private String safetyRewardPunishAdminTotalCount;
@ApiModelProperty(value = "安全环保奖惩-企业端隐患考评数")
private String safetyRewardPunishEntEvalCount;
@ApiModelProperty(value = "安全环保奖惩-企业端隐患总数")
private String safetyRewardPunishEntTotalCount;
@ApiModelProperty(value = "隐患排查-隐患考评数")
private String hazardCheckEvalCount;
@ApiModelProperty(value = "隐患排查-隐患总数")
private String hazardCheckTotalCount;
@ApiModelProperty(value = "隐患快报-隐患考评数")
private String hazardReportEvalCount;
@ApiModelProperty(value = "隐患快报-隐患总数")
private String hazardReportTotalCount;
@ApiModelProperty(value = "消防检查-隐患考评数")
private String fireCheckEvalCount;
@ApiModelProperty(value = "消防检查-隐患总数")
private String fireCheckTotalCount;
@ApiModelProperty(value = "考评组成员")
private String evaluationMembers;
}

View File

@ -0,0 +1,46 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenEvalCO implements Serializable {
@ApiModelProperty(value = "隐患雪花id")
private Long hiddenSnowFlakeId;
@ApiModelProperty(value = "隐患id")
private String hiddenId;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private Integer source;
@ApiModelProperty(value = "部门id")
private String departmentId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
private String checkUserName;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
private Integer state;
@ApiModelProperty(value = "已考评成员")
private String evaluationMembers;
@ApiModelProperty(value = "是否兑换:0-否,1-是")
private String exchangeFlag;
}

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@ -14,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2026-03-25 10:36:32
*/
@Data
public class HiddenEvaluationDetailCO extends ClientObject {
public class HiddenEvaluationDetailCO implements Serializable {
//主键
@ApiModelProperty(value = "主键")
private Long id;
@ -42,41 +43,6 @@ public class HiddenEvaluationDetailCO extends ClientObject {
//不符合原因
@ApiModelProperty(value = "不符合原因")
private String nonCompliantReason;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//机构id
@ApiModelProperty(value = "机构id")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -1,9 +1,11 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@ -14,21 +16,20 @@ import java.time.LocalDateTime;
* @Date 2026-03-25 10:36:59
*/
@Data
public class HiddenExchangeBathCO extends ClientObject {
public class HiddenExchangeBathCO implements Serializable {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String hiddenExchangeBathId;
//评审隐患id
@ApiModelProperty(value = "评审隐患id")
private String hiddenEvaluationRecordId;
//兑换人ID
@ApiModelProperty(value = "兑换人ID")
private Long exchangeUserId;
//兑换时间
@ApiModelProperty(value = "兑换时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime exchangeTime;
//兑换操作人员userid
@ApiModelProperty(value = "兑换操作人员userid")
@ -39,41 +40,9 @@ public class HiddenExchangeBathCO extends ClientObject {
//剩余兑换积分数
@ApiModelProperty(value = "剩余兑换积分数")
private Long exchangeRemaining;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//机构id
@ApiModelProperty(value = "机构id")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "操作人姓名")
private String operateUserName;
}

View File

@ -1,9 +1,11 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@ -14,7 +16,7 @@ import java.time.LocalDateTime;
* @Date 2026-03-25 10:37:17
*/
@Data
public class HiddenExchangeInfoCO extends ClientObject {
public class HiddenExchangeInfoCO implements Serializable {
//主键
@ApiModelProperty(value = "主键")
private Long id;
@ -24,44 +26,32 @@ public class HiddenExchangeInfoCO extends ClientObject {
//兑换批次id
@ApiModelProperty(value = "兑换批次id")
private String hiddenExchangeBathId;
//隐患雪花id
@ApiModelProperty(value = "隐患雪花id")
private Long hiddenSnowFlakeId;
//隐患id
@ApiModelProperty(value = "隐患id")
private String hiddenId;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//机构id
@ApiModelProperty(value = "机构id")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private Integer source;
@ApiModelProperty(value = "部门id")
private String departmentId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
private String checkUserName;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
private Integer state;
@ApiModelProperty(value = "已考评成员")
private String evaluationMembers;
@ApiModelProperty(value = "是否兑换:0-否,1-是")
private String exchangeFlag;
}

View File

@ -0,0 +1,49 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenStatisticsCO implements Serializable {
@ApiModelProperty(value = "隐患雪花id")
private Long hiddenSnowFlakeId;
@ApiModelProperty(value = "隐患id")
private String hiddenId;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private Integer source;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
private String checkUserName;
private String checkUserId;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
private Integer state;
@ApiModelProperty(value = "已考评成员")
private String evaluationMembers;
@ApiModelProperty(value = "未考评成员")
private String noEvaluationMembers;
@ApiModelProperty(value = "考评结果.1:考核未完成,2:考评合格,3:考核不合格")
private String evaluationResult;
@ApiModelProperty(value = "当前人是否考评过,true是,false否")
private Boolean currentEvaluationFlag = false;
}

View File

@ -1,73 +0,0 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Data
public class HiddenUserScoreCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String hiddenUserScoreId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//总积分
@ApiModelProperty(value = "总积分")
private Integer totalScore;
//已兑换积分数
@ApiModelProperty(value = "已兑换积分数")
private Integer exchangedScore;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//机构id
@ApiModelProperty(value = "机构id")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,40 @@
package com.zcloud.hidden.evaluation.dto.clientobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class UserEvalStatisticsCO implements Serializable {
@ApiModelProperty(value = "用户id")
private Long userId;
@ApiModelProperty(value = "单位名称")
private String corpinfoName;
@ApiModelProperty(value = "用户名")
private String userName;
@ApiModelProperty(value = "姓名")
private String name;
//部门
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "岗位")
private String postName;
@ApiModelProperty(value = "奖励总得分")
private Integer totalScore;
@ApiModelProperty(value = "已兑换分数")
private Integer exchangedScore;
@ApiModelProperty(value = "未兑换奖励数")
private Integer notExchangedScore;
}

View File

@ -0,0 +1,21 @@
package com.zcloud.hidden.evaluation.domain.enums;
import lombok.Getter;
/**\
* :0-,1-
*/
@Getter
public enum CompliantFlagEnum {
NO_COMPLIANT(0, "不符合"),
COMPLIANT(1, "符合"),
;
private final Integer code;
private final String name;
CompliantFlagEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}

View File

@ -0,0 +1,23 @@
package com.zcloud.hidden.evaluation.domain.enums;
import lombok.Getter;
/**\
* .1:,2:,3:
*/
@Getter
public enum EvaluationResultEnum {
NOT_EVALUATED(1, "考核未完成"),
COMPLIANT(2, "考评合格"),
NON_COMPLIANT(3, "考核不合格"),
;
private final Integer code;
private final String name;
EvaluationResultEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}

View File

@ -2,6 +2,9 @@ package com.zcloud.hidden.evaluation.domain.gateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-domain
*
@ -26,5 +29,7 @@ public interface HiddenEvaluationRecordGateway {
Boolean deletedHiddenEvaluationRecordById(Long id);
Boolean deletedHiddenEvaluationRecordByIds(Long[] id);
HiddenEvaluationRecordE checkRecordExist(@NotEmpty(message = "隐患id不能为空") String hiddenId, @NotNull(message = "企业不能为空") Long corpinfoId, @NotNull(message = "考评类型不能为空") Integer evaluationType, Long creatorId);
}

View File

@ -1,30 +0,0 @@
package com.zcloud.hidden.evaluation.domain.gateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenUserScoreE;
/**
* web-domain
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
public interface HiddenUserScoreGateway {
/**
*
*/
Boolean add(HiddenUserScoreE hiddenUserScoreE);
/**
*
*/
Boolean update(HiddenUserScoreE hiddenUserScoreE);
/**
*
*/
Boolean deletedHiddenUserScoreById(Long id);
Boolean deletedHiddenUserScoreByIds(Long[] id);
}

View File

@ -1,6 +1,7 @@
package com.zcloud.hidden.evaluation.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@ -21,6 +22,8 @@ public class HiddenEvaluationRecordE extends BaseE {
private Long corpinfoId;
//隐患id
private String hiddenId;
//隐患发现人id
private Long findUserId;
//考评类型,1:安全类,2:环保类
private Integer evaluationType;
//考评结果.1:考核未完成,2:考评合格,3:考核不合格

View File

@ -17,8 +17,7 @@ public class HiddenExchangeBathE extends BaseE {
private Long id;
//业务主键id
private String hiddenExchangeBathId;
//评审隐患id
private String hiddenEvaluationRecordId;
//兑换人ID
private Long exchangeUserId;
//兑换时间

View File

@ -1,53 +0,0 @@
package com.zcloud.hidden.evaluation.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-domain
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Data
public class HiddenUserScoreE extends BaseE {
//主键
private Long id;
//业务主键id
private String hiddenUserScoreId;
//企业id
private Long corpinfoId;
//用户id
private Long userId;
//总积分
private Integer totalScore;
//已兑换积分数
private Integer exchangedScore;
//乐观锁
private Integer version;
//创建人
private Long createId;
//创建人姓名
private String createName;
//创建时间
private LocalDateTime createTime;
//更新人
private Long updateId;
//修改人名称
private String updateName;
//更新时间
private LocalDateTime updateTime;
//描述
private String remarks;
//是否删除
private String deleteEnum;
//租户id
private Long tenantId;
//机构id
private Long orgId;
//环境
private String env;
}

View File

@ -1,9 +1,11 @@
package com.zcloud.hidden.evaluation.gatewayimpl;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.hidden.evaluation.domain.gateway.EvaluationConfigGateway;
import com.zcloud.hidden.evaluation.domain.model.EvaluationConfigE;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigRepository;
import jodd.util.StringUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -23,6 +25,9 @@ public class EvaluationConfigGatewayImpl implements EvaluationConfigGateway {
@Override
public Boolean add(EvaluationConfigE evaluationConfigE) {
if(StringUtil.isEmpty(evaluationConfigE.getEvaluationConfigId())){
evaluationConfigE.setEvaluationConfigId(Tools.get32UUID());
}
EvaluationConfigDO d = new EvaluationConfigDO();
BeanUtils.copyProperties(evaluationConfigE, d);
evaluationConfigRepository.save(d);

View File

@ -1,10 +1,12 @@
package com.zcloud.hidden.evaluation.gatewayimpl;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenEvaluationDetailGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationDetailE;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationDetailDO;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationDetailRepository;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -23,6 +25,9 @@ public class HiddenEvaluationDetailGatewayImpl implements HiddenEvaluationDetail
@Override
public Boolean add(HiddenEvaluationDetailE hiddenEvaluationDetailE) {
if(StringUtils.isEmpty(hiddenEvaluationDetailE.getHiddenEvaluationDetailId())){
hiddenEvaluationDetailE.setHiddenEvaluationDetailId(Tools.get32UUID());
}
HiddenEvaluationDetailDO d = new HiddenEvaluationDetailDO();
BeanUtils.copyProperties(hiddenEvaluationDetailE, d);
hiddenEvaluationDetailRepository.save(d);

View File

@ -1,9 +1,12 @@
package com.zcloud.hidden.evaluation.gatewayimpl;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.hidden.evaluation.domain.enums.EvaluationResultEnum;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenEvaluationRecordGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import jodd.util.StringUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -23,6 +26,9 @@ public class HiddenEvaluationRecordGatewayImpl implements HiddenEvaluationRecord
@Override
public Boolean add(HiddenEvaluationRecordE hiddenEvaluationRecordE) {
if(StringUtil.isEmpty(hiddenEvaluationRecordE.getHiddenEvaluationRecordId())){
hiddenEvaluationRecordE.setHiddenEvaluationRecordId(Tools.get32UUID());
}
HiddenEvaluationRecordDO d = new HiddenEvaluationRecordDO();
BeanUtils.copyProperties(hiddenEvaluationRecordE, d);
hiddenEvaluationRecordRepository.save(d);
@ -46,5 +52,24 @@ public class HiddenEvaluationRecordGatewayImpl implements HiddenEvaluationRecord
public Boolean deletedHiddenEvaluationRecordByIds(Long[] ids) {
return hiddenEvaluationRecordRepository.removeByIds(Arrays.asList(ids));
}
@Override
public HiddenEvaluationRecordE checkRecordExist(String hiddenId, Long corpinfoId, Integer evaluationType, Long creatorId) {
HiddenEvaluationRecordDO recordDO =hiddenEvaluationRecordRepository.getInfoByHiddenId(hiddenId);
HiddenEvaluationRecordE hiddenEvaluationRecordE = new HiddenEvaluationRecordE();
if(recordDO != null){
BeanUtils.copyProperties(recordDO,hiddenEvaluationRecordE);
return hiddenEvaluationRecordE ;
}
hiddenEvaluationRecordE.setHiddenId(hiddenId);
hiddenEvaluationRecordE.setCorpinfoId(corpinfoId);
hiddenEvaluationRecordE.setEvaluationType(evaluationType);
hiddenEvaluationRecordE.setEvaluationResult(EvaluationResultEnum.NOT_EVALUATED.getCode());
hiddenEvaluationRecordE.setFindUserId(creatorId);
add(hiddenEvaluationRecordE);
return hiddenEvaluationRecordE ;
}
}

View File

@ -1,50 +0,0 @@
package com.zcloud.hidden.evaluation.gatewayimpl;
import com.zcloud.hidden.evaluation.domain.gateway.HiddenUserScoreGateway;
import com.zcloud.hidden.evaluation.domain.model.HiddenUserScoreE;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenUserScoreRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Service
@AllArgsConstructor
public class HiddenUserScoreGatewayImpl implements HiddenUserScoreGateway {
private final HiddenUserScoreRepository hiddenUserScoreRepository;
@Override
public Boolean add(HiddenUserScoreE hiddenUserScoreE) {
HiddenUserScoreDO d = new HiddenUserScoreDO();
BeanUtils.copyProperties(hiddenUserScoreE, d);
hiddenUserScoreRepository.save(d);
return true;
}
@Override
public Boolean update(HiddenUserScoreE hiddenUserScoreE) {
HiddenUserScoreDO d = new HiddenUserScoreDO();
BeanUtils.copyProperties(hiddenUserScoreE, d);
hiddenUserScoreRepository.updateById(d);
return true;
}
@Override
public Boolean deletedHiddenUserScoreById(Long id) {
return hiddenUserScoreRepository.removeById(id);
}
@Override
public Boolean deletedHiddenUserScoreByIds(Long[] ids) {
return hiddenUserScoreRepository.removeByIds(Collections.singletonList(ids));
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpEvalDO implements Serializable {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private String evaluationType;
@ApiModelProperty(value = "发现隐患数")
private Integer findHiddenCount;
@ApiModelProperty(value = "已验收隐患数")
private Integer checkHiddenCount;
@ApiModelProperty(value = "已评审合格数")
private Integer passHiddenCount;
@ApiModelProperty(value = "待评审数")
private Integer reviewHiddenCount;
@ApiModelProperty(value = "已兑换积分数")
private Integer exchangeScoreCount;
@ApiModelProperty(value = "待兑换积分数")
private Integer unExchangeScoreCount;
}

View File

@ -0,0 +1,36 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpEvalStatisticsDO implements Serializable {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "完成考评隐患数")
private Integer completeEvaluationHiddenNum;
@ApiModelProperty(value = "待考评隐患数")
private Integer waitEvaluationHiddenNum;
@ApiModelProperty(value = "涉及奖励人数")
private Integer involveRewardPersonNum;
@ApiModelProperty(value = "已兑换隐患数")
private Integer exchangedHiddenNum;
@ApiModelProperty(value = "总可兑换隐患数")
private Integer totalExchangeHiddenNum;
@ApiModelProperty(value = "安全类考评组成员")
private String safeEvaluationMember;
@ApiModelProperty(value = "环保类考评组成员")
private String envEvaluationMember;
}

View File

@ -0,0 +1,62 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class CorpHiddenStatisticsDO implements Serializable {
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
/**
*
*/
@ApiModelProperty(value = "分公司名称")
private String corpinfoName;
@ApiModelProperty(value = "隐患考评组类型")
private String evaluationType;
@ApiModelProperty(value = "安全环保奖惩-监管端隐患考评数")
private String safetyRewardPunishAdminEvalCount;
@ApiModelProperty(value = "安全环保奖惩-监管端隐患总数")
private String safetyRewardPunishAdminTotalCount;
@ApiModelProperty(value = "安全环保奖惩-企业端隐患考评数")
private String safetyRewardPunishEntEvalCount;
@ApiModelProperty(value = "安全环保奖惩-企业端隐患总数")
private String safetyRewardPunishEntTotalCount;
@ApiModelProperty(value = "隐患排查-隐患考评数")
private String hazardCheckEvalCount;
@ApiModelProperty(value = "隐患排查-隐患总数")
private String hazardCheckTotalCount;
@ApiModelProperty(value = "隐患快报-隐患考评数")
private String hazardReportEvalCount;
@ApiModelProperty(value = "隐患快报-隐患总数")
private String hazardReportTotalCount;
@ApiModelProperty(value = "消防检查-隐患考评数")
private String fireCheckEvalCount;
@ApiModelProperty(value = "消防检查-隐患总数")
private String fireCheckTotalCount;
@ApiModelProperty(value = "考评组成员")
private String evaluationMembers;
}

View File

@ -0,0 +1,46 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenEvalDO implements Serializable {
@ApiModelProperty(value = "隐患雪花id")
private Long hiddenSnowFlakeId;
@ApiModelProperty(value = "隐患id")
private String hiddenId;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private Integer source;
@ApiModelProperty(value = "部门id")
private String departmentId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
private String checkUserName;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
private Integer state;
@ApiModelProperty(value = "已考评成员")
private String evaluationMembers;
@ApiModelProperty(value = "是否兑换:0-否,1-是")
private String exchangeFlag;
}

View File

@ -29,6 +29,8 @@ public class HiddenEvaluationRecordDO extends BaseDO {
//隐患id
@ApiModelProperty(value = "隐患id")
private String hiddenId;
@ApiModelProperty(value = "隐患发现人id")
private Long findUserId;
//考评类型,1:安全类,2:环保类
@ApiModelProperty(value = "考评类型,1:安全类,2:环保类")
private Integer evaluationType;

View File

@ -1,5 +1,6 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
@ -23,9 +24,7 @@ public class HiddenExchangeBathDO extends BaseDO {
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String hiddenExchangeBathId;
//评审隐患id
@ApiModelProperty(value = "评审隐患id")
private String hiddenEvaluationRecordId;
//兑换人ID
@ApiModelProperty(value = "兑换人ID")
private Long exchangeUserId;
@ -42,6 +41,9 @@ public class HiddenExchangeBathDO extends BaseDO {
@ApiModelProperty(value = "剩余兑换积分数")
private Long exchangeRemaining;
@TableField(exist = false)
private String operateUserName;
public HiddenExchangeBathDO(String hiddenExchangeBathId) {
this.hiddenExchangeBathId = hiddenExchangeBathId;
}

View File

@ -1,12 +1,16 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
* web-infrastructure
*
@ -24,10 +28,44 @@ public class HiddenExchangeInfoDO extends BaseDO {
//兑换批次id
@ApiModelProperty(value = "兑换批次id")
private String hiddenExchangeBathId;
private Long hiddenSnowFlakeId;
//隐患id
@ApiModelProperty(value = "隐患id")
private String hiddenId;
@ApiModelProperty(value = "隐患描述")
@TableField(exist = false)
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
@TableField(exist = false)
private Integer source;
@ApiModelProperty(value = "部门id")
@TableField(exist = false)
private String departmentId;
@ApiModelProperty(value = "隐患发现人")
@TableField(exist = false)
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(exist = false)
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
@TableField(exist = false)
private String checkUserName;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
@TableField(exist = false)
private Integer state;
@ApiModelProperty(value = "已考评成员")
@TableField(exist = false)
private String evaluationMembers;
@ApiModelProperty(value = "是否兑换:0-否,1-是")
@TableField(exist = false)
private String exchangeFlag;
public HiddenExchangeInfoDO(String hiddenExchangeInfoId) {
this.hiddenExchangeInfoId = hiddenExchangeInfoId;
}

View File

@ -0,0 +1,47 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class HiddenStatisticsDO implements Serializable {
private Long hiddenSnowFlakeId;
private String hiddenId;
@ApiModelProperty(value = "隐患描述")
private String hiddenDesc;
@ApiModelProperty(value = "隐患来源1-隐患快报 2-风险检查 4-安全环保检查(监管端) 5-安全环保检查(企业端)6-消防点检7-视频巡屏")
private Integer source;
@ApiModelProperty(value = "部门id")
private String departmentId;
@ApiModelProperty(value = "隐患发现人")
private String findUserName;
@ApiModelProperty(value = "隐患发现时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime hiddenFindTime;
@ApiModelProperty(value = "隐患验收人")
private String checkUserName;
private String checkUserId;
@ApiModelProperty(value = "隐患状态隐患状态 枚举类 100-待确认200-待整改201-确认打回300-待验收301-已验收302-验收打回400-归档99-用户暂存98-安全环保检查/清单排查暂存97-已过期101-忽略隐患")
private Integer state;
@ApiModelProperty(value = "已考评成员")
private String evaluationMembers;
@ApiModelProperty(value = "未考评成员")
private String noEvaluationMembers;
@ApiModelProperty(value = "考评结果.1:考核未完成,2:考评合格,3:考核不合格")
private String evaluationResult;
}

View File

@ -1,42 +0,0 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Data
@TableName("hidden_user_score")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class HiddenUserScoreDO extends BaseDO {
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String hiddenUserScoreId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//总积分
@ApiModelProperty(value = "总积分")
private Integer totalScore;
//已兑换积分数
@ApiModelProperty(value = "已兑换积分数")
private Integer exchangedScore;
public HiddenUserScoreDO(String hiddenUserScoreId) {
this.hiddenUserScoreId = hiddenUserScoreId;
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.hidden.evaluation.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-25 10:36:44
*/
@Data
public class UserEvalStatisticsDO implements Serializable {
@ApiModelProperty(value = "单位名称")
private String corpinfoName;
@ApiModelProperty(value = "用户id")
private Long userId;
@ApiModelProperty(value = "用户名")
private String userName;
@ApiModelProperty(value = "姓名")
private String name;
//部门
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "岗位")
private String postName;
@ApiModelProperty(value = "奖励总得分")
private Integer totalScore;
@ApiModelProperty(value = "已兑换分数")
private Integer exchangedScore;
@ApiModelProperty(value = "未兑换奖励数")
private Integer notExchangedScore;
}

View File

@ -21,5 +21,7 @@ public interface EvaluationConfigMapper extends BaseMapper<EvaluationConfigDO> {
IPage<CorpEvaluationConfigDO> listPage(IPage<CorpEvaluationConfigDO> iPage, Map<String, Object> params);
List<EvaluationConfigDO> listAll(Map<String, Object> params);
List<EvaluationConfigDO> getListByCorpId(Long corpinfoId);
}

View File

@ -1,9 +1,12 @@
package com.zcloud.hidden.evaluation.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* web-infrastructure
*
@ -13,5 +16,16 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HiddenEvaluationRecordMapper extends BaseMapper<HiddenEvaluationRecordDO> {
IPage<CorpHiddenStatisticsDO> corpHidddenPage(IPage<CorpHiddenStatisticsDO> iPage, Map<String, Object> params);
IPage<HiddenStatisticsDO> hidddenPage(IPage<HiddenStatisticsDO> iPage, Map<String, Object> params);
IPage<CorpEvalStatisticsDO> corpEvalStatisticsPage(IPage<CorpEvalStatisticsDO> iPage, Map<String, Object> params);
IPage<UserEvalStatisticsDO> userEvalStatisticsPage(IPage<UserEvalStatisticsDO> iPage, Map<String, Object> params);
IPage<HiddenEvalDO> hidddenEvalPage(IPage<HiddenEvalDO> iPage, Map<String, Object> params);
IPage<CorpEvalDO> corpEvalPage(IPage<CorpEvalDO> iPage, Map<String, Object> params);
}

View File

@ -1,9 +1,12 @@
package com.zcloud.hidden.evaluation.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenExchangeBathDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* web-infrastructure
*
@ -13,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HiddenExchangeBathMapper extends BaseMapper<HiddenExchangeBathDO> {
IPage<HiddenExchangeBathDO> listPage(IPage<HiddenExchangeBathDO> iPage, Map<String, Object> params);
}

View File

@ -1,9 +1,12 @@
package com.zcloud.hidden.evaluation.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenExchangeInfoDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* web-infrastructure
*
@ -13,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HiddenExchangeInfoMapper extends BaseMapper<HiddenExchangeInfoDO> {
IPage<HiddenExchangeInfoDO> listPage(IPage<HiddenExchangeInfoDO> iPage, Map<String, Object> params);
}

View File

@ -1,17 +0,0 @@
package com.zcloud.hidden.evaluation.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2026-03-25 10:37:32
*/
@Mapper
public interface HiddenUserScoreMapper extends BaseMapper<HiddenUserScoreDO> {
}

View File

@ -5,6 +5,7 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.hidden.evaluation.persistence.dataobject.CorpEvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
@ -19,5 +20,6 @@ public interface EvaluationConfigRepository extends BaseRepository<EvaluationCon
List<EvaluationConfigDO> listAll(Map<String, Object> params);
List<EvaluationConfigDO> getListByCorpId(@NotNull(message = "企业不能为空") Long corpinfoId, @NotNull(message = "考评类型不能为空") Integer evaluationType);
}

View File

@ -4,6 +4,9 @@ import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationDetailDO;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
/**
@ -14,5 +17,9 @@ import java.util.Map;
*/
public interface HiddenEvaluationDetailRepository extends BaseRepository<HiddenEvaluationDetailDO> {
PageResponse<HiddenEvaluationDetailDO> listPage(Map<String, Object> params);
List<HiddenEvaluationDetailDO> getAllListByHidden(@NotEmpty(message = "隐患id不能为空") String hiddenId);
Boolean checkComplete(String hiddenEvaluationRecordId, @NotNull(message = "考评人ID不能为空") Long evaluationUserId);
}

View File

@ -2,8 +2,10 @@ package com.zcloud.hidden.evaluation.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import java.util.List;
import java.util.Map;
/**
@ -14,5 +16,21 @@ import java.util.Map;
*/
public interface HiddenEvaluationRecordRepository extends BaseRepository<HiddenEvaluationRecordDO> {
PageResponse<HiddenEvaluationRecordDO> listPage(Map<String, Object> params);
PageResponse<CorpHiddenStatisticsDO> corpHidddenPage(Map<String, Object> params);
PageResponse<HiddenStatisticsDO> hidddenPage(Map<String, Object> params);
HiddenEvaluationRecordDO getInfoByHiddenId(String hiddenId);
PageResponse<CorpEvalStatisticsDO> corpEvalStatisticsPage(Map<String, Object> params);
PageResponse<UserEvalStatisticsDO> userEvalStatisticsPage(Map<String, Object> params);
PageResponse<HiddenEvalDO> hidddenEvalPage(Map<String, Object> params);
List<HiddenEvaluationRecordDO> findRecordsToExchange(Long userId);
PageResponse<CorpEvalDO> corpEvalPage(Map<String, Object> params);
}

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenDO;
import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;
@ -14,4 +15,5 @@ import java.util.Map;
*/
public interface HiddenRepository extends BaseRepository<HiddenDO> {
HiddenDO getByHiddenId(@NotEmpty(message = "隐患id不能为空") String hiddenId);
}

View File

@ -1,18 +0,0 @@
package com.zcloud.hidden.evaluation.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
public interface HiddenUserScoreRepository extends BaseRepository<HiddenUserScoreDO> {
PageResponse<HiddenUserScoreDO> listPage(Map<String, Object> params);
}

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.hidden.evaluation.persistence.dataobject.CorpEvaluationConfigDO;
import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationConfigDO;
@ -14,7 +13,7 @@ import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigRepos
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -41,5 +40,14 @@ public class EvaluationConfigRepositoryImpl extends BaseRepositoryImpl<Evaluatio
public List<EvaluationConfigDO> listAll(Map<String, Object> params) {
return evaluationConfigMapper.listAll(params);
}
@Override
public List<EvaluationConfigDO> getListByCorpId(Long corpinfoId, Integer evaluationType) {
QueryWrapper<EvaluationConfigDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("corpinfo_id",corpinfoId);
queryWrapper.eq("evaluation_type",evaluationType);
return list(queryWrapper);
}
}

View File

@ -13,6 +13,7 @@ import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationDetai
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@ -35,5 +36,20 @@ public class HiddenEvaluationDetailRepositoryImpl extends BaseRepositoryImpl<Hid
IPage<HiddenEvaluationDetailDO> result = hiddenEvaluationDetailMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<HiddenEvaluationDetailDO> getAllListByHidden( String hiddenEvaluationRecordId) {
QueryWrapper<HiddenEvaluationDetailDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hidden_evaluation_record_id", hiddenEvaluationRecordId);
return list(queryWrapper);
}
@Override
public Boolean checkComplete(String hiddenEvaluationRecordId, Long evaluationUserId) {
QueryWrapper<HiddenEvaluationDetailDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hidden_evaluation_record_id", hiddenEvaluationRecordId);
queryWrapper.eq("evaluation_user_id", evaluationUserId);
return count(queryWrapper) > 0;
}
}

View File

@ -7,12 +7,14 @@ import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvaluationRecordDO;
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import com.zcloud.hidden.evaluation.persistence.mapper.HiddenEvaluationRecordMapper;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@ -35,5 +37,63 @@ public class HiddenEvaluationRecordRepositoryImpl extends BaseRepositoryImpl<Hid
IPage<HiddenEvaluationRecordDO> result = hiddenEvaluationRecordMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<CorpHiddenStatisticsDO> corpHidddenPage(Map<String, Object> params) {
IPage<CorpHiddenStatisticsDO> iPage = new Query<CorpHiddenStatisticsDO>().getPage(params);
IPage<CorpHiddenStatisticsDO> result = hiddenEvaluationRecordMapper.corpHidddenPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<HiddenStatisticsDO> hidddenPage(Map<String, Object> params) {
IPage<HiddenStatisticsDO> iPage = new Query<HiddenStatisticsDO>().getPage(params);
IPage<HiddenStatisticsDO> result = hiddenEvaluationRecordMapper.hidddenPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public HiddenEvaluationRecordDO getInfoByHiddenId(String hiddenId) {
QueryWrapper<HiddenEvaluationRecordDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hidden_id",hiddenId);
return getOne(queryWrapper);
}
@Override
public PageResponse<CorpEvalStatisticsDO> corpEvalStatisticsPage(Map<String, Object> params) {
IPage<CorpEvalStatisticsDO> iPage = new Query<CorpEvalStatisticsDO>().getPage(params);
IPage<CorpEvalStatisticsDO> result = hiddenEvaluationRecordMapper.corpEvalStatisticsPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<UserEvalStatisticsDO> userEvalStatisticsPage(Map<String, Object> params) {
IPage<UserEvalStatisticsDO> iPage = new Query<UserEvalStatisticsDO>().getPage(params);
IPage<UserEvalStatisticsDO> result = hiddenEvaluationRecordMapper.userEvalStatisticsPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<HiddenEvalDO> hidddenEvalPage(Map<String, Object> params) {
IPage<HiddenEvalDO> iPage = new Query<HiddenEvalDO>().getPage(params);
IPage<HiddenEvalDO> result = hiddenEvaluationRecordMapper.hidddenEvalPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<HiddenEvaluationRecordDO> findRecordsToExchange(Long userId) {
QueryWrapper<HiddenEvaluationRecordDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("find_user_id", userId);
queryWrapper.eq("exchange_flag", 0);
queryWrapper.eq("evaluation_result", 2);
return list(queryWrapper);
}
@Override
public PageResponse<CorpEvalDO> corpEvalPage(Map<String, Object> params) {
IPage<CorpEvalDO> iPage = new Query<CorpEvalDO>().getPage(params);
IPage<CorpEvalDO> result = hiddenEvaluationRecordMapper.corpEvalPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -29,10 +29,8 @@ public class HiddenExchangeBathRepositoryImpl extends BaseRepositoryImpl<HiddenE
@Override
public PageResponse<HiddenExchangeBathDO> listPage(Map<String, Object> params) {
IPage<HiddenExchangeBathDO> iPage = new Query<HiddenExchangeBathDO>().getPage(params);
QueryWrapper<HiddenExchangeBathDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<HiddenExchangeBathDO> result = hiddenExchangeBathMapper.selectPage(iPage, queryWrapper);
IPage<HiddenExchangeBathDO> result = hiddenExchangeBathMapper.listPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -29,10 +29,8 @@ public class HiddenExchangeInfoRepositoryImpl extends BaseRepositoryImpl<HiddenE
@Override
public PageResponse<HiddenExchangeInfoDO> listPage(Map<String, Object> params) {
IPage<HiddenExchangeInfoDO> iPage = new Query<HiddenExchangeInfoDO>().getPage(params);
QueryWrapper<HiddenExchangeInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<HiddenExchangeInfoDO> result = hiddenExchangeInfoMapper.selectPage(iPage, queryWrapper);
IPage<HiddenExchangeInfoDO> result = hiddenExchangeInfoMapper.listPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.hidden.evaluation.persistence.repository.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenDO;
import com.zcloud.hidden.evaluation.persistence.mapper.HiddenMapper;
@ -20,5 +21,10 @@ import java.util.Map;
public class HiddenRepositoryImpl extends BaseRepositoryImpl<HiddenMapper, HiddenDO> implements HiddenRepository {
private final HiddenMapper hiddenMapper;
@Override
public HiddenDO getByHiddenId(String hiddenId) {
QueryWrapper<HiddenDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hidden_id", hiddenId);
return this.getOne(queryWrapper);
}
}

View File

@ -1,39 +0,0 @@
package com.zcloud.hidden.evaluation.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.hidden.evaluation.persistence.dataobject.HiddenUserScoreDO;
import com.zcloud.hidden.evaluation.persistence.mapper.HiddenUserScoreMapper;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenUserScoreRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2026-03-25 10:37:33
*/
@Service
@RequiredArgsConstructor
public class HiddenUserScoreRepositoryImpl extends BaseRepositoryImpl<HiddenUserScoreMapper, HiddenUserScoreDO> implements HiddenUserScoreRepository {
private final HiddenUserScoreMapper hiddenUserScoreMapper;
@Override
public PageResponse<HiddenUserScoreDO> listPage(Map<String, Object> params) {
IPage<HiddenUserScoreDO> iPage = new Query<HiddenUserScoreDO>().getPage(params);
QueryWrapper<HiddenUserScoreDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<HiddenUserScoreDO> result = hiddenUserScoreMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -25,7 +25,7 @@
LEFT JOIN department nd ON ecl.new_department_id = nd.id
LEFT JOIN user nu ON ecl.new_user_id = nu.id
<where>
ecl.delete_enum = 'N'
ecl.delete_enum = 'FALSE'
<if test="params.corpinfoId != null">
AND ecl.corpinfo_id = #{params.corpinfoId}
</if>

View File

@ -29,30 +29,33 @@
WHERE ec.delete_enum = 'FALSE' and ci.delete_enum = 'FALSE'
AND ci.type IN (0, 1, 6)
AND ci.use_flag = 1
<if test="params.corpinfoName != null and params.corpinfoName!='' ">
AND ci.corp_name LIKE CONCAT('%', #{params.corpinfoName}, '%')
</if>
<choose>
<when test="status == 1 ">
<when test="params.status == 1 ">
AND ec_safe.id IS NOT NULL
</when>
<when test="status == 2 ">
<when test="params.status == 2 ">
AND ec_safe.id IS NULL
</when>
<when test="status == 3 ">
<when test="params.status == 3 ">
AND ec_env.id IS NOT NULL
</when>
<when test="status == 4 ">
<when test="params.status == 4 ">
AND ec_env.id IS NULL
</when>
<when test="status == 5 ">
<when test="params.status == 5 ">
AND ec_safe.id IS NOT NULL AND ec_env.id IS NOT NULL
</when>
<when test="status == 6 ">
<when test="params.status == 6 ">
AND ec_safe.id IS NULL AND ec_env.id IS NULL
</when>
<otherwise>
<!-- 不做额外过滤 -->
</otherwise>
</choose>
order by ci.corp_order ,create_time desc
order by ec.create_time desc
</select>
@ -63,9 +66,7 @@
JOIN department d ON ec.department_id = d.id
JOIN user u ON ec.user_id = u.id
WHERE ec.delete_enum = 'FALSE'
<if test="corpinfoId != null">
AND ec.corpinfo_id = #{corpinfoId}
</if>
<if test="evaluationType != null">
AND ec.evaluation_type = #{evaluationType}
</if>

View File

@ -3,5 +3,467 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.hidden.evaluation.persistence.mapper.HiddenEvaluationRecordMapper">
<select id="corpHidddenPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.CorpHiddenStatisticsDO" >
SELECT ec.corpinfo_id as corpinfoId,
ci.corp_name AS corpinfoName,
ec.evaluation_type AS evaluationType,
COUNT(DISTINCT CASE
WHEN h.source = 4 AND her.evaluation_result != 1
THEN h.hidden_id END) as safetyRewardPunishAdminEvalCount,
COUNT(DISTINCT CASE WHEN h.source = 4 THEN h.hidden_id END) as safetyRewardPunishAdminTotalCount,
COUNT(DISTINCT CASE
WHEN h.source = 5 AND her.evaluation_result != 1
THEN h.hidden_id END) as safetyRewardPunishEntEvalCount,
COUNT(DISTINCT CASE WHEN h.source = 5 THEN h.hidden_id END) as safetyRewardPunishEntTotalCount,
COUNT(DISTINCT CASE
WHEN h.source = 2 AND her.evaluation_result != 1
THEN h.hidden_id END) as hazardCheckEvalCount,
COUNT(DISTINCT CASE WHEN h.source = 2 THEN h.hidden_id END) as hazardCheckTotalCount,
COUNT(DISTINCT CASE
WHEN h.source = 1 AND her.evaluation_result != 1
THEN h.hidden_id END) as hazardReportEvalCount,
COUNT(DISTINCT CASE WHEN h.source = 1 THEN h.hidden_id END) as hazardReportTotalCount,
COUNT(DISTINCT CASE WHEN h.source = 6 AND her.evaluation_result != 1 THEN h.hidden_id END) as fireCheckEvalCount,
COUNT(DISTINCT CASE WHEN h.source = 6 THEN h.hidden_id END) as fireCheckTotalCount,
IFNULL(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers
FROM evaluation_config ec
left join evaluation_corp ecorp ON ecorp.corpinfo_id = ec.corpinfo_id AND ecorp.delete_enum = 'FALSE'
LEFT JOIN corp_info ci ON ci.id = ec.corpinfo_id AND ci.delete_enum = 'FALSE'
LEFT JOIN department d ON d.id = ec.department_id AND d.delete_enum = 'FALSE'
LEFT JOIN user u ON u.id = ec.user_id AND u.delete_enum = 'FALSE'
LEFT JOIN hidden h ON h.corp_id = ec.corpinfo_id AND h.delete_enum = 'FALSE'
AND (
(ec.evaluation_type = 1 AND h.hidden_type IN
('aqyh', 'rdbaqys', 'wzcz', 'wzzh', 'grfhyp', 'wdbaqzt',
'jxsb', 'hcl', 'dqsb', 'gsj', 'aqbhzz', 'ss', 'xf',
'tzsb', 'hjdbaqys', 'zmjdgyxbj', 'aqbzbs', 'gkkd',
'zykjxzzl', 'eltq', 'gldqx', 'wzdhzdlsbdw', 'wfacs',
'jypx', 'aqyh-qt'))
OR
(ec.evaluation_type = 2 AND h.hidden_type IN
('wshb', 'hjwr', 'ws', 'dq', 'zs', 'gf', 'hjwsjlh',
'yqfk', 'wshb-qt'))
)
AND h.state = 301
AND (
(h.source IN (4, 5) AND h.final_check = 1)
OR
h.source NOT IN (4, 5)
)
LEFT JOIN hidden_evaluation_record her ON her.hidden_id = h.hidden_id AND her.delete_enum = 'FALSE'
WHERE ec.delete_enum = 'FALSE'
AND ci.delete_enum = 'FALSE'
AND ci.type IN (0, 1, 6)
AND ci.use_flag = 1
<if test="params.corpinfoName != null and params.corpinfoName != ''">
AND ci.corp_name LIKE CONCAT('%', #{params.corpinfoName}, '%')
</if>
<if test="params.evaluationType != null">
AND ec.evaluation_type = #{params.evaluationType}
</if>
<if test="params.userName != null and params.userName != ''">
AND u.name LIKE CONCAT('%', #{params.userName}, '%')
</if>
GROUP BY ec.corpinfo_id, ec.evaluation_type
ORDER BY ecorp.create_time desc
</select>
<select id="hidddenPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.HiddenStatisticsDO">
SELECT
h.id as hiddenSnowFlakeId,
h.hidden_id as hiddenId,
h.source,
h.hidden_desc as hiddenDesc ,
h.creator_id AS findUserId,
finduser.name AS findUserName,
h.hidden_find_time as hiddenFindTime,
h.state as state,
GROUP_CONCAT(DISTINCT hiddenUser.id) AS checkUserId,
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
-- 未考评(动态匹配安全/环保类型)
COALESCE(
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
FROM evaluation_config ec
LEFT JOIN department dep ON ec.department_id = dep.id
LEFT JOIN user usr ON ec.user_id = usr.id
WHERE ec.corpinfo_id = h.corp_id
AND ec.delete_enum = 'FALSE'
AND ec.evaluation_type = #{params.evaluationType}
-- 核心:只排除已考评的 user_id
AND usr.id NOT IN (
SELECT DISTINCT hed2.evaluation_user_id
FROM hidden_evaluation_detail hed2
LEFT JOIN hidden_evaluation_record her2 ON her2.hidden_evaluation_record_id = hed2.hidden_evaluation_record_id
WHERE her2.hidden_id = h.hidden_id
AND hed2.evaluation_user_id IS NOT NULL
)
), ''
) AS noEvaluationMembers,
MAX(her.evaluation_result) AS evaluationResult
FROM hidden h
LEFT JOIN user finduser ON h.creator_id = finduser.id
LEFT JOIN department findDept ON finduser.department_id = findDept.id
LEFT JOIN hidden_user hu ON h.hidden_id = hu.hidden_id AND hu.delete_enum = 'FALSE' AND hu.type = 300
LEFT JOIN user hiddenUser ON hu.user_id = hiddenUser.id
LEFT JOIN hidden_evaluation_record her ON h.hidden_id = her.hidden_id AND her.delete_enum = 'FALSE'
LEFT JOIN hidden_evaluation_detail hed ON her.hidden_evaluation_record_id = hed.hidden_evaluation_record_id
LEFT JOIN department d ON hed.evaluation_dept_id = d.id
LEFT JOIN user u ON hed.evaluation_user_id = u.id
WHERE h.delete_enum = 'FALSE'
AND h.corp_id = #{params.corpinfoId}
AND h.state = 301
AND (
(h.source IN (4,5) AND h.final_check = 1)
OR h.source NOT IN (4,5)
)
-- 前端传入1=安全类 2=环保类
AND (
( #{params.evaluationType} = 1 AND h.hidden_type IN ('aqyh','rdbaqys','wzcz','wzzh','grfhyp','wdbaqzt','jxsb','hcl','dqsb','gsj','aqbhzz','ss','xf','tzsb','hjdbaqys','zmjdgyxbj','aqbzbs','gkkd','zykjxzzl','eltq','gldqx','wzdhzdlsbdw','wfacs','jypx','aqyh-qt'))
OR
( #{params.evaluationType} = 2 AND h.hidden_type IN ('wshb','hjwr','ws','dq','zs','gf','hjwsjlh','yqfk','wshb-qt'))
)
<if test="params.hiddenDesc != null and params.hiddenDesc != ''">
AND h.hidden_desc LIKE CONCAT('%', #{params.hiddenDesc}, '%')
</if>
<!-- 隐患来源 -->
<if test="params.source != null and params.source != ''">
AND h.source = #{params.source}
</if>
<!-- 部门id -->
<if test="params.departmentId != null and params.departmentId != ''">
AND findDept.id = #{params.departmentId}
</if>
<!-- 隐患发现人 -->
<if test="params.findUserName != null and params.findUserName != ''">
AND finduser.name LIKE CONCAT('%', #{params.findUserName}, '%')
</if>
<!-- 隐患发现时间 -->
<if test="params.findStartTime != null and params.findStartTime != ''">
AND h.hidden_find_time >= #{params.findStartTime}
</if>
<if test="params.findEndTime != null and params.findEndTime != ''">
AND h.hidden_find_time &lt;= #{params.findEndTime}
</if>
<!-- 隐患类型 -->
<if test="params.hiddenType != null and params.hiddenType != ''">
AND h.hidden_type = #{params.hiddenType}
</if>
<!-- 考评结果 1:未完成 2:合格 3:不合格 -->
<if test="params.evaluationResult != null and params.evaluationResult != ''">
<choose>
<!-- 查询 未完成:包含 her 不存在 或 her结果=1 -->
<when test="params.evaluationResult == '1'">
AND (
her.id IS NULL
OR her.evaluation_result = 1
)
</when>
<!-- 查询 合格 -->
<when test="params.evaluationResult == '2'">
AND her.evaluation_result = 2
</when>
<!-- 查询 不合格 -->
<when test="params.evaluationResult == '3'">
AND her.evaluation_result = 3
</when>
</choose>
</if>
<!-- 本人是否考核 0=已考评 1=未考评 -->
<if test="params.selfEvaluationFlag != null">
<choose>
<!-- 0本人已考评 -->
<when test="params.selfEvaluationFlag == 0">
AND EXISTS (
SELECT 1
FROM hidden_evaluation_detail hed2
JOIN hidden_evaluation_record her2 ON hed2.hidden_evaluation_record_id = her2.hidden_evaluation_record_id
WHERE her2.hidden_id = h.id
AND hed2.evaluation_user_id = #{params.currentUserId}
AND hed2.delete_enum = 'FALSE'
)
</when>
<!-- 1本人未考评 -->
<when test="params.selfEvaluationFlag == 1">
AND NOT EXISTS (
SELECT 1
FROM hidden_evaluation_detail hed2
JOIN hidden_evaluation_record her2 ON hed2.hidden_evaluation_record_id = her2.hidden_evaluation_record_id
WHERE her2.hidden_id = h.id
AND hed2.evaluation_user_id = #{params.currentUserId}
AND hed2.delete_enum = 'FALSE'
)
</when>
</choose>
</if>
<!-- 考评完成时间 -->
<if test="params.completeStartTime != null and params.completeStartTime != ''">
AND her.evaluation_time >= #{params.completeStartTime}
</if>
<if test="params.completeEndTime != null and params.completeEndTime != ''">
AND her.evaluation_time &lt;= #{params.completeEndTime}
</if>
GROUP BY h.id
ORDER BY h.hidden_find_time DESC
</select>
<select id="corpEvalStatisticsPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.CorpEvalStatisticsDO">
SELECT
ci.id AS corpinfoId,
ci.corp_name AS corpinfoName,
-- 完成考评数:有记录 且 结果不是未完成
COUNT(DISTINCT CASE WHEN her.evaluation_result != 1 THEN h.id END) AS completeEvaluationHiddenNum,
-- 待考评数:无记录 或 结果=1
COUNT(DISTINCT CASE WHEN her.id IS NULL OR her.evaluation_result = 1 THEN h.id END) AS waitEvaluationHiddenNum,
-- 涉及奖励人数(隐患快报发现人去重)
COUNT(DISTINCT h.creator_id ) AS involveRewardPersonNum,
-- 已兑换隐患数
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangedHiddenNum,
-- 总可兑换隐患数
COUNT(DISTINCT CASE WHEN her.exchange_flag IS NOT NULL and her.evaluation_result=2 and her.exchange_flag = 0 THEN h.id END) AS totalExchangeHiddenNum,
-- 安全类考评成员
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
FROM evaluation_config ec
LEFT JOIN department dep ON ec.department_id = dep.id
LEFT JOIN user usr ON ec.user_id = usr.id
WHERE ec.corpinfo_id = ci.id
AND ec.delete_enum = 'FALSE'
AND ec.evaluation_type = 1) AS safeEvaluationMember,
-- 环保类考评成员
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
FROM evaluation_config ec
LEFT JOIN department dep ON ec.department_id = dep.id
LEFT JOIN user usr ON ec.user_id = usr.id
WHERE ec.corpinfo_id = ci.id
AND ec.delete_enum = 'FALSE'
AND ec.evaluation_type = 2) AS envEvaluationMember
FROM hidden h
LEFT JOIN corp_info ci ON h.corp_id = ci.id AND ci.delete_enum = 'FALSE'
left join evaluation_corp ecorp ON h.corp_id = ecorp.corpinfo_id AND ecorp.delete_enum = 'FALSE'
LEFT JOIN hidden_evaluation_record her ON h.hidden_id = her.hidden_id AND her.delete_enum = 'FALSE'
-- 关联考评配置,用于查询条件过滤
LEFT JOIN evaluation_config ec ON h.corp_id = ec.corpinfo_id AND ec.delete_enum = 'FALSE'
LEFT JOIN department configDept ON ec.department_id = configDept.id
LEFT JOIN user configUser ON ec.user_id = configUser.id
WHERE h.delete_enum = 'FALSE'
AND h.state = 301
AND (
(h.source IN (4, 5) AND h.final_check = 1)
OR h.source NOT IN (4, 5)
)
-- 安全/环保类型过滤
AND EXISTS (
SELECT 1 FROM evaluation_config ec2
WHERE ec2.corpinfo_id = h.corp_id
AND ec2.delete_enum = 'FALSE'
AND (
(ec2.evaluation_type = 1 AND h.hidden_type IN ('aqyh','rdbaqys','wzcz','wzzh','grfhyp','wdbaqzt','jxsb','hcl','dqsb','gsj','aqbhzz','ss','xf','tzsb','hjdbaqys','zmjdgyxbj','aqbzbs','gkkd','zykjxzzl','eltq','gldqx','wzdhzdlsbdw','wfacs','jypx','aqyh-qt'))
OR
(ec2.evaluation_type = 2 AND h.hidden_type IN ('wshb','hjwr','ws','dq','zs','gf','hjwsjlh','yqfk','wshb-qt'))
)
)
<!-- 1. 考核部门查询条件 -->
<if test="params.departmentId != null and params.departmentId != ''">
AND configDept.id = #{params.departmentId}
</if>
<!-- 2. 考核部门人员查询条件(模糊查询) -->
<if test="params.userName != null and params.userName != ''">
AND configUser.name LIKE CONCAT('%', #{params.userName}, '%')
</if>
GROUP BY ci.id, ci.corp_name
ORDER BY ecorp.create_time desc
</select>
<select id="userEvalStatisticsPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.UserEvalStatisticsDO">
SELECT
ci.corp_name as corpinfoName,
h.creator_id as userId,
u.username AS userName,
u.name AS name,
u.department_id as departmentId,
d.name AS departmentName,
p.post_name AS postName,
-- 奖励总得分:可兑换的隐患总数(二次验收通过的)
COUNT(DISTINCT CASE WHEN her.evaluation_result=2 THEN h.id END) AS totalScore,
-- 已兑换分数exchange_flag=1
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangedScore,
-- 未兑换分数exchange_flag=0
COUNT(DISTINCT CASE WHEN her.exchange_flag = 0 and her.evaluation_result=2 THEN h.id END) AS notExchangedScore
FROM hidden h
-- 发现人
LEFT JOIN user u ON h.creator_id = u.id
LEFT JOIN department d ON u.department_id = d.id
left join post p ON u.post_id = p.id
left join corp_info ci ON h.corp_id = ci.id AND ci.delete_enum = 'FALSE'
LEFT JOIN hidden_evaluation_record her ON h.hidden_id = her.hidden_id AND her.delete_enum = 'FALSE'
WHERE h.delete_enum = 'FALSE'
AND h.corp_id = #{params.corpinfoId}
AND h.state = 301 -- 已验收
-- 来源4/5必须满足final_check=1其他只需要state=301
AND (
(h.source IN (4,5) AND h.final_check = 1)
OR h.source NOT IN (4,5)
)
<if test="params.departmentId != null ">
AND d.id = #{params.departmentId}
</if>
<if test="params.userName != null and params.userName != ''">
AND u.name LIKE CONCAT('%', #{params.userName}, '%')
</if>
<if test="params.userIdList != null and params.userIdList.size() > 0">
and h.creator_id in
<foreach collection="params.userIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
GROUP BY h.creator_id
ORDER BY u.sort ,u.create_time desc
</select>
<select id="hidddenEvalPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.HiddenEvalDO">
select h.source,
h.hidden_id AS hiddenId,
h.id AS hiddenSnowFlakeId,
h.hidden_desc as hiddenDesc,
h.creator_id AS findUserId,
finduser.name AS findUserName,
h.hidden_find_time as hiddenFindTime,
h.state as state,
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
her.exchange_flag
from hidden_evaluation_record her
left join hidden h on her.hidden_id = h.hidden_id and h.delete_enum = 'FALSE'
left join hidden_evaluation_detail hd on her.hidden_evaluation_record_id = hd.hidden_evaluation_record_id
LEFT JOIN hidden_user hu ON h.hidden_id = hu.hidden_id AND hu.delete_enum = 'FALSE' AND hu.type = 300
LEFT JOIN user hiddenUser ON hu.user_id = hiddenUser.id
LEFT JOIN user finduser ON h.creator_id = finduser.id
left join department d on hd.evaluation_dept_id = d.id and d.delete_enum = 'FALSE'
left join user u on hd.evaluation_user_id = u.id and u.delete_enum = 'FALSE'
where her.delete_enum = 'FALSE' and her.find_user_id = #{params.findUserId}
AND h.state = 301 -- 已验收
-- 来源4/5必须满足final_check=1其他只需要state=301
AND (
(h.source IN (4, 5) AND h.final_check = 1)
OR h.source NOT IN (4, 5)
)
<!-- 隐患来源 -->
<if test="params.source != null and params.source != ''">
AND h.source = #{params.source}
</if>
<!-- 部门id -->
<if test="params.departmentId != null">
AND finduser.department_id = #{params.departmentId}
</if>
<!-- 隐患发现人(姓名模糊查询) -->
<if test="params.findUserName != null and params.findUserName != ''">
AND finduser.name LIKE CONCAT('%', #{params.findUserName}, '%')
</if>
<!-- 隐患类型 -->
<if test="params.hiddenType != null and params.hiddenType != ''">
AND h.hidden_type = #{params.hiddenType}
</if>
<if test="params.exchangeFlag != null and params.exchangeFlag != ''">
AND her.exchange_flag = #{params.exchangeFlag}
</if>
<!-- 兑换开始时间 -->
<if test="params.exchangeStartTime != null and params.exchangeStartTime != ''">
AND her.exchange_time >= #{params.exchangeStartTime}
</if>
<!-- 兑换结束时间 -->
<if test="params.exchangeEndTime != null and params.exchangeEndTime != ''">
AND her.exchange_time &lt;= #{params.exchangeEndTime}
</if>
GROUP BY h.creator_id
ORDER BY u.sort, u.create_time desc
</select>
<select id="corpEvalPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.CorpEvalDO">
SELECT
ci.id AS corpinfoId,
ci.corp_name AS corpinfoName,
ec.evaluation_type AS evaluationType,
-- 1. 发现隐患数
COUNT(DISTINCT h.id) AS findHiddenCount,
-- 2. 已验收隐患数【你的条件】
COUNT(DISTINCT CASE
WHEN h.state = 301
AND (
(h.source IN (4,5) AND h.final_check = 1)
OR h.source NOT IN (4,5)
) THEN h.id END) AS checkHiddenCount,
-- 3. 已评审合格数 = 评审合格2 + 已兑换exchange_flag=1
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 1 THEN h.id END) AS passHiddenCount,
-- 5. 待兑换隐患数 = 已验收 - 已评审
(
COUNT(DISTINCT CASE WHEN h.state = 301
AND (
(h.source IN (4,5) AND h.final_check = 1)
OR h.source NOT IN (4,5)
) THEN h.id END)
-
COUNT(DISTINCT CASE WHEN her.evaluation_result IN (2,3) THEN h.id END)
) AS reviewHiddenCount,
-- 6. 已兑换积分 = exchange_flag=1 的记录数量(代表已兑换次数/积分)
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangeScoreCount,
-- 7. 待兑换积分 = 合格(2) + 未兑换(0)
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 0 THEN h.id END) AS unExchangeScoreCount
FROM evaluation_config ec
LEFT JOIN corp_info ci
ON ec.corpinfo_id = ci.id AND ci.delete_enum = 0
LEFT JOIN hidden h
ON h.corp_id = ec.corpinfo_id
AND h.delete_enum = 0
AND (
(ec.evaluation_type = 1 AND h.hidden_type IN ('aqyh','rdbaqys','wzcz','wzzh','grfhyp','wdbaqzt','jxsb','hcl','dqsb','gsj','aqbhzz','ss','xf','tzsb','hjdbaqys','zmjdgyxbj','aqbzbs','gkkd','zykjxzzl','eltq','gldqx','wzdhzdlsbdw','wfacs','jypx','aqyh-qt'))
OR
(ec.evaluation_type = 2 AND h.hidden_type IN ('wshb','hjwr','ws','dq','zs','gf','hjwsjlh','yqfk','wshb-qt'))
)
LEFT JOIN hidden_evaluation_record her
ON her.hidden_id = h.hidden_id
AND her.corpinfo_id = ec.corpinfo_id
AND her.evaluation_type = ec.evaluation_type
AND her.delete_enum = 0
WHERE ec.delete_enum = 0
AND ci.use_flag = 1
<if test="params.corpinfoName != null and params.corpinfoName != ''">
AND ci.corp_name LIKE CONCAT('%', #{params.corpinfoName}, '%')
</if>
GROUP BY ci.id, ec.evaluation_type
ORDER BY ci.corp_order, ci.create_time desc
</select>
</mapper>

View File

@ -3,5 +3,24 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.hidden.evaluation.persistence.mapper.HiddenExchangeBathMapper">
<select id="listPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.HiddenExchangeBathDO">
select heb.*, u.name as operateUserName
from hidden_exchange_bath heb
left join user u on u.id = heb.operate_user_id
where heb.delete_enum = 'FALSE'
and heb.exchange_user_id = #{params.exchangeUserId}
<!-- 兑换开始时间 -->
<if test="params.exchangeStartTime != null and params.exchangeStartTime != ''">
AND heb.exchange_time >= #{params.exchangeStartTime}
</if>
<!-- 兑换结束时间 -->
<if test="params.exchangeEndTime != null and params.exchangeEndTime != ''">
AND heb.exchange_time &lt;= #{params.exchangeEndTime}
</if>
</select>
</mapper>

View File

@ -3,5 +3,66 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.hidden.evaluation.persistence.mapper.HiddenExchangeInfoMapper">
<select id="listPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.HiddenExchangeInfoDO">
select h.source,
h.id as hiddenSnowFlakeId,
h.hidden_id as hiddenId,
h.hidden_desc as hiddenDesc,
h.creator_id AS findUserId,
finduser.name AS findUserName,
h.hidden_find_time as hiddenFindTime,
h.state as state,
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
her.exchange_flag
from hidden_exchange_info hei
left join hidden_evaluation_record her on hei.hidden_id = her.hidden_id and her.delete_enum = 'FALSE'
left join hidden h on her.hidden_id = h.hidden_id and h.delete_enum = 'FALSE'
left join hidden_evaluation_detail hd on her.hidden_evaluation_record_id = hd.hidden_evaluation_record_id
LEFT JOIN hidden_user hu ON h.hidden_id = hu.hidden_id AND hu.delete_enum = 'FALSE' AND hu.type = 300
LEFT JOIN user hiddenUser ON hu.user_id = hiddenUser.id
LEFT JOIN user finduser ON h.creator_id = finduser.id
left join department d on hd.evaluation_dept_id = d.id and d.delete_enum = 'FALSE'
left join user u on hd.evaluation_user_id = u.id and u.delete_enum = 'FALSE'
where hei.delete_enum='FALSE' and hei.hidden_exchange_bath_id = #{params.hiddenExchangeBathId}
<!-- 隐患来源 -->
<if test="params.source != null and params.source != ''">
AND h.source = #{params.source}
</if>
<!-- 部门id -->
<if test="params.departmentId != null">
AND finduser.department_id = #{params.departmentId}
</if>
<!-- 隐患发现人(姓名模糊查询) -->
<if test="params.findUserName != null and params.findUserName != ''">
AND finduser.name LIKE CONCAT('%', #{params.findUserName}, '%')
</if>
<!-- 隐患类型 -->
<if test="params.hiddenType != null and params.hiddenType != ''">
AND h.hidden_type = #{params.hiddenType}
</if>
<!-- 兑换开始时间 -->
<if test="params.exchangeStartTime != null and params.exchangeStartTime != ''">
AND her.exchange_time >= #{params.exchangeStartTime}
</if>
<!-- 兑换结束时间 -->
<if test="params.exchangeEndTime != null and params.exchangeEndTime != ''">
AND her.exchange_time &lt;= #{params.exchangeEndTime}
</if>
GROUP BY h.creator_id
ORDER BY u.sort, u.create_time desc
</select>
</mapper>

View File

@ -1,7 +0,0 @@
<?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.zcloud.hidden.evaluation.persistence.mapper.HiddenUserScoreMapper">
</mapper>