考试功能调整、一企一档获取数据调整

main
liuyiliang 2 months ago
parent 4fca5933a4
commit 9c784a7863
  1. 10
      ccic-entity/src/main/java/com/ccic/safeliab/entity/ExExamInfo.java
  2. 23
      ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamSchedule.java
  3. 18
      ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamStatistics.java
  4. 49
      ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamStatisticsMapper.java
  5. 4
      ccic-exam/src/main/java/com/ccic/safeliab/dao/ServiceStatMapper.java
  6. 12
      ccic-exam/src/main/java/com/ccic/safeliab/excel/ServiceStatExcel.java
  7. 18
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScheduleService.java
  8. 39
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScheduleServiceImpl.java
  9. 2
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamService.java
  10. 11
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamServiceImpl.java
  11. 50
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsService.java
  12. 94
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsServiceImpl.java
  13. 4
      ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java
  14. 11
      ccic-exam/src/main/java/com/ccic/safeliab/vo/HivePolicyInnerCoInsurerVO.java
  15. 2
      ccic-exam/src/main/java/com/ccic/safeliab/vo/PolicyStatisticsVO.java
  16. 22
      ccic-exam/src/main/java/com/ccic/safeliab/vo/RiskStatisticsVO.java
  17. 5
      ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatVO.java
  18. 2
      ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatisticsVO.java
  19. 11
      ccic-exam/src/main/java/com/ccic/safeliab/web/ExamController.java
  20. 50
      ccic-exam/src/main/java/com/ccic/safeliab/web/ExamScheduleController.java
  21. 41
      ccic-exam/src/main/java/com/ccic/safeliab/web/ExamStatisticsController.java
  22. 51
      ccic-exam/src/main/resources/mappers/ExamScheduleMapper.xml
  23. 50
      ccic-exam/src/main/resources/mappers/ServiceStatMapper.xml

@ -63,4 +63,14 @@ public class ExExamInfo extends BaseEntity implements Serializable {
*/
private String remark;
/**
* 验证码
*/
private String captcha;
/**
* 二维码地址
*/
private String path;
}

@ -25,15 +25,24 @@ public class ExamSchedule extends BaseEntity{
@TableId(value = "id", type = IdType.ID_WORKER)
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
@TableField(exist = false)
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long examId;
private String examName;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long paperId;
@TableField(exist = false)
private String paperName;
private String industryId;
@TableField(exist = false)
private String regulatedIndustry;
private String examRegion;
@DateTimeFormat(
pattern = "yyyy-MM-dd"
@ -49,8 +58,22 @@ public class ExamSchedule extends BaseEntity{
pattern = "yyyy-MM-dd"
)
private String validTo;
private Integer publishStatus;
private String remark;
@TableField(exist = false)
private String examDuration;
/**
* 验证码
*/
private String captcha;
/**
* 二维码地址
*/
private String path;
}

@ -1,18 +0,0 @@
package com.ccic.safeliab.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ExamStatistics extends BaseEntity{
}

@ -1,7 +1,5 @@
package com.ccic.safeliab.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ccic.safeliab.entity.ExamStatistics;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -9,24 +7,39 @@ import java.util.List;
import java.util.Map;
@Mapper
public interface ExamStatisticsMapper extends BaseMapper<ExamStatistics>{
public interface ExamStatisticsMapper{
int getQuestionCount();
int getPaperCount();
int getExamCount();
List<Map<String,Object>> getIndustryDimensionData();
List<Map<String,Object>> getAqServiceDimensionData(@Param("id") String id);
List<Map<String,Object>> getExamTableData();
List<Map<String,Object>> getScoreDistributionData();
List<Map<String,Object>> getPaperDistributionData();
List<Map<String,Object>> getQuestionTypeDistributionData(@Param("id") String id);
List<Map<String,Object>> getScoreDistribution(@Param("id") String id);
List<Map<String,Object>> getExamDetailAnalysisPageList(@Param("examName")String examName,
@Param("paperName")String paperName,
@Param("examArea")String examArea,
@Param("industry")String industry);
List<Map<String, Object>> getIndustryDimensionData();
List<Map<String, Object>> getAqServiceDimensionData(@Param("id") String id);
List<Map<String, Object>> getExamTableData();
List<Map<String, Object>> getScoreDistributionData();
List<Map<String, Object>> getPaperDistributionData();
List<Map<String, Object>> getQuestionTypeDistributionData(@Param("id") String id);
List<Map<String, Object>> getScoreDistribution(@Param("id") String id);
List<Map<String, Object>> getExamDetailAnalysisPageList(@Param("examName") String examName,
@Param("paperName") String paperName,
@Param("examArea") String examArea,
@Param("industry") String industry);
int getPaperAnalysisData(@Param("status") String status);
List<Map<String,Object>> getExamPaperAnalysisPageList(@Param("paperName")String paperName,@Param("industry")String industry);
String getPaperName(@Param("paperId")String paperId);
List<Map<String,Object>> getQuestionAccuracyData(@Param("paperId")String paperId);
List<Map<String,Object>> getQuestions(@Param("paperId")String paperId);
List<Map<String, Object>> getExamPaperAnalysisPageList(@Param("paperName") String paperName, @Param("industry") String industry);
String getPaperName(@Param("paperId") String paperId);
List<Map<String, Object>> getQuestionAccuracyData(@Param("paperId") String paperId);
List<Map<String, Object>> getQuestions(@Param("paperId") String paperId);
}

@ -47,7 +47,7 @@ public interface ServiceStatMapper {
List<HivePolicyCoverage> getHivePolicyCoverageStatistics(@Param("policyNumber") String policyNumber);
List<HivePolicyInnerCoInsurer> getHivePolicyInnerCoInsurerStatistics(@Param("policyNumber") String policyNumber);
List<HivePolicyInnerCoInsurerVO> getHivePolicyInnerCoInsurerStatistics(@Param("policyNumber") String policyNumber);
List<HiveClaimStatisticsVO> getHiveClaimStatistics(@Param("customerId") Long customerId);
@ -55,7 +55,7 @@ public interface ServiceStatMapper {
List<AccidentPreventionVO> getAccidentPreventionStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber);
List<Risk> getRiskStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber);
List<RiskStatisticsVO> getRiskStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber);
List<HazardInvestigationVO> getHazardInvestigationStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber);

@ -36,6 +36,10 @@ import java.io.Serializable;
public class ServiceStatExcel implements Serializable {
private static final long serialVersionUID = 1L;
@ColumnWidth(15)
@ExcelProperty("数据日期")
private String createdAt;
@ColumnWidth(23)
@ExcelProperty("保单号")
private String policyNumber;
@ -48,6 +52,14 @@ public class ServiceStatExcel implements Serializable {
@ExcelProperty("事故预防状态")
private String serviceStatusName;
@ColumnWidth(15)
@ExcelProperty("启保时间")
private String startDate;
@ColumnWidth(15)
@ExcelProperty("终保时间")
private String doneDate;
@ColumnWidth(20)
@ExcelProperty("备注")
private String remarks;

@ -11,12 +11,20 @@ import java.util.Map;
public interface ExamScheduleService extends BaseService<ExamSchedule> {
public List<ExamSchedule> selectExamSchedule(Map<String, Object> param);
public List<Map<String,Object>> getIndustry();
public List<Map<String,Object>> getPaper();
public List<Map<String, Object>> getIndustry();
public List<Map<String, Object>> getPaper();
public ExamSchedule getExamDataById(String id);
public int doPublish(List<String> ids);
public int doDelete(List<String> ids);
public int doDelete(List<Long> ids);
public int doCancel(List<String> ids);
public List<Map<String,Object>> getExamParticipation(String examId);
public List<Map<String,Object>> getExamAnswerDetails(String examId);
public List<Map<String, Object>> getExamParticipation(String examId);
public List<Map<String, Object>> getExamAnswerDetails(String examId);
}

@ -16,48 +16,49 @@ import java.util.Map;
@Service
public class ExamScheduleServiceImpl extends BaseServiceImpl<ExamScheduleMapper, ExamSchedule> implements ExamScheduleService {
public List<ExamSchedule> selectExamSchedule(Map<String, Object> param){
public List<ExamSchedule> selectExamSchedule(Map<String, Object> param) {
return baseMapper.selectExamSchedule(param);
}
public List<Map<String,Object>> getIndustry(){
public List<Map<String, Object>> getIndustry() {
return baseMapper.getIndustry();
}
public List<Map<String,Object>> getPaper(){
public List<Map<String, Object>> getPaper() {
return baseMapper.getPaper();
}
public ExamSchedule getExamDataById(String id){
public ExamSchedule getExamDataById(String id) {
return baseMapper.selectById(id);
}
public int doPublish(List<String> ids){
public int doPublish(List<String> ids) {
List<ExamSchedule> ExamSchedules = baseMapper.selectBatchIds(ids);
for(ExamSchedule info : ExamSchedules){
for (ExamSchedule info : ExamSchedules) {
info.setPublishStatus(1);
}
boolean result = updateBatchById(ExamSchedules);
return result?ExamSchedules.size():0;
return result ? ExamSchedules.size() : 0;
}
public int doDelete(List<String> ids){
List<ExamSchedule> ExamSchedules = baseMapper.selectBatchIds(ids);
for(ExamSchedule info : ExamSchedules){
info.setIsDeleted(1);
}
boolean result = updateBatchById(ExamSchedules);
return result?ExamSchedules.size():0;
public int doDelete(List<Long> ids) {
return super.deleteLogic(ids) ? 1 : 0;
}
public int doCancel(List<String> ids){
public int doCancel(List<String> ids) {
List<ExamSchedule> ExamSchedules = baseMapper.selectBatchIds(ids);
for(ExamSchedule info : ExamSchedules){
for (ExamSchedule info : ExamSchedules) {
info.setPublishStatus(2);
}
boolean result = updateBatchById(ExamSchedules);
return result?ExamSchedules.size():0;
return result ? ExamSchedules.size() : 0;
}
public List<Map<String,Object>> getExamParticipation(String examId){
public List<Map<String, Object>> getExamParticipation(String examId) {
return baseMapper.getExamParticipation(examId);
}
public List<Map<String,Object>> getExamAnswerDetails(String examId){
public List<Map<String, Object>> getExamAnswerDetails(String examId) {
return baseMapper.getExamAnswerDetails(examId);
}

@ -29,4 +29,6 @@ public interface ExamService {
R saveUserAnswers(UserAnswersVO userAnswersVO);
boolean checkExamCaptcha(Long examId, String captcha);
}

@ -140,4 +140,15 @@ public class ExamServiceImpl implements ExamService {
return R.ok().data(leadValue);
}
@Override
public boolean checkExamCaptcha(Long examId, String captcha) {
ExExamInfo examInfo = examInfoMapper.selectById(examId);
if (examInfo != null) {
if (captcha.equals(examInfo.getCaptcha())) {
return true;
}
}
return false;
}
}

@ -1,31 +1,41 @@
package com.ccic.safeliab.service;
import com.ccic.safeliab.entity.ExamSchedule;
import com.ccic.safeliab.entity.ExamStatistics;
import com.ccic.safeliab.support.BaseService;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface ExamStatisticsService extends BaseService<ExamStatistics> {
public interface ExamStatisticsService {
int getQuestionCount();
int getPaperCount();
int getExamCount();
List<Map<String,Object>> getIndustryDimensionData();
List<Map<String,Object>> getAqServiceDimensionData(String id);
List<Map<String,Object>> getExamTableData();
List<Map<String,Object>> getScoreDistributionData();
List<Map<String,Object>> getPaperDistributionData();
List<Map<String,Object>> getQuestionTypeDistributionData(String id);
List<Map<String,Object>> getScoreDistribution(String id);
List<Map<String,Object>> getExamDetailAnalysisPageList(String examName,
String paperName,
String examArea,
String industry);
List<Map<String, Object>> getIndustryDimensionData();
List<Map<String, Object>> getAqServiceDimensionData(String id);
List<Map<String, Object>> getExamTableData();
List<Map<String, Object>> getScoreDistributionData();
List<Map<String, Object>> getPaperDistributionData();
List<Map<String, Object>> getQuestionTypeDistributionData(String id);
List<Map<String, Object>> getScoreDistribution(String id);
List<Map<String, Object>> getExamDetailAnalysisPageList(String examName,
String paperName,
String examArea,
String industry);
int getPaperAnalysisData(String status);
List<Map<String,Object>> getExamPaperAnalysisPageList(String paperName,String industry);
List<Map<String, Object>> getExamPaperAnalysisPageList(String paperName, String industry);
String getPaperName(String paperId);
List<Map<String,Object>> getQuestionAccuracyData(String paperId);
List<Map<String,Object>> getQuestions(String paperId);
List<Map<String, Object>> getQuestionAccuracyData(String paperId);
List<Map<String, Object>> getQuestions(String paperId);
}

@ -1,65 +1,83 @@
package com.ccic.safeliab.service;
import com.ccic.safeliab.dao.ExamStatisticsMapper;
import com.ccic.safeliab.entity.ExamStatistics;
import com.ccic.safeliab.support.BaseServiceImpl;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class ExamStatisticsServiceImpl extends BaseServiceImpl<ExamStatisticsMapper, ExamStatistics> implements ExamStatisticsService {
public int getQuestionCount(){
return baseMapper.getQuestionCount();
public class ExamStatisticsServiceImpl implements ExamStatisticsService {
@Autowired
private ExamStatisticsMapper examStatisticsMapper;
public int getQuestionCount() {
return examStatisticsMapper.getQuestionCount();
}
public int getPaperCount(){
return baseMapper.getPaperCount();
public int getPaperCount() {
return examStatisticsMapper.getPaperCount();
}
public int getExamCount(){
return baseMapper.getExamCount();
public int getExamCount() {
return examStatisticsMapper.getExamCount();
}
public List<Map<String,Object>> getIndustryDimensionData(){
return baseMapper.getIndustryDimensionData();
public List<Map<String, Object>> getIndustryDimensionData() {
return examStatisticsMapper.getIndustryDimensionData();
}
public List<Map<String,Object>> getAqServiceDimensionData(@Param("id") String id){
return baseMapper.getAqServiceDimensionData(id);
public List<Map<String, Object>> getAqServiceDimensionData(@Param("id") String id) {
return examStatisticsMapper.getAqServiceDimensionData(id);
}
public List<Map<String,Object>> getExamTableData(){
return baseMapper.getExamTableData();
public List<Map<String, Object>> getExamTableData() {
return examStatisticsMapper.getExamTableData();
}
public List<Map<String,Object>> getScoreDistributionData(){
return baseMapper.getScoreDistributionData();
public List<Map<String, Object>> getScoreDistributionData() {
return examStatisticsMapper.getScoreDistributionData();
}
public List<Map<String,Object>> getPaperDistributionData(){
return baseMapper.getPaperDistributionData();
public List<Map<String, Object>> getPaperDistributionData() {
return examStatisticsMapper.getPaperDistributionData();
}
public List<Map<String,Object>> getQuestionTypeDistributionData(@Param("id") String id){
return baseMapper.getQuestionTypeDistributionData(id);
public List<Map<String, Object>> getQuestionTypeDistributionData(@Param("id") String id) {
return examStatisticsMapper.getQuestionTypeDistributionData(id);
}
public List<Map<String,Object>> getScoreDistribution(String id){
return baseMapper.getScoreDistribution(id);
public List<Map<String, Object>> getScoreDistribution(String id) {
return examStatisticsMapper.getScoreDistribution(id);
}
public List<Map<String,Object>> getExamDetailAnalysisPageList(String examName,
String paperName,
String examArea,
String industry) {
return baseMapper.getExamDetailAnalysisPageList(examName,paperName,examArea,industry);
public List<Map<String, Object>> getExamDetailAnalysisPageList(String examName,
String paperName,
String examArea,
String industry) {
return examStatisticsMapper.getExamDetailAnalysisPageList(examName, paperName, examArea, industry);
}
public int getPaperAnalysisData(String status){
return baseMapper.getPaperAnalysisData(status);
public int getPaperAnalysisData(String status) {
return examStatisticsMapper.getPaperAnalysisData(status);
}
public List<Map<String,Object>> getExamPaperAnalysisPageList(String paperName,String industry) {
return baseMapper.getExamPaperAnalysisPageList(paperName,industry);
public List<Map<String, Object>> getExamPaperAnalysisPageList(String paperName, String industry) {
return examStatisticsMapper.getExamPaperAnalysisPageList(paperName, industry);
}
public String getPaperName(String paperId){
return baseMapper.getPaperName(paperId);
public String getPaperName(String paperId) {
return examStatisticsMapper.getPaperName(paperId);
}
public List<Map<String,Object>> getQuestionAccuracyData(String paperId){
return baseMapper.getQuestionAccuracyData(paperId);
public List<Map<String, Object>> getQuestionAccuracyData(String paperId) {
return examStatisticsMapper.getQuestionAccuracyData(paperId);
}
public List<Map<String,Object>> getQuestions(String paperId){
return baseMapper.getQuestions(paperId);
public List<Map<String, Object>> getQuestions(String paperId) {
return examStatisticsMapper.getQuestions(paperId);
}
}

@ -85,7 +85,7 @@ public class StatisticsServiceImpl implements StatisticsService {
List<HivePolicyCoverage> hivePolicyCoverageList = serviceStatMapper.getHivePolicyCoverageStatistics(policyNo);
policyStatistics.setPolicyCoverageList(hivePolicyCoverageList);
// 联保信息
List<HivePolicyInnerCoInsurer> hivePolicyInnerCoInsurerList = serviceStatMapper.getHivePolicyInnerCoInsurerStatistics(policyNo);
List<HivePolicyInnerCoInsurerVO> hivePolicyInnerCoInsurerList = serviceStatMapper.getHivePolicyInnerCoInsurerStatistics(policyNo);
policyStatistics.setHivePolicyInnerCoInsurerList(hivePolicyInnerCoInsurerList);
}
}
@ -103,7 +103,7 @@ public class StatisticsServiceImpl implements StatisticsService {
List<AccidentPreventionVO> accidentPreventionList = serviceStatMapper.getAccidentPreventionStatistics(customerId, serviceStat.getPolicyNumber());
serviceStat.setAccidentPreventionList(accidentPreventionList);
// 风险辨识
List<Risk> riskList = serviceStatMapper.getRiskStatistics(customerId, serviceStat.getPolicyNumber());
List<RiskStatisticsVO> riskList = serviceStatMapper.getRiskStatistics(customerId, serviceStat.getPolicyNumber());
serviceStat.setRiskList(riskList);
// 隐患排查
List<HazardInvestigationVO> hazardInvestigationList = serviceStatMapper.getHazardInvestigationStatistics(customerId, serviceStat.getPolicyNumber());

@ -0,0 +1,11 @@
package com.ccic.safeliab.vo;
import lombok.Data;
@Data
public class HivePolicyInnerCoInsurerVO {
private String innerCoOrgCode;
private String shareRate;
}

@ -14,6 +14,6 @@ public class PolicyStatisticsVO extends Policy {
private List<HivePolicyCoverage> policyCoverageList;
// 联保信息
private List<HivePolicyInnerCoInsurer> hivePolicyInnerCoInsurerList;
private List<HivePolicyInnerCoInsurerVO> hivePolicyInnerCoInsurerList;
}

@ -0,0 +1,22 @@
package com.ccic.safeliab.vo;
import lombok.Data;
@Data
public class RiskStatisticsVO {
private String riskNumber;
private String riskName;
private String riskontent;
private String discoveredAddress;
private String riskGrade;
private String status;
private String discoveredAt;
}

@ -61,4 +61,9 @@ public class ServiceStatVO {
*/
private String dateFilter;
/**
* 数据日期
*/
private String createdAt;
}

@ -14,7 +14,7 @@ public class ServiceStatisticsVO {
private List<AccidentPreventionVO> accidentPreventionList;
// 风险辨识
private List<Risk> riskList;
private List<RiskStatisticsVO> riskList;
// 隐患排查
private List<HazardInvestigationVO> hazardInvestigationList;

@ -62,5 +62,16 @@ public class ExamController {
return examService.saveUserAnswers(userAnswersVO);
}
/**
* 验证考试码
* @param examId
* @param captcha
* @return
*/
@GetMapping("/checkExamCaptcha")
public R checkExamCaptcha(Long examId, String captcha) {
return R.ok().data(examService.verifyExamCaptcha(examId, captcha));
}
}

@ -16,63 +16,69 @@ import java.util.*;
public class ExamScheduleController {
@Autowired
private ExamScheduleService service;
@GetMapping("/select")
public R select( @RequestParam(required = false) String examName,
@RequestParam(required = false) String paperName,
@RequestParam(required = false) String regulatedIndustry,
@RequestParam(required = false) String validDate
) {
// 模拟数据库查询
List<ExamSchedule> examList = new ArrayList<>();
ExamScheduleVO insDemoVO = new ExamScheduleVO();
// 这里可以添加实际的数据库查询逻辑
@GetMapping("/select")
public R select(@RequestParam(required = false) String examName,
@RequestParam(required = false) String paperName,
@RequestParam(required = false) String regulatedIndustry,
@RequestParam(required = false) String validDate
) {
Map<String, Object> param = new HashMap<>();
param.put("examName", examName);
param.put("paperName", paperName);
param.put("regulatedIndustry", regulatedIndustry);
param.put("date", validDate);
examList = service.selectExamSchedule(param);
Map<Object,Object> result = new HashMap<>();
List<ExamSchedule> examList = service.selectExamSchedule(param);
Map<Object, Object> result = new HashMap<>();
result.put("data", examList);
result.put("total", examList.size());
return R.ok().data(result);
}
@PostMapping("/cancel")
public R cancel(@RequestBody List<String> ids) {
int result = service.doCancel(ids);
return R.ok().data(result);
}
@PostMapping("/publish")
public R publish(@RequestBody List<String> ids) {
int result = service.doPublish(ids);
return R.ok().data(result);
}
@PostMapping("/delete")
public R delete(@RequestBody List<String> ids) {
public R delete(@RequestBody List<Long> ids) {
int result = service.doDelete(ids);
return R.ok().data(result);
}
@PostMapping("/insert")
public R insert(@RequestBody ExamScheduleVO examSchedule) {
@PostMapping("/save")
public R save(@RequestBody ExamScheduleVO examSchedule) {
examSchedule.setPublishStatus(0);
boolean result = service.saveOrUpdate(examSchedule);
return R.ok().data("success.");
return R.ok().data(service.saveOrUpdate(examSchedule));
}
@PostMapping("/saveQrCode")
public R saveQrCode(@RequestBody ExamScheduleVO examSchedule) {
ExamScheduleVO examScheduleVO = new ExamScheduleVO();
examScheduleVO.setCaptcha(examSchedule.getCaptcha());
examScheduleVO.setPath(examSchedule.getPath());
return R.ok().data(service.saveOrUpdate(examScheduleVO));
}
@GetMapping("/getIndustry")
public R getIndustry(){
public R getIndustry() {
return R.ok().data(service.getIndustry());
}
@GetMapping("/getExamDataById")
public R getExamDataById(@RequestParam(required = false) String id){
public R getExamDataById(@RequestParam(required = false) String id) {
return R.ok().data(service.getExamDataById(id));
}
@GetMapping("/getPaper")
public R getPaper(){
public R getPaper() {
return R.ok().data(service.getPaper());
}
@ -90,8 +96,8 @@ public class ExamScheduleController {
@GetMapping("/getDetailById")
public R getAnswerStatus(@RequestParam(required = false) String id) {
Map<String, Object> param = new HashMap<>();
param.put("examParticipation",service.getExamParticipation(id));
param.put("examAnswer",service.getExamAnswerDetails(id));
param.put("examParticipation", service.getExamParticipation(id));
param.put("examAnswer", service.getExamAnswerDetails(id));
return R.ok().data(param);
}

@ -1,14 +1,10 @@
package com.ccic.safeliab.web;
import com.ccic.safeliab.entity.ExamSchedule;
import com.ccic.safeliab.service.ExamScheduleService;
import com.ccic.safeliab.service.ExamStatisticsService;
import com.ccic.safeliab.util.R;
import com.ccic.safeliab.vo.ExamScheduleVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -18,9 +14,10 @@ import java.util.Map;
public class ExamStatisticsController {
@Autowired
private ExamStatisticsService service;
@GetMapping("/init")
public R init() {
Map<Object,Object> result = new HashMap<>();
Map<Object, Object> result = new HashMap<>();
// 题目数
result.put("questionCount", service.getQuestionCount());
// 试卷数
@ -30,24 +27,26 @@ public class ExamStatisticsController {
// 监管行业环状图
result.put("industryDimensionData", service.getIndustryDimensionData());
// 安全服务环状图
result.put("aqServiceDimensionData",service.getAqServiceDimensionData(null));
result.put("aqServiceDimensionData", service.getAqServiceDimensionData(null));
// 考试状况表格
result.put("examTableData",service.getExamTableData());
result.put("examTableData", service.getExamTableData());
// 成绩分布
result.put("scoreDistributionData",service.getScoreDistributionData());
result.put("scoreDistributionData", service.getScoreDistributionData());
// 试卷情况
result.put("paperDistributionData",service.getPaperDistributionData());
result.put("paperDistributionData", service.getPaperDistributionData());
return R.ok().data(result);
}
@GetMapping("/change")
public R onChange(@RequestParam String id) {
Map<Object,Object> result = new HashMap<>();
Map<Object, Object> result = new HashMap<>();
// 安全服务环状图
result.put("aqServiceDimensionData",service.getAqServiceDimensionData(id));
result.put("aqServiceDimensionData", service.getAqServiceDimensionData(id));
// 安全服务环状图
result.put("questionTypeDistributionData",service.getQuestionTypeDistributionData(id));
result.put("questionTypeDistributionData", service.getQuestionTypeDistributionData(id));
return R.ok().data(result);
}
// 考试详情画面的检索
@GetMapping("/getExamDetailAnalysisPageList")
public R getExamDetailAnalysisPageList(@RequestParam String examName,
@ -55,7 +54,7 @@ public class ExamStatisticsController {
@RequestParam String examArea,
@RequestParam String industry) {
return R.ok().data(service.getExamDetailAnalysisPageList(examName,paperName,examArea,industry));
return R.ok().data(service.getExamDetailAnalysisPageList(examName, paperName, examArea, industry));
}
// 考试详情画面的成绩分布
@ -63,10 +62,11 @@ public class ExamStatisticsController {
public R getScoreDistribution(@RequestParam String id) {
return R.ok().data(service.getScoreDistribution(id));
}
// 考试详情画面的成绩分布
@GetMapping("/getPaperAnalysisData")
public R getScoreDistribution() {
Map<Object,Object> result = new HashMap<>();
Map<Object, Object> result = new HashMap<>();
// 总数
result.put("totalCount", service.getPaperAnalysisData(null));
// 使用数
@ -78,26 +78,29 @@ public class ExamStatisticsController {
@GetMapping("/getExamPaperAnalysisPageList")
public R getExamPaperAnalysisPageList(
@RequestParam String paperName,
@RequestParam String industry) {
List<Map<String,Object>> result =service.getExamPaperAnalysisPageList(paperName,industry);
@RequestParam String paperName,
@RequestParam String industry) {
List<Map<String, Object>> result = service.getExamPaperAnalysisPageList(paperName, industry);
return R.ok().data(result);
}
@GetMapping("/getPaperName")
public R getPaperName(
@RequestParam String id) {
return R.ok().data(service.getPaperName(id));
}
@GetMapping("/getQuestionAccuracyData")
public R getQuestionAccuracyData(
@RequestParam String id) {
List<Map<String,Object>> result =service.getQuestionAccuracyData(id);
List<Map<String, Object>> result = service.getQuestionAccuracyData(id);
return R.ok().data(result);
}
@GetMapping("/getQuestions")
public R getQuestions(
@RequestParam String id) {
List<Map<String,Object>> result = service.getQuestions(id);
List<Map<String, Object>> result = service.getQuestions(id);
return R.ok().data(result);
}
}

@ -3,30 +3,32 @@
<mapper namespace="com.ccic.safeliab.dao.ExamScheduleMapper">
<select id="selectExamSchedule" parameterType="java.util.Map" resultType="com.ccic.safeliab.entity.ExamSchedule">
SELECT
info.id as examId,
info.exam_name,
paper.paper_name,
ind.industry_name AS regulated_industry,
CASE
WHEN INSTR(info.exam_region, '/') > 0 THEN
SUBSTRING(info.exam_region, INSTR(info.exam_region, '/') + 1)
ELSE
info.exam_region
END AS exam_region,
info.valid_from,
info.valid_to,
paper.exam_duration as examDuration,
info.publish_status
info.id as examId,
info.exam_name,
paper.paper_name,
ind.industry_name AS regulated_industry,
CASE
WHEN INSTR(info.exam_region, '/') > 0 THEN
SUBSTRING(info.exam_region, INSTR(info.exam_region, '/') + 1)
ELSE
info.exam_region
END AS exam_region,
info.valid_from,
info.valid_to,
paper.exam_duration || CASE
WHEN paper.duration_type = 1 THEN '分'
ELSE '时'
END AS exam_duration,
info.publish_status,
info.captcha,
info.path
FROM
ex_exam_info info
LEFT JOIN ex_exam_papers paper
ON info.paper_id = paper.id
LEFT JOIN tbl_industry ind
ON ind.industry_id = info.industry_id
AND ind.status = 1
ex_exam_info info
LEFT JOIN ex_exam_papers paper ON info.paper_id = paper.id
LEFT JOIN tbl_industry ind ON ind.industry_id = info.industry_id AND ind.status = 1
WHERE
info.is_deleted = 0
and paper.is_deleted = 0
info.is_deleted = 0
and paper.is_deleted = 0
<if test="examName != null and examName != ''">
AND info.exam_name LIKE '%' || #{examName} || '%'
</if>
@ -53,7 +55,10 @@
id::text as paper_id,
paper_name,
total_score,
exam_duration,
exam_duration || CASE
WHEN duration_type = 1 THEN '分'
ELSE '时'
END AS exam_duration,
industry_id as regulatory_industry
from ex_exam_papers
where is_deleted = 0

@ -17,6 +17,9 @@
<result column="insurance_name" property="insuranceName"/>
<result column="other_information" property="remarks"/>
<result column="service_status_name" property="serviceStatusName"/>
<result column="created_at" property="createdAt"/>
<result column="start_date" property="startDate"/>
<result column="done_date" property="doneDate"/>
</resultMap>
<resultMap id="exportResultMap" type="com.ccic.safeliab.excel.ServiceStatExcel">
@ -24,6 +27,9 @@
<result column="insurance_name" property="insuranceName"/>
<result column="other_information" property="remarks"/>
<result column="service_status_name" property="serviceStatusName"/>
<result column="created_at" property="createdAt"/>
<result column="start_date" property="startDate"/>
<result column="done_date" property="doneDate"/>
</resultMap>
<resultMap id="PolicyServiceResultMap" type="com.ccic.safeliab.vo.ServiceStatisticsVO">
@ -43,7 +49,10 @@
WHEN t.status = 2 THEN '服务专家已签到(事故预防服务中)'
WHEN t.status = 10 THEN '服务报告已上传'
ELSE '-1'
END AS service_status_name
END AS service_status_name,
TO_CHAR(p.created_at, 'YYYY-MM-DD') created_at,
TO_CHAR(p.start_date, 'YYYY-MM-DD') start_date,
TO_CHAR(p.done_date, 'YYYY-MM-DD') done_date
</sql>
<sql id="selectExportColumn">
@ -58,7 +67,10 @@
WHEN t.status = 2 THEN '服务专家已签到(事故预防服务中)'
WHEN t.status = 10 THEN '服务报告已上传'
ELSE '-1'
END AS service_status_name
END AS service_status_name,
TO_CHAR(p.created_at, 'YYYY-MM-DD') created_at,
TO_CHAR(p.start_date, 'YYYY-MM-DD') start_date,
TO_CHAR(p.done_date, 'YYYY-MM-DD') done_date
</sql>
<sql id="baseQuery">
@ -93,20 +105,20 @@
</if>
<if test="policy.dateFilter != null and policy.dateFilter != ''">
<if test="policy.dateFilter == 'lastWeek'">
AND p.start_date &gt;= CURRENT_TIMESTAMP - INTERVAL '7 days' AND p.done_date &lt;= CURRENT_TIMESTAMP
AND p.created_at &gt;= CURRENT_TIMESTAMP - INTERVAL '7 days' AND p.created_at &lt;= CURRENT_TIMESTAMP
</if>
<if test="policy.dateFilter == 'lastMonth'">
AND p.start_date &gt;= CURRENT_TIMESTAMP - INTERVAL '1 month' AND p.done_date &lt;= CURRENT_TIMESTAMP
AND p.created_at &gt;= CURRENT_TIMESTAMP - INTERVAL '1 month' AND p.created_at &lt;= CURRENT_TIMESTAMP
</if>
<if test="policy.dateFilter == 'last3Months'">
AND p.start_date &gt;= CURRENT_TIMESTAMP - INTERVAL '3 months' AND p.done_date &lt;= CURRENT_TIMESTAMP
AND p.created_at &gt;= CURRENT_TIMESTAMP - INTERVAL '3 months' AND p.created_at &lt;= CURRENT_TIMESTAMP
</if>
</if>
<if test="policy.startDate != null and policy.startDate != ''">
AND p.start_date &gt;= #{policy.startDate} || ' 00:00:00'
AND p.created_at &gt;= #{policy.startDate} || ' 00:00:00'
</if>
<if test="policy.doneDate != null and policy.doneDate != ''">
AND p.done_date &lt;= #{policy.doneDate} || ' 23:59:59'
AND p.created_at &lt;= #{policy.doneDate} || ' 23:59:59'
</if>
</where>
</sql>
@ -207,7 +219,7 @@
where policy_no = #{policyNumber}
</select>
<select id="getHivePolicyInnerCoInsurerStatistics" resultType="com.ccic.safeliab.entity.HivePolicyInnerCoInsurer">
<select id="getHivePolicyInnerCoInsurerStatistics" resultType="com.ccic.safeliab.vo.HivePolicyInnerCoInsurerVO">
SELECT
inner_co_org_code innerCoOrgCode,
CASE
@ -285,14 +297,24 @@
and a.policy_number = #{policyNumber}
</select>
<select id="getRiskStatistics" resultType="com.ccic.safeliab.entity.Risk">
<select id="getRiskStatistics" resultType="com.ccic.safeliab.vo.RiskStatisticsVO">
SELECT
risk_number riskNumber,
risk_name riskName,
risk_content riskontent,
discovered_address discoveredAddress,
risk_grade riskGrade,
status,
CASE
WHEN risk_grade = 1 THEN '蓝色'
WHEN risk_grade = 2 THEN '黄色'
WHEN risk_grade = 3 THEN '橙色'
WHEN risk_grade = 4 THEN '红色'
ELSE ''
END AS riskGrade,
CASE
WHEN status = 1 THEN '已管控'
WHEN status = 2 THEN '未管控'
ELSE ''
END AS status,
discovered_at discoveredAt
FROM
tbl_risk a
@ -310,7 +332,11 @@
d.description,
a.classify_name hiddenDangerType,
c.danger_type_name dangerTypeName,
d.risk_grade riskGrade,
CASE
WHEN d.risk_grade = 1 THEN '一般隐患'
WHEN d.risk_grade = 2 THEN '严重隐患'
ELSE ''
END AS riskGrade,
a.discovered_at discoveredAt,
CASE
WHEN a.examine_status = 1 THEN '待审核'

Loading…
Cancel
Save