From 39865553662f4e6ed909727547eeadfdab5a9462 Mon Sep 17 00:00:00 2001 From: liuyiliang Date: Sun, 23 Mar 2025 23:23:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=BC=81=E4=B8=80=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccic/safeliab/dao/ExamScouresMapper.java | 3 + .../ccic/safeliab/dao/ServiceStatMapper.java | 27 ++- .../safeliab/service/ExamScouresService.java | 13 ++ .../service/ExamScouresServiceImpl.java | 16 ++ .../safeliab/service/ExamServiceImpl.java | 15 +- .../safeliab/service/StatisticsService.java | 9 + .../service/StatisticsServiceImpl.java | 88 ++++--- .../ccic/safeliab/support/BaseService.java | 2 + .../safeliab/support/BaseServiceImpl.java | 44 +++- .../safeliab/vo/AccidentPreventionVO.java | 20 ++ .../java/com/ccic/safeliab/vo/CustomerVO.java | 3 +- .../safeliab/vo/EnterpriseArchivesVO.java | 31 +++ .../safeliab/vo/HazardInvestigationVO.java | 18 ++ .../safeliab/vo/HiveClaimStatisticsVO.java | 15 ++ .../ccic/safeliab/vo/PolicyStatisticsVO.java | 19 ++ .../ccic/safeliab/vo/ServiceStatisticsVO.java | 22 ++ .../com/ccic/safeliab/vo/UserAnswersVO.java | 2 +- .../safeliab/web/StatisticsController.java | 31 ++- .../resources/mappers/ExamScouresMapper.xml | 17 ++ .../resources/mappers/ServiceStatMapper.xml | 219 ++++++++++++++++++ 20 files changed, 567 insertions(+), 47 deletions(-) create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresService.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresServiceImpl.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/AccidentPreventionVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/EnterpriseArchivesVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/HazardInvestigationVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/HiveClaimStatisticsVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/PolicyStatisticsVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatisticsVO.java create mode 100644 ccic-exam/src/main/resources/mappers/ExamScouresMapper.xml diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamScouresMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamScouresMapper.java index dc3111a..c6e6e93 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamScouresMapper.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamScouresMapper.java @@ -18,6 +18,7 @@ package com.ccic.safeliab.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ccic.safeliab.entity.ExExamScoures; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * Mapper 接口 @@ -27,4 +28,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ExamScouresMapper extends BaseMapper { + Integer getLeadValue(@Param("examId") Long examId, @Param("paperId") Long paperId, @Param("totalScore") Integer totalScore); + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ServiceStatMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ServiceStatMapper.java index 148d755..35ae76d 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ServiceStatMapper.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ServiceStatMapper.java @@ -16,12 +16,14 @@ package com.ccic.safeliab.dao; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ccic.safeliab.entity.*; import com.ccic.safeliab.excel.ServiceStatExcel; -import com.ccic.safeliab.vo.ServiceStatVO; +import com.ccic.safeliab.vo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * Mapper 接口 @@ -31,7 +33,30 @@ import java.util.List; @Mapper public interface ServiceStatMapper { + List selectServiceCustomerPage(IPage page, @Param("customer") CustomerVO customerVO); + List selectPage(IPage page, @Param("policy") ServiceStatVO serviceStatVO); List selectExport(@Param("policy") ServiceStatVO serviceStatVO); + + List getOrganByParam(@Param("map") Map map); + + EnterpriseArchivesVO getCustomerStatistics(@Param("customerId") Long customerId); + + List getPolicyStatistics(@Param("customerId") Long customerId); + + List getHivePolicyCoverageStatistics(@Param("policyNumber") String policyNumber); + + List getHivePolicyInnerCoInsurerStatistics(@Param("policyNumber") String policyNumber); + + List getHiveClaimStatistics(@Param("customerId") Long customerId); + + List selectPolicyByService(@Param("customerId") Long customerId); + + List getAccidentPreventionStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber); + + List getRiskStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber); + + List getHazardInvestigationStatistics(@Param("customerId") Long customerId, @Param("policyNumber") String policyNumber); + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresService.java new file mode 100644 index 0000000..13d65c6 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresService.java @@ -0,0 +1,13 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.entity.ExExamScoures; +import com.ccic.safeliab.support.BaseService; + +/** + * 服务类 + * + * @author edwong + */ +public interface ExamScouresService extends BaseService { + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresServiceImpl.java new file mode 100644 index 0000000..41cba89 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamScouresServiceImpl.java @@ -0,0 +1,16 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.dao.ExamScouresMapper; +import com.ccic.safeliab.entity.ExExamScoures; +import com.ccic.safeliab.support.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + * + * @author edwong + */ +@Service +public class ExamScouresServiceImpl extends BaseServiceImpl implements ExamScouresService { + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamServiceImpl.java index 8462cc8..a60b874 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamServiceImpl.java @@ -53,6 +53,9 @@ public class ExamServiceImpl implements ExamService { @Autowired private AnswersService answersService; + @Autowired + private ExamScouresService examScouresService; + @Autowired private ExamScouresMapper examScouresMapper; @@ -90,12 +93,14 @@ public class ExamServiceImpl implements ExamService { examPageDataVO.setTotalScore(examPapers.getTotalScore()); examPageDataVO.setExamDuration(examPapers.getExamDuration()); examPageDataVO.setPaperContent(examPapers.getPaperContent()); + examPageDataVO.setQuestionCount(examPapers.getQuestionCount()); examPageDataVO.setQuestionCategoriesList(pageQuestionCategoriesList); return R.ok().data(examPageDataVO); } @Override public R saveUserAnswers(UserAnswersVO userAnswersVO) { + userAnswersVO.setUserId(Long.parseLong("1")); QueryWrapper answersQueryWrapper = new QueryWrapper<>(); answersQueryWrapper.lambda().eq(ExAnswers::getUserId, userAnswersVO.getUserId()); answersQueryWrapper.lambda().eq(ExAnswers::getExamId, userAnswersVO.getExamId()); @@ -112,6 +117,7 @@ public class ExamServiceImpl implements ExamService { } exAnswers.setUserId(userAnswersVO.getUserId()); exAnswers.setExamId(userAnswersVO.getExamId()); + exAnswers.setPaperId(userAnswersVO.getPaperId()); } } answersService.saveBatch(answersList); @@ -119,9 +125,9 @@ public class ExamServiceImpl implements ExamService { examScouresQueryWrapper.lambda().eq(ExExamScoures::getUserId, userAnswersVO.getUserId()); examScouresQueryWrapper.lambda().eq(ExExamScoures::getExamId, userAnswersVO.getExamId()); examScouresQueryWrapper.lambda().eq(ExExamScoures::getPaperId, userAnswersVO.getPaperId()); - Integer examScouresCount = examScouresMapper.selectCount(examScouresQueryWrapper); + Integer examScouresCount = examScouresService.count(examScouresQueryWrapper); if (examScouresCount > 0) { - examScouresMapper.delete(examScouresQueryWrapper);// 清空历史记录 + examScouresService.remove(examScouresQueryWrapper);// 清空历史记录 } ExExamScoures examScoures = new ExExamScoures(); examScoures.setUserId(userAnswersVO.getUserId()); @@ -129,8 +135,9 @@ public class ExamServiceImpl implements ExamService { examScoures.setExamId(userAnswersVO.getExamId()); examScoures.setTotalScore(totalScore); examScoures.setExamTimeSpent(userAnswersVO.getExamTimeSpent()); - examScouresMapper.insert(examScoures); - return R.ok().data(true); + examScouresService.save(examScoures); + Integer leadValue = examScouresMapper.getLeadValue(userAnswersVO.getExamId(), userAnswersVO.getPaperId(), totalScore); + return R.ok().data(leadValue); } } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java index 96e60db..358189e 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java @@ -18,11 +18,14 @@ package com.ccic.safeliab.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ccic.safeliab.entity.Customer; +import com.ccic.safeliab.entity.Organ; import com.ccic.safeliab.excel.ServiceStatExcel; import com.ccic.safeliab.vo.CustomerVO; +import com.ccic.safeliab.vo.EnterpriseArchivesVO; import com.ccic.safeliab.vo.ServiceStatVO; import java.util.List; +import java.util.Map; /** @@ -37,4 +40,10 @@ public interface StatisticsService { IPage findServiceStatPage(ServiceStatVO serviceStatVO, int page, int num); List findServiceStatAll(ServiceStatVO serviceStatVO); + + List getOrganByParam(Map param); + + EnterpriseArchivesVO getEnterpriseArchives(Long customerId ); + + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java index 3333dc3..7b6123b 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java @@ -15,23 +15,19 @@ */ package com.ccic.safeliab.service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ccic.safeliab.dao.ServiceStatMapper; -import com.ccic.safeliab.entity.Customer; -import com.ccic.safeliab.entity.Device; -import com.ccic.safeliab.entity.User; +import com.ccic.safeliab.entity.*; import com.ccic.safeliab.excel.ServiceStatExcel; -import com.ccic.safeliab.support.Condition; +import com.ccic.safeliab.exceptionhandler.CcicException; import com.ccic.safeliab.util.CcicUtill; -import com.ccic.safeliab.vo.CustomerRetentionVO; -import com.ccic.safeliab.vo.CustomerVO; -import com.ccic.safeliab.vo.ServiceStatVO; +import com.ccic.safeliab.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -44,33 +40,13 @@ import java.util.Map; @Service public class StatisticsServiceImpl implements StatisticsService { - @Autowired - private ICustomerService customerService; @Autowired private ServiceStatMapper serviceStatMapper; @Override public Page findPage(CustomerVO customer, int page, int num) { - Page iPage = new Page(customer.getPage(), customer.getNum()); - QueryWrapper wrapper = Condition.getQueryWrapper(customer); - if (!StringUtils.isEmpty(customer.getKeyword())) { - // 客户名称与编号过滤 - wrapper.lambda().like(Customer::getCustomerName, customer.getKeyword()) - .or() - .like(Customer::getCustomerNo, customer.getKeyword()); - } - if (!StringUtils.isEmpty(customer.getTypePid())) { - // 归属机构 - wrapper.lambda().eq(Customer::getTypePid, customer.getTypePid()); - } - if (!StringUtils.isEmpty(customer.getTypePid())) { - // 管理分类 - wrapper.lambda().eq(Customer::getTypePid, customer.getTypePid()); - } - wrapper.orderByDesc("changed_at"); - wrapper.orderByDesc("customer_id"); - customerService.page(iPage,wrapper); - + Page iPage = new Page(page, num); + iPage.setRecords(serviceStatMapper.selectServiceCustomerPage(iPage, customer)); return iPage; } @@ -86,4 +62,56 @@ public class StatisticsServiceImpl implements StatisticsService { return serviceStatMapper.selectExport(serviceStatVO); } + @Override + public List getOrganByParam(Map param) { + String organId = CcicUtill.checkStr(param.get("organId")); + if (StringUtils.isEmpty(organId)) { + throw new CcicException(500, "organId不能为空"); + } + return serviceStatMapper.getOrganByParam(param); + } + + @Override + public EnterpriseArchivesVO getEnterpriseArchives(Long customerId) { + // 获取企业档案 + EnterpriseArchivesVO archives = serviceStatMapper.getCustomerStatistics(customerId); + // 保单记录 + List policyStatisticsList = serviceStatMapper.getPolicyStatistics(customerId); + if (policyStatisticsList != null && policyStatisticsList.size() > 0) { + for (PolicyStatisticsVO policyStatistics : policyStatisticsList) { + // 保单号 + String policyNo = policyStatistics.getPolicyNumber(); + // 责任条款 + List hivePolicyCoverageList = serviceStatMapper.getHivePolicyCoverageStatistics(policyNo); + policyStatistics.setPolicyCoverageList(hivePolicyCoverageList); + // 联保信息 + List hivePolicyInnerCoInsurerList = serviceStatMapper.getHivePolicyInnerCoInsurerStatistics(policyNo); + policyStatistics.setHivePolicyInnerCoInsurerList(hivePolicyInnerCoInsurerList); + } + } + archives.setPolicyList(policyStatisticsList); + + // 理赔记录 + List hiveClaimStatisticsList = serviceStatMapper.getHiveClaimStatistics(customerId); + archives.setHiveClaimStatisticsList(hiveClaimStatisticsList); + + // 服务记录 + List serviceList = serviceStatMapper.selectPolicyByService(customerId); + if (serviceList != null && serviceList.size() > 0) { + for (ServiceStatisticsVO serviceStat : serviceList) { + // 事故预防服务 + List accidentPreventionList = serviceStatMapper.getAccidentPreventionStatistics(customerId, serviceStat.getPolicyNumber()); + serviceStat.setAccidentPreventionList(accidentPreventionList); + // 风险辨识 + List riskList = serviceStatMapper.getRiskStatistics(customerId, serviceStat.getPolicyNumber()); + serviceStat.setRiskList(riskList); + // 隐患排查 + List hazardInvestigationList = serviceStatMapper.getHazardInvestigationStatistics(customerId, serviceStat.getPolicyNumber()); + serviceStat.setHazardInvestigationList(hazardInvestigationList); + } + } + archives.setServiceStatisticsList(serviceList); + + return archives; + } } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java index 2631f29..193f28a 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java @@ -6,4 +6,6 @@ import java.util.List; public interface BaseService extends IService { boolean deleteLogic(List ids); + + boolean saveBatch(List list); } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java index 1871e39..3f66ea5 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java @@ -1,28 +1,33 @@ package com.ccic.safeliab.support; - -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ccic.safeliab.entity.BaseEntity; import com.ccic.safeliab.entity.Customer; +import com.ccic.safeliab.util.JwtUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import java.util.Collection; +import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @Validated public class BaseServiceImpl, T extends BaseEntity> extends ServiceImpl implements BaseService { + + @Autowired + public HttpServletRequest request; + public BaseServiceImpl() { } public boolean save(T entity) { - Customer user = new Customer(); - user.setCustomerId(Long.parseLong("3009473735814009")); - if (user != null) { - entity.setCreatedBy(user.getCustomerId()); - entity.setUpdatedBy(user.getCustomerId()); + + String id = JwtUtils.getMemberIdByJwtToken(request, "id"); + if (StringUtils.isNotEmpty(id)) { + entity.setCreatedBy(Long.parseLong(id)); + entity.setUpdatedBy(Long.parseLong(id)); } Date now = new Date(); @@ -50,4 +55,27 @@ public class BaseServiceImpl, T extends BaseEntity> exte return baseMapper.deleteBatchIds(ids) > 0; } + @Override + public boolean saveBatch(List list) { + if (list == null || list.isEmpty()) { + return false; + } + String id = JwtUtils.getMemberIdByJwtToken(request, "id"); + Date now = new Date(); + for (T entity : list) { + if (entity != null) { + entity.setCreatedBy(Long.parseLong(id)); + entity.setUpdatedBy(Long.parseLong(id)); + entity.setCreatedAt(now); + entity.setUpdatedAt(now); + if (entity.getStatus() == null) { + entity.setStatus(1); + } + entity.setIsDeleted(0); + } + } + return super.saveBatch(list); + } + + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/AccidentPreventionVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/AccidentPreventionVO.java new file mode 100644 index 0000000..5ee8dfb --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/AccidentPreventionVO.java @@ -0,0 +1,20 @@ +package com.ccic.safeliab.vo; + +import lombok.Data; + +@Data +public class AccidentPreventionVO { + + private String completedAt; + + private String serviceName; + + private String serviceObjectName; + + private String serviceRange; + + private String executedOrganName; + + private String uploadStatus; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java index c4998a6..0a3d1ec 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java @@ -8,7 +8,6 @@ public class CustomerVO extends Customer { private String keyword; - private Integer page; + private String insuranceId; - private Integer num; } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/EnterpriseArchivesVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/EnterpriseArchivesVO.java new file mode 100644 index 0000000..c77b9c4 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/EnterpriseArchivesVO.java @@ -0,0 +1,31 @@ +package com.ccic.safeliab.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class EnterpriseArchivesVO { + + // 企业基本信息 + private String customerNo; + private String typeName; + private String socialCreditCode; + private String legalPerson; + private String contacts; + private String email; + private String contactsPhone; + private String typePname; + private String businessScope; + private String orgRegistrationAddress; + + // 保单记录 + private List policyList; + + // 理赔记录 + private List hiveClaimStatisticsList; + + // 服务记录 + private List serviceStatisticsList; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/HazardInvestigationVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/HazardInvestigationVO.java new file mode 100644 index 0000000..71ca5bb --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/HazardInvestigationVO.java @@ -0,0 +1,18 @@ +package com.ccic.safeliab.vo; + +import lombok.Data; + +@Data +public class HazardInvestigationVO { + + private String hiddenNumber; + private String description; + // 隐患类型 + private String hiddenDangerType; + private String dangerTypeName; + private String riskGrade; + private String discoveredAt; + // 整改状态 + private String correctionStatus; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/HiveClaimStatisticsVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/HiveClaimStatisticsVO.java new file mode 100644 index 0000000..93b16d3 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/HiveClaimStatisticsVO.java @@ -0,0 +1,15 @@ +package com.ccic.safeliab.vo; + +import com.ccic.safeliab.entity.HiveClaim; +import lombok.Data; + +@Data +public class HiveClaimStatisticsVO extends HiveClaim { + +// // 定损信息 +// private List lossAssessmentList; +// +// // 陪付信息 +// private List accompanyPaymentList; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/PolicyStatisticsVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/PolicyStatisticsVO.java new file mode 100644 index 0000000..f46ab99 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/PolicyStatisticsVO.java @@ -0,0 +1,19 @@ +package com.ccic.safeliab.vo; + +import com.ccic.safeliab.entity.HivePolicyCoverage; +import com.ccic.safeliab.entity.HivePolicyInnerCoInsurer; +import com.ccic.safeliab.entity.Policy; +import lombok.Data; + +import java.util.List; + +@Data +public class PolicyStatisticsVO extends Policy { + + // 责任条款 + private List policyCoverageList; + + // 联保信息 + private List hivePolicyInnerCoInsurerList; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatisticsVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatisticsVO.java new file mode 100644 index 0000000..5394998 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/ServiceStatisticsVO.java @@ -0,0 +1,22 @@ +package com.ccic.safeliab.vo; + +import com.ccic.safeliab.entity.Risk; +import lombok.Data; + +import java.util.List; + +@Data +public class ServiceStatisticsVO { + + private String policyNumber; + + // 事故预防服务 + private List accidentPreventionList; + + // 风险辨识 + private List riskList; + + // 隐患排查 + private List hazardInvestigationList; + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/UserAnswersVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/UserAnswersVO.java index ea3ed36..c0e3e4b 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/vo/UserAnswersVO.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/UserAnswersVO.java @@ -16,7 +16,7 @@ public class UserAnswersVO { private Long userId; /** - * 试卷id + * 考試id */ @JsonFormat(shape = JsonFormat.Shape.STRING) private Long examId; diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java index 0f70c6d..e605272 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java @@ -2,9 +2,11 @@ package com.ccic.safeliab.web; import com.alibaba.excel.EasyExcel; import com.ccic.safeliab.entity.ExCustomerRetention; +import com.ccic.safeliab.entity.Organ; import com.ccic.safeliab.excel.ServiceStatExcel; import com.ccic.safeliab.service.CustomerRetService; import com.ccic.safeliab.service.StatisticsService; +import com.ccic.safeliab.util.CcicUtill; import com.ccic.safeliab.util.R; import com.ccic.safeliab.vo.CustomerRetentionVO; import com.ccic.safeliab.vo.CustomerVO; @@ -12,6 +14,7 @@ import com.ccic.safeliab.vo.ServiceStatVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.Charsets; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -19,6 +22,7 @@ import java.io.IOException; import java.net.URLEncoder; import java.util.Date; import java.util.List; +import java.util.Map; /** * 客户统计控制器 @@ -28,7 +32,7 @@ import java.util.List; @Slf4j @RestController @RequestMapping("/ex/statistics") -public class StatisticsController { +public class StatisticsController extends BaseController{ @Autowired private StatisticsService statisticsService; @@ -96,4 +100,29 @@ public class StatisticsController { log.error("exportServiceStatList, error message:" + e.getMessage()); } } + + @GetMapping("/getOrganByOrganId") + public R getOrganByParam(@RequestParam Map param) { + String organId = CcicUtill.checkStr(param.get("organId")); + if (StringUtils.isEmpty(organId)) { + param.put("organId", getUserMsg().getOrganId()); + } + List list = statisticsService.getOrganByParam(param); + if (list == null || list.size() <= 0) { + return R.ok().message("没有数据"); + } + return R.ok().data(list); + } + + /** + * 一企一档 + * @param customerId + * @return + */ + @GetMapping("/enterpriseArchives") + public R enterpriseArchives(@RequestParam Long customerId) { + return R.ok().data(statisticsService.getEnterpriseArchives(customerId)); + } + + } diff --git a/ccic-exam/src/main/resources/mappers/ExamScouresMapper.xml b/ccic-exam/src/main/resources/mappers/ExamScouresMapper.xml new file mode 100644 index 0000000..e53d470 --- /dev/null +++ b/ccic-exam/src/main/resources/mappers/ExamScouresMapper.xml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/ccic-exam/src/main/resources/mappers/ServiceStatMapper.xml b/ccic-exam/src/main/resources/mappers/ServiceStatMapper.xml index d6f000f..177b8a4 100644 --- a/ccic-exam/src/main/resources/mappers/ServiceStatMapper.xml +++ b/ccic-exam/src/main/resources/mappers/ServiceStatMapper.xml @@ -3,6 +3,14 @@ + + + + + + + + @@ -18,6 +26,10 @@ + + + + SELECT p.policy_id, @@ -99,6 +111,33 @@ + + + + + + + + + + + + + + + + + + + + + + +