multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StandingBookController.java
@@ -3,7 +3,6 @@ import com.gkhy.exam.common.annotation.RepeatSubmit; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.system.domain.Correction; import com.gkhy.exam.system.domain.StandingBook; import com.gkhy.exam.system.service.StandingBookService; import io.swagger.annotations.Api; multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StatisticsController.java
对比新文件 @@ -0,0 +1,33 @@ package com.gkhy.exam.admin.controller.web; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.system.service.StatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/system/statistics") @Api(tags = "统计管理") public class StatisticsController { @Autowired private StatisticsService statisticsService; @ApiOperation(value = "企业的基本情况") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = true, value = "公司id"), @ApiImplicitParam(paramType = "query", name = "year", dataType = "String", required = true, value = "年") }) @GetMapping("/getCompanyStatistics") public CommonResult getCompanyStatistics(@RequestParam Integer companyId , @RequestParam String year){ return CommonResult.success(statisticsService.getCompanyStatistics(companyId, year)); } } multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualReport.java
@@ -28,6 +28,10 @@ @TableField("company_id") private Integer companyId; @ApiModelProperty(value = "年度") @TableField("year") private String year; @ApiModelProperty(value = "企业名称") @TableField(exist = false) private String companyName; multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualVerificationDevice.java
@@ -11,6 +11,8 @@ import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotNull; /** * <p> * 年度检定计划设备表 @@ -70,6 +72,11 @@ @TableField("status") private String status; @ApiModelProperty("类型1软件2硬件") @NotNull(message = "类型不能为空") @TableField("plan_type") private Integer planType; @ApiModelProperty("删除标志(0为删除,1删除,默认0)") @TableField("del_flag") private Integer delFlag; multi-system/src/main/java/com/gkhy/exam/system/domain/CompanyCertificate.java
@@ -4,15 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; @Getter @Setter @@ -44,6 +43,11 @@ @TableField("effective_time") private LocalDateTime effectiveTime; @ApiModelProperty(value = "企业证书获取时间") @TableField("get_time") @NotNull(message = "获取时间不能为空") private LocalDateTime getTime; @ApiModelProperty(value = "证书名称") @TableField("file_name") private String fileName; multi-system/src/main/java/com/gkhy/exam/system/domain/CompanySummary.java
@@ -12,7 +12,6 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; @Getter @Setter @@ -37,6 +36,35 @@ @TableField("company_summary") private String companySummary; @ApiModelProperty(value = "企业类型1民营2私营3企事业单位") @TableField("company_type") private Integer companyType; @ApiModelProperty(value = "行业") @TableField("industry") private String industry; @ApiModelProperty(value = "法人编号") @TableField("legal_person_code") private String legalPersonCode; @ApiModelProperty(value = "法人代表") @TableField("legal_person") private String legalPerson; @ApiModelProperty(value = "注册资本") @TableField("registered_capital") private String registeredCapital; @ApiModelProperty(value = "总办公地址") @TableField("office_address") private String officeAddress; @ApiModelProperty(value = "其他分场所地址") @TableField("other_address") private String otherAddress; @ApiModelProperty(value = "营业执照") @TableField("file_path") private String filePath; multi-system/src/main/java/com/gkhy/exam/system/domain/ContractLedger.java
@@ -42,6 +42,10 @@ @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate signDate; @ApiModelProperty(value = "交付0否1是") @TableField("deliver") private Integer deliver; @TableField("del_flag") private Integer delFlag; multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java
@@ -14,7 +14,7 @@ @Getter @Setter @TableName("InternalAuditCheckCatalogue") @TableName("internal_audit_check_catalogue") @ApiModel(value = "internalAuditCheckCatalogue对象", description = "内审检查标准款项") public class InternalAuditCheckCatalogue implements Serializable { multi-system/src/main/java/com/gkhy/exam/system/domain/QualityTarget.java
@@ -84,6 +84,7 @@ @TableField("update_time") private LocalDateTime updateTime; @TableField(exist = false) private List<QualityTargetMess> qualityTargetMesses; multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedTemplate.java
@@ -38,7 +38,7 @@ @NotBlank(message = "模板名称不可为空") private String templateName; @ApiModelProperty(value = "类型1体系标准2技术标准3应用标准4程序文件5作业指导书6记录及表单7技术类8生产类9其他知识产权10程序文件模块") @ApiModelProperty(value = "类型1体系标准2技术标准3应用标准4程序文件5作业指导书6记录及表单7技术类8生产类9其他知识产权10程序文件模块11记录表单模块") @TableField("template_type") @NotNull(message = "类型不可为空") private Integer templateType; @@ -64,6 +64,9 @@ @TableField(exist = false) private String industryTypeName; @TableField("department") private String department; @ApiModelProperty(value = "文件路径") @TableField("file_path") @NotBlank(message = "文件路径不可为空") multi-system/src/main/java/com/gkhy/exam/system/domain/req/EmployeeRecordReq.java
@@ -29,4 +29,9 @@ @ApiModelProperty("职称1、初级2中级3高级") private String positional; @ApiModelProperty("开始时间") private String startTime; @ApiModelProperty("结束时间") private String endTime; } multi-system/src/main/java/com/gkhy/exam/system/domain/vo/statistic/CompanyCertificateVO.java
对比新文件 @@ -0,0 +1,27 @@ package com.gkhy.exam.system.domain.vo.statistic; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel("企业证书统计") public class CompanyCertificateVO { @ApiModelProperty(value = "企业资质证书名称") private String certificateName; @ApiModelProperty(value = "企业资质证书编号") private String certificateNum; @ApiModelProperty(value = "企业证书有效期") private LocalDateTime effectiveTime; @ApiModelProperty(value = "企业证书获取时间") private LocalDateTime getTime; } multi-system/src/main/java/com/gkhy/exam/system/domain/vo/statistic/CompanyResources.java
对比新文件 @@ -0,0 +1,20 @@ //package com.gkhy.exam.system.domain.vo.statistic; // //import io.swagger.annotations.ApiModel; //import io.swagger.annotations.ApiModelProperty; //import lombok.Data; // //@Data //@ApiModel("企业资源和能力情况") //public class CompanyResources { // // @ApiModelProperty("计算机总数") // private Integer computerTotal; // @ApiModelProperty("其他办公设备") // private Integer otherOfficeEquipment; // @ApiModelProperty("生产设备") // private Integer productionEquipment; // @ApiModelProperty("检测设备") // private Integer detectionEquipment; // //} multi-system/src/main/java/com/gkhy/exam/system/domain/vo/statistic/CompanyStatisticsVo.java
对比新文件 @@ -0,0 +1,102 @@ package com.gkhy.exam.system.domain.vo.statistic; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel("企业的基本情况统计") public class CompanyStatisticsVo { @ApiModelProperty(value = "企业ID") private Integer companyId; @ApiModelProperty(value = "企业名称") private String companyName; @ApiModelProperty(value = "企业类型1民营2私营3企事业单位") private Integer companyType; @ApiModelProperty(value = "行业") private String industry; @ApiModelProperty(value = "法人编号") private String legalPersonCode; @ApiModelProperty(value = "法人代表") private String legalPerson; @ApiModelProperty(value = "注册资本") private String registeredCapital; @ApiModelProperty(value = "总办公地址") private String officeAddress; @ApiModelProperty(value = "其他分场所地址") private String otherAddress; @ApiModelProperty(value = "员工总数") private Integer totalEmployee; @ApiModelProperty(value = "专业技术人员") private Integer professionalEmployee; @ApiModelProperty(value = "企业证书列表") List<CompanyCertificateVO> companyCertificateVOList; @ApiModelProperty("2)计算机总数") private Integer computerTotal; @ApiModelProperty("2)其他办公设备数量") private Integer otherOfficeEquipment; @ApiModelProperty("2)生产设备数量") private Integer productionEquipment; @ApiModelProperty("2)检测设备数量") private Integer detectionEquipment; @ApiModelProperty("3)质量方针内容") private String companyQualityPolicy; @ApiModelProperty("3)年份") private String year; @ApiModelProperty("3)公司质量目标内容") private List<String> companyQualityTarget; @ApiModelProperty("4)合同数量") private Integer contractLedger; @ApiModelProperty("4)已交付合同") private Integer deliveredContract; @ApiModelProperty("4)满意度") private String sumSatisficing; @ApiModelProperty("4)专利数量") private Integer patent; @ApiModelProperty("5)培训计划") private String trainPlanName; @ApiModelProperty("6)内审不符合数目") private Integer internalAuditCheckResult; @ApiModelProperty("6)管审时间改进项") private Integer conStatisticNum; @ApiModelProperty("7)外包过程") private String outsourcedProduct; @ApiModelProperty(value = "8)员工总数新增数") private Integer totalEmployeeAdd; @ApiModelProperty(value = "8)专业技术人员新增数") private Integer professionalEmployeeAdd; @ApiModelProperty("8)检测设备数量新增数") private Integer detectionEquipmentAdd; @ApiModelProperty("8)培训计划已完成数") private Integer trainPlanCompleted; } multi-system/src/main/java/com/gkhy/exam/system/mapper/CompanySummaryMapper.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gkhy.exam.system.domain.CompanySummary; import com.gkhy.exam.system.domain.vo.statistic.CompanyStatisticsVo; import org.mapstruct.Mapper; import java.util.List; @@ -11,4 +12,6 @@ List<CompanySummary> selectCompanySummaryList(Integer companyId); int updateSummaryById(CompanySummary companySummary); CompanyStatisticsVo selectCompanyStatistics(Integer companyId); } multi-system/src/main/java/com/gkhy/exam/system/mapper/ContinuousImproveMapper.java
@@ -14,4 +14,6 @@ List<ContinuousImprove> selectByCompanyId(ContinuousImprove continuousImprove); ContinuousImprove selectListById(@Param("improveId") Integer improveId); int getConStatistic(@Param("companyId") Integer companyId, @Param("year") String year); } multi-system/src/main/java/com/gkhy/exam/system/mapper/EmployeeRecordMapper.java
@@ -20,5 +20,5 @@ public interface EmployeeRecordMapper extends BaseMapper<EmployeeRecord> { List<EmployeeRecordVO> selectEmployeeRecordList(EmployeeRecordReq req); List<EmployeeRecord> getEmployeeRecordList(Long companyId); List<EmployeeRecordVO> getEmployeeRecordList(Long companyId); } multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
@@ -20,5 +20,7 @@ public interface InternalAuditCheckMapper extends BaseMapper<InternalAuditCheck> { List<InternalAuditCheck> selectInternalAuditCheckList(@Param("companyId") Integer companyId); int getStatisticData(@Param("companyId") Integer companyId, @Param("startTime") String startTime, @Param("endTime") String endTime); } multi-system/src/main/java/com/gkhy/exam/system/service/StatisticsService.java
对比新文件 @@ -0,0 +1,8 @@ package com.gkhy.exam.system.service; import com.gkhy.exam.system.domain.vo.statistic.CompanyStatisticsVo; public interface StatisticsService { CompanyStatisticsVo getCompanyStatistics(Integer companyId,String year); } multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualReportServiceImpl.java
@@ -1,5 +1,6 @@ package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; @@ -24,8 +25,8 @@ @Override public CommonPage selectAnnualList(AnnualReport annualReport) { if (!SecurityUtils.adminUser()){ if (annualReport.getCompanyId()==null){ if (!SecurityUtils.adminUser()) { if (annualReport.getCompanyId() == null) { throw new ApiException("非管理员操作,企业id不可为空"); } } @@ -36,6 +37,13 @@ @Override public CommonResult insertAnnual(AnnualReport annualReport) { LambdaQueryWrapper<AnnualReport> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AnnualReport::getCompanyId, annualReport.getCompanyId()) .eq(AnnualReport::getYear, annualReport.getYear()) .eq(AnnualReport::getDelFlag, 1); if (annualReportMapper.selectCount(queryWrapper) > 0) { return CommonResult.failed("该年度报表已存在"); } annualReport.setCreateBy(SecurityUtils.getUsername()); annualReport.setCreateTime(LocalDateTime.now()); annualReportMapper.insert(annualReport); @@ -44,6 +52,14 @@ @Override public CommonResult updateAnnual(AnnualReport annualReport) { LambdaQueryWrapper<AnnualReport> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AnnualReport::getCompanyId, annualReport.getCompanyId()) .eq(AnnualReport::getYear, annualReport.getYear()) .eq(AnnualReport::getDelFlag, 1) .ne(AnnualReport::getId, annualReport.getId()); if (annualReportMapper.selectCount(queryWrapper) > 0) { return CommonResult.failed("该年度报表已存在"); } annualReport.setUpdateBy(SecurityUtils.getUsername()); annualReport.setUpdateTime(LocalDateTime.now()); annualReportMapper.updateById(annualReport); multi-system/src/main/java/com/gkhy/exam/system/service/impl/EmployeeRecordServiceImpl.java
@@ -54,7 +54,7 @@ // LambdaQueryWrapper<EmployeeRecord> queryWrapper = new LambdaQueryWrapper<>(); // queryWrapper.eq(EmployeeRecord::getCompanyId, companyId); // queryWrapper.eq(EmployeeRecord::getDelFlag, 0); List<EmployeeRecord> employeeRecords = employeeRecordMapper.getEmployeeRecordList(companyId); List<EmployeeRecordVO> employeeRecords = employeeRecordMapper.getEmployeeRecordList(companyId); return CommonResult.success(employeeRecords); } } multi-system/src/main/java/com/gkhy/exam/system/service/impl/QualityEconomyServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.exception.ApiException; import com.gkhy.exam.common.utils.PageUtils; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.QualityEconomy; @@ -25,7 +26,7 @@ public CommonPage selectQualityEconomyList(QualityEconomy qualityEconomy) { if (!SecurityUtils.adminUser()){ if (qualityEconomy.getCompanyId()==null){ throw new RuntimeException("非管理员操作,查询条件不可为空"); throw new ApiException("非管理员操作,查询条件不可为空"); } } PageUtils.startPage(); multi-system/src/main/java/com/gkhy/exam/system/service/impl/QualityInformationExteriorServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.exception.ApiException; import com.gkhy.exam.common.utils.PageUtils; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.QualityInformationExterior; @@ -24,7 +25,7 @@ public CommonPage selectQualityInformationExteriorList(QualityInformationExterior qualityInformationExterior) { if (!SecurityUtils.adminUser()){ if (qualityInformationExterior.getCompanyId()==null){ throw new RuntimeException("非管理员操作,查询条件不可为空"); throw new ApiException("非管理员操作,查询条件不可为空"); } } PageUtils.startPage(); multi-system/src/main/java/com/gkhy/exam/system/service/impl/StatisticsServiceImpl.java
对比新文件 @@ -0,0 +1,216 @@ package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gkhy.exam.common.exception.ApiException; import com.gkhy.exam.system.domain.*; import com.gkhy.exam.system.domain.req.EmployeeRecordReq; import com.gkhy.exam.system.domain.vo.EmployeeRecordVO; import com.gkhy.exam.system.domain.vo.statistic.CompanyStatisticsVo; import com.gkhy.exam.system.mapper.*; import com.gkhy.exam.system.service.StatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Service public class StatisticsServiceImpl implements StatisticsService { @Autowired private CompanySummaryMapper companySummaryMapper; @Autowired private EmployeeRecordMapper employeeRecordMapper; @Autowired private StandingBookMapper standingBookMapper; @Autowired private AnnualVerificationPlanMapper annualVerificationPlanMapper; @Autowired private AnnualVerificationDeviceMapper annualVerificationDeviceMapper; @Autowired private CompanyQualityPolicyMapper companyQualityPolicyMapper; @Autowired private QualityMapper qualityMapper; @Autowired private QualityTargetMapper qualityTargetMapper; @Autowired private ContractLedgerMapper contractLedgerMapper; @Autowired private AnnualReportMapper annualReportMapper; @Autowired private InternalKnowledgeMapper internalKnowledgeMapper; @Autowired private TrainPlanMapper trainPlanMapper; @Autowired private InternalAuditCheckMapper internalAuditCheckMapper; @Autowired private ContinuousImproveMapper continuousImproveMapper; @Autowired private OutsourcedProductMapper outsourcedProductMapper; @Override public CompanyStatisticsVo getCompanyStatistics(Integer companyId, String year) { String yearBegin = year + "-01-01 00:00:00"; String yearEnd = year + "-12-31 23:59:59"; CompanyStatisticsVo companyStatisticsVo = companySummaryMapper.selectCompanyStatistics(companyId); if (companyStatisticsVo == null) { return companyStatisticsVo; } companyStatisticsVo.setYear(year); EmployeeRecordReq req = new EmployeeRecordReq(); req.setCompanyId(companyId.longValue()); List<EmployeeRecordVO> sysUsers = employeeRecordMapper.selectEmployeeRecordList(req); int totalUser = sysUsers.size(); long countJS = sysUsers.stream() .filter(user -> user.getPersonType() != null) .filter(user -> user.getPersonType() == 1) // 技术类 .count(); companyStatisticsVo.setTotalEmployee(totalUser); companyStatisticsVo.setProfessionalEmployee( countJS > 0 ? (int) countJS : 0 ); //企业资源和能力情况 LambdaQueryWrapper<StandingBook> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(StandingBook::getCompanyId, companyId); queryWrapper.eq(StandingBook::getDelFlag, 0); List<StandingBook> standingBooks = standingBookMapper.selectList(queryWrapper); //计算计算机总数 long computerTotal = standingBooks.stream() .filter(st -> st.getDeviceType() != null) .filter(st -> st.getDeviceType() == 1) .count(); //生成设备 long productionEquipment = standingBooks.stream() .filter(st -> st.getDeviceType() != null) .filter(st -> st.getDeviceType() == 5) .count(); companyStatisticsVo.setComputerTotal(computerTotal > 0 ? (int) computerTotal : 0); companyStatisticsVo.setProductionEquipment(productionEquipment > 0 ? (int) productionEquipment : 0); companyStatisticsVo.setOtherOfficeEquipment(standingBooks.size() - (int) computerTotal - (int) productionEquipment); LambdaQueryWrapper<AnnualVerificationPlan> queryWrapper1 = new LambdaQueryWrapper<>(); queryWrapper1.eq(AnnualVerificationPlan::getCompanyId, companyId).eq(AnnualVerificationPlan::getDelFlag, 0).eq(AnnualVerificationPlan::getYear, year); List<AnnualVerificationPlan> annualVerificationPlans = annualVerificationPlanMapper.selectList(queryWrapper1); if (!annualVerificationPlans.isEmpty()) { AnnualVerificationPlan annualVerificationPlan = annualVerificationPlans.get(0); LambdaQueryWrapper<AnnualVerificationDevice> queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(AnnualVerificationDevice::getAnnualVerificationId, annualVerificationPlan.getId()).eq(AnnualVerificationDevice::getDelFlag, 0).eq(AnnualVerificationDevice::getPlanType, 2); List<AnnualVerificationDevice> annualVerificationDevices = annualVerificationDeviceMapper.selectList(queryWrapper2); companyStatisticsVo.setDetectionEquipment(annualVerificationDevices.size()); queryWrapper2.between(AnnualVerificationDevice::getCreateTime, yearBegin, yearEnd); List<AnnualVerificationDevice> annualVerificationDevices1 = annualVerificationDeviceMapper.selectList(queryWrapper2); companyStatisticsVo.setDetectionEquipmentAdd(annualVerificationDevices1.size()); } else { companyStatisticsVo.setDetectionEquipment(0); } LambdaQueryWrapper<CompanyQualityPolicy> queryWrapper3 = new LambdaQueryWrapper<>(); queryWrapper3.eq(CompanyQualityPolicy::getCompanyId, companyId).eq(CompanyQualityPolicy::getDelFlag, 1); List<CompanyQualityPolicy> qualities = companyQualityPolicyMapper.selectList(queryWrapper3); if (!qualities.isEmpty()) { companyStatisticsVo.setCompanyQualityPolicy(qualities.get(0).getPolicy()); } LambdaQueryWrapper<Quality> queryWrapper4 = new LambdaQueryWrapper<>(); queryWrapper4.eq(Quality::getCompanyId, companyId).eq(Quality::getDelFlag, 1).eq(Quality::getYear, year); List<Quality> qualities1 = qualityMapper.selectList(queryWrapper4); if (!qualities1.isEmpty()) { LambdaQueryWrapper<QualityTarget> queryWrapper5 = new LambdaQueryWrapper<>(); queryWrapper5.eq(QualityTarget::getQualityId, qualities1.get(0).getId()).eq(QualityTarget::getDelFlag, 1).orderByDesc(QualityTarget::getCreateTime); List<QualityTarget> qualityTargets = qualityTargetMapper.selectList(queryWrapper5); if (!qualityTargets.isEmpty()) { List<String> collect = qualityTargets.stream().map(QualityTarget::getMessage).collect(Collectors.toList()); companyStatisticsVo.setCompanyQualityTarget(collect); } } LambdaQueryWrapper<ContractLedger> queryWrapper6 = new LambdaQueryWrapper<>(); queryWrapper6.eq(ContractLedger::getCompanyId, companyId).eq(ContractLedger::getDelFlag, 1).between(ContractLedger::getSignDate, yearBegin, yearEnd); List<ContractLedger> contractLedgers = contractLedgerMapper.selectList(queryWrapper6); companyStatisticsVo.setContractLedger(contractLedgers.size()); if (!contractLedgers.isEmpty()) { Long count = contractLedgers.stream().filter(contractLedger -> contractLedger.getDeliver() == 1).count(); companyStatisticsVo.setDeliveredContract(count.intValue()); } else { companyStatisticsVo.setDeliveredContract(0); } //满意度 LambdaQueryWrapper<AnnualReport> queryWrapper7 = new LambdaQueryWrapper<>(); queryWrapper7.eq(AnnualReport::getCompanyId, companyId).eq(AnnualReport::getDelFlag, 1).eq(AnnualReport::getYear, year); AnnualReport annualReport = annualReportMapper.selectOne(queryWrapper7); if (annualReport != null) { companyStatisticsVo.setSumSatisficing(annualReport.getSumSatisficing()); } else { companyStatisticsVo.setSumSatisficing("0"); } //只是产权数量 LambdaQueryWrapper<InternalKnowledge> queryWrapper8 = new LambdaQueryWrapper<>(); queryWrapper8.eq(InternalKnowledge::getCompanyId, companyId).eq(InternalKnowledge::getDelFlag, 0) .between(InternalKnowledge::getCreateTime, yearBegin, yearEnd); Long l = internalKnowledgeMapper.selectCount(queryWrapper8); companyStatisticsVo.setPatent(l.intValue()); //培训计划名称 LambdaQueryWrapper<TrainPlan> queryWrapper9 = new LambdaQueryWrapper<>(); queryWrapper9.eq(TrainPlan::getCompanyId, companyId).eq(TrainPlan::getDelFlag, 1).between(TrainPlan::getTrainTime, yearBegin, yearEnd); List<TrainPlan> trainPlans = trainPlanMapper.selectList(queryWrapper9); if (!trainPlans.isEmpty()) { String courseNames = trainPlans.stream() .map(TrainPlan::getTrainName) .collect(Collectors.joining(",")); companyStatisticsVo.setTrainPlanName(courseNames); } //内审检查不符合 int statisticData = internalAuditCheckMapper.getStatisticData(companyId, yearBegin, yearEnd); companyStatisticsVo.setInternalAuditCheckResult(statisticData); //改进项 int conStatistic = continuousImproveMapper.getConStatistic(companyId, year); companyStatisticsVo.setConStatisticNum(conStatistic); LambdaQueryWrapper<OutsourcedProduct> queryWrapper10 = new LambdaQueryWrapper<>(); queryWrapper10.eq(OutsourcedProduct::getCompanyId, companyId).eq(OutsourcedProduct::getDelFlag, 0) .between(OutsourcedProduct::getCreateTime, yearBegin, yearEnd); List<OutsourcedProduct> outsourcedProducts = outsourcedProductMapper.selectList(queryWrapper10); if (!outsourcedProducts.isEmpty()){ String ps = outsourcedProducts.stream() .map(OutsourcedProduct::getProductName) .collect(Collectors.joining(",")); companyStatisticsVo.setOutsourcedProduct(ps); } req.setCompanyId(companyId.longValue()); req.setStartTime(yearBegin); req.setEndTime(yearEnd); List<EmployeeRecordVO> sysUsersAdd = employeeRecordMapper.selectEmployeeRecordList(req); int totalUserAdd = sysUsersAdd.size(); long countJSAdd = sysUsersAdd.stream() .filter(user -> user.getPersonType() != null) .filter(user -> user.getPersonType() == 1) // 技术类 .count(); companyStatisticsVo.setTotalEmployeeAdd(totalUserAdd); companyStatisticsVo.setProfessionalEmployeeAdd( countJSAdd > 0 ? (int) countJSAdd : 0 ); queryWrapper9.eq(TrainPlan::getStatus, 0); Long l1 = trainPlanMapper.selectCount(queryWrapper9); companyStatisticsVo.setTrainPlanCompleted(l1.intValue()); return companyStatisticsVo; } } multi-system/src/main/resources/mapper/system/AnnualReportMapper.xml
@@ -4,45 +4,49 @@ <select id="selectAnnualList" resultType="com.gkhy.exam.system.domain.AnnualReport"> SELECT ar.`id`, ar.`company_id`, sc.`name` AS company_name, ar.`report_name`, ar.`number`, ar.`dept_id`, sd.dept_name, ar.`end_time`, ar.`grant_amount`, ar.`recycle_amount`, ar.`recycle_rate`, ar.`check_amount`, ar.`year_rate`, ar.`anciently_rate`, ar.`research_satisficing`, ar.`delivery_satisficing`, ar.`sum_satisficing`, ar.`suggest`, ar.`agent_id`, su1.`name` AS agent_name, ar.`dept_user`, su2.`name` AS dept_user_name, ar.`del_flag`, ar.`create_by`, ar.`create_time`, ar.`update_by`, ar.`update_time` ar.`id`, ar.`company_id`, sc.`name` AS company_name, ar.`report_name`, ar.`number`, ar.`dept_id`, sd.dept_name, ar.`end_time`, ar.`grant_amount`, ar.`recycle_amount`, ar.`recycle_rate`, ar.`check_amount`, ar.`year_rate`, ar.`anciently_rate`, ar.`research_satisficing`, ar.`delivery_satisficing`, ar.`sum_satisficing`, ar.`suggest`, ar.`agent_id`, su1.`name` AS agent_name, ar.`dept_user`, su2.`name` AS dept_user_name, ar.`del_flag`, ar.`create_by`, ar.`create_time`, ar.`update_by`, ar.`update_time`, ar.`year` FROM `annual_report` ar LEFT JOIN sys_company sc ON ar.company_id = sc.id LEFT JOIN sys_user su1 ON ar.agent_id = su1.id LEFT JOIN sys_user su2 ON ar.dept_user = su2.id LEFT JOIN sys_dept sd ON ar.dept_id = sd.dept_id `annual_report` ar LEFT JOIN sys_company sc ON ar.company_id = sc.id LEFT JOIN sys_user su1 ON ar.agent_id = su1.id LEFT JOIN sys_user su2 ON ar.dept_user = su2.id LEFT JOIN sys_dept sd ON ar.dept_id = sd.dept_id WHERE ar.del_flag = 1 <if test="companyId!=null"> AND ar.company_id = 24 </if> ar.del_flag = 1 <if test="companyId!=null"> AND ar.company_id = 24 </if> <if test="year!=null"> AND ar.year = #{year} </if> ORDER BY ar.create_time DESC ar.create_time DESC </select> </mapper> multi-system/src/main/resources/mapper/system/CompanyCertificateMapper.xml
@@ -28,6 +28,9 @@ <if test="delFlag != null and delFlag != ''" > del_flag = #{delFlag}, </if> <if test="getTime != null" > get_time = #{getTime}, </if> <if test="createBy != null" > create_by = #{createBy}, </if> @@ -59,7 +62,8 @@ cc.`create_by`, cc.`create_time`, cc.`update_by`, cc.`update_time` cc.`update_time`, cc.get_time FROM company_certificate cc left join sys_company sc on cc.company_id = sc.id multi-system/src/main/resources/mapper/system/CompanySummaryMapper.xml
@@ -13,6 +13,27 @@ <if test="companySummary != null and companySummary !=''" > company_summary = #{companySummary}, </if> <if test="companyType != null " > company_type = #{companyType}, </if> <if test="industry != null and industry != ''" > industry = #{industry}, </if> <if test="legalPersonCode != null and legalPersonCode != ''" > legal_person_code = #{legalPersonCode}, </if> <if test="legalPerson != null and legalPerson != ''" > legal_person = #{legalPerson}, </if> <if test="registeredCapital != null and registeredCapital != ''" > registered_capital = #{registeredCapital}, </if> <if test="officeAddress != null and officeAddress != ''" > office_address = #{officeAddress}, </if> <if test="otherAddress != null and otherAddress != ''" > other_address = #{otherAddress}, </if> <if test="filePath!=null and filePath != ''"> file_path = #{filePath}, </if> @@ -40,26 +61,82 @@ <select id="selectCompanySummaryList" resultType="com.gkhy.exam.system.domain.CompanySummary"> SELECT cs.`id`, cs.`company_id`, sc.`name` as company_name, cs.`company_summary`, cs.file_path, cs.file_name, cs.`del_flag`, cs.`create_by`, cs.`create_time`, cs.`update_by`, cs.`update_time` cs.`id`, cs.`company_id`, sc.`name` as company_name, cs.`company_summary`, cs.file_path, cs.file_name, cs.`del_flag`, cs.`create_by`, cs.`create_time`, cs.`update_by`, cs.`update_time`, cs.company_type, cs.industry, cs.legal_person_code, cs.legal_person, cs.registered_capital, cs.office_address, cs.other_address FROM company_summary cs company_summary cs left join sys_company sc on cs.company_id = sc.id WHERE cs.del_flag = 1 cs.del_flag = 1 <if test="companyId!=null and companyId!=''"> and cs.company_id = #{companyId} </if> ORDER BY cs.create_time DESC cs.create_time DESC </select> <resultMap id="CompanyStatisticsMap" type="com.gkhy.exam.system.domain.vo.statistic.CompanyStatisticsVo"> <result property="companyId" column="company_id"/> <result property="companyName" column="company_name"/> <result property="companyType" column="company_type"/> <result property="industry" column="industry"/> <result property="legalPersonCode" column="legal_person_code"/> <result property="legalPerson" column="legal_person"/> <result property="registeredCapital" column="registered_capital"/> <result property="officeAddress" column="office_address"/> <result property="otherAddress" column="other_address"/> <!-- <result property="totalEmployee" column="total_employee"/>--> <!-- <result property="professionalEmployee" column="professional_employee"/>--> <collection property="companyCertificateVOList" javaType="java.util.List" resultMap="CompanyCertificateVO"/> </resultMap> <resultMap id="CompanyCertificateVO" type="com.gkhy.exam.system.domain.vo.statistic.CompanyCertificateVO"> <result property="certificateName" column="certificate_name"/> <result property="certificateNum" column="certificate_num"/> <result property="effectiveTime" column="effective_time"/> <result property="getTime" column="get_time"/> </resultMap> <select id="selectCompanyStatistics" resultMap="CompanyStatisticsMap" parameterType="int"> SELECT cs.`company_id`, sc.`name` as company_name, cs.company_type, cs.industry, cs.legal_person_code, cs.legal_person, cs.registered_capital, cs.office_address, cs.other_address, cc.certificate_name, cc.certificate_num, cc.effective_time, cc.get_time FROM company_summary cs inner join sys_company sc on cs.company_id = sc.id and sc.del_flag = 0 left join company_certificate cc on cs.company_id = cc.company_id and cc.del_flag = 1 WHERE cs.del_flag = 1 and cs.company_id = #{companyId} </select> </mapper> multi-system/src/main/resources/mapper/system/ContinuousImproveMapper.xml
@@ -90,4 +90,10 @@ ci.del_flag = 0 and ci.id = #{improveId} </select> <select id="getConStatistic" resultType="int"> SELECT count(*) FROM `continuous_improve_plan` aa INNER JOIN continuous_improve bb on aa.improve_id =bb.id where bb.del_flag = 0 and bb.company_id = #{companyId} and bb.`year` = #{year} </select> </mapper> multi-system/src/main/resources/mapper/system/ContractLedgerMapper.xml
@@ -14,7 +14,8 @@ cl.`create_by`, cl.`create_time`, cl.`update_by`, cl.`update_time` cl.`update_time`, cl.`deliver` FROM `contract_ledger` cl LEFT JOIN sys_company sc ON cl.company_id = sc.id multi-system/src/main/resources/mapper/system/EmployeeRecordMapper.xml
@@ -32,10 +32,17 @@ <if test="positional != null"> and aa.positional = #{positional} </if> <if test="startTime != '' and startTime != null" > and aa.create_time >= #{startTime} </if> <if test="endTime != '' and endTime != null" > and aa.create_time <= #{endTime} </if> order by aa.create_time desc </select> <select id="getEmployeeRecordList" parameterType="long" resultType="com.gkhy.exam.system.domain.EmployeeRecord"> resultType="com.gkhy.exam.system.domain.vo.EmployeeRecordVO"> select a.name, aa.employee_id employeeId, aa.user_id userId multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
@@ -33,4 +33,17 @@ resultType="com.gkhy.exam.system.domain.InternalAuditCheckCatalogue"> </select> <select id ="getStatisticData" resultType="int"> select count(*) from internal_audit_check_content aa INNER JOIN internal_audit_check_catalogue bb on aa.check_catalogue_id = bb.id INNER JOIN internal_audit_check cc on bb.check_id = cc.id where aa.del_flag = 0 and bb.del_flag = 0 and cc.del_flag = 0 and aa.result != 1 and cc.company_id = #{companyId} and cc.check_time between #{startTime} and #{endTime} </select> </mapper> multi-system/src/main/resources/mapper/system/StandardizedTemplateMapper.xml
@@ -31,6 +31,9 @@ <if test="deptId !=null"> dept_id = #{deptId}, </if> <if test="department !=null"> department = #{department}, </if> <if test="stage != null and stage != ''"> stage = #{stage}, </if> @@ -104,6 +107,7 @@ st. `update_by`, st. `update_time`, st.industry_type_id, st.`department`, cit.`name` as industryTypeName FROM standardized_template st