/compliance-check 合规检查
parent
b4c52866c2
commit
38c8a976c5
|
|
@ -6,10 +6,12 @@ import io.swagger.annotations.ApiOperation;
|
|||
import io.swagger.annotations.ApiParam;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案变更适配层(Controller)
|
||||
|
|
@ -84,4 +86,10 @@ public class QualFilingChangeController {
|
|||
public SingleResponse<Void> reject(@Validated @RequestBody QualFilingRejectCmd cmd) {
|
||||
return qualFilingChangeApi.reject(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("合规检查")
|
||||
@GetMapping("/compliance-check")
|
||||
public SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return qualFilingChangeApi.complianceCheck(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.qinan.safetyeval.app.executor;
|
|||
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
|
|
@ -21,6 +22,7 @@ import org.springframework.context.annotation.Lazy;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案变更执行器(App层)
|
||||
|
|
@ -154,6 +156,11 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
return SingleResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(Long id) {
|
||||
return SingleResponse.success(qualFilingOrchestrator.complianceCheckChange(id));
|
||||
}
|
||||
|
||||
private QualFilingChangeCO toCO(QualFilingChangeEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@ import org.qinan.safetyeval.client.dto.AggregationSaveOrEditQualFilingCmd;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingModifyCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.domain.change.gateway.QualFilingCommitmentChangeGateway;
|
||||
import org.qinan.safetyeval.domain.change.gateway.QualFilingMaterialChangeGateway;
|
||||
import org.qinan.safetyeval.domain.change.gateway.QualFilingPersonnelChangeGateway;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE;
|
||||
import org.qinan.safetyeval.domain.constant.*;
|
||||
import org.qinan.safetyeval.domain.entity.*;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
|
|
@ -59,6 +63,15 @@ public class QualFilingOrchestrator {
|
|||
@Resource
|
||||
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
||||
|
||||
@Resource
|
||||
private QualFilingPersonnelChangeGateway qualFilingPersonnelChangeGateway;
|
||||
|
||||
@Resource
|
||||
private QualFilingCommitmentChangeGateway qualFilingCommitmentChangeGateway;
|
||||
|
||||
@Resource
|
||||
private QualFilingMaterialChangeGateway qualFilingMaterialChangeGateway;
|
||||
|
||||
@Resource
|
||||
private OrgInfoGateway orgInfoGateway;
|
||||
|
||||
|
|
@ -887,6 +900,145 @@ public class QualFilingOrchestrator {
|
|||
return co;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备案变更合规检查:根据变更ID逐项检查是否满足法规要求
|
||||
*/
|
||||
public List<QualFilingChangeComplianceCheckResultCO> complianceCheckChange(Long changeId) {
|
||||
QualFilingChangeEntity change = qualFilingChangeGateway.get(changeId);
|
||||
if (change == null) {
|
||||
throw new BizException(ErrorCode.QUAL_FILING_NOT_FOUND);
|
||||
}
|
||||
|
||||
List<QualFilingChangeComplianceCheckResultCO> results = new ArrayList<>();
|
||||
|
||||
// 1. 主体资格
|
||||
results.add(checkMainQualificationChange(change));
|
||||
|
||||
// 2. 场所与设备
|
||||
results.add(checkWorkplaceChange(change));
|
||||
|
||||
// 3. 人员数量与结构
|
||||
results.add(checkPersonnelCountChange(changeId));
|
||||
|
||||
// 4. 人员资历
|
||||
results.add(checkPersonnelExperienceChange(changeId));
|
||||
|
||||
// 5. 关键岗位要求(暂默认通过,标记警告)
|
||||
results.add(buildChangeResult(QualFilingComplianceCheckEnum.KEY_POSITION,
|
||||
QualFilingComplianceCheckEnum.STATUS_WARN));
|
||||
|
||||
// 6. 管理体系(暂无法判断,标记警告)
|
||||
results.add(buildChangeResult(QualFilingComplianceCheckEnum.MANAGEMENT_SYSTEM,
|
||||
QualFilingComplianceCheckEnum.STATUS_WARN));
|
||||
|
||||
// 7. 责任承诺
|
||||
results.add(checkCommitmentChange(changeId));
|
||||
|
||||
// 8. 信息公开
|
||||
results.add(checkInfoDisclosureChange(change));
|
||||
|
||||
// 9. 信用记录
|
||||
results.add(checkCreditRecordChange(changeId));
|
||||
|
||||
// 10. 其他
|
||||
results.add(buildChangeResult(QualFilingComplianceCheckEnum.OTHER,
|
||||
QualFilingComplianceCheckEnum.STATUS_PASS));
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* 主体资格:固定资产 >= 1000万元
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkMainQualificationChange(QualFilingChangeEntity change) {
|
||||
boolean pass = change.getFixedAssetAmount() != null
|
||||
&& change.getFixedAssetAmount() >= 1_000_000_000L;
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.MAIN_QUALIFICATION,
|
||||
pass ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 场所与设备:工作场所建筑面积 >= 1000㎡
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkWorkplaceChange(QualFilingChangeEntity change) {
|
||||
boolean pass = change.getWorkplaceArea() != null
|
||||
&& change.getWorkplaceArea()
|
||||
.compareTo(new BigDecimal(QualFilingComplianceCheckEnum.WORKPLACE_LOWER)) >= 0;
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.WORKPLACE,
|
||||
pass ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员数量与结构:专职技术人员 >= 25人,中级注安师 >= 30%
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkPersonnelCountChange(Long filingId) {
|
||||
int total = qualFilingPersonnelChangeGateway.countByFilingId(filingId);
|
||||
if (total == 0) {
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.PERSONNEL_COUNT,
|
||||
QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
int engineerCount = qualFilingPersonnelChangeGateway.countByFilingIdAndRegisterEngineerFlag(filingId, 1);
|
||||
boolean pass = total >= QualFilingComplianceCheckEnum.PERSONNEL_COUNT_LOWER
|
||||
&& engineerCount * 100 / total >= QualFilingComplianceCheckEnum.PERSONNEL_RATE;
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.PERSONNEL_COUNT,
|
||||
pass ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员资历:所有专职技术人员在本行业领域工作二年以上
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkPersonnelExperienceChange(Long filingId) {
|
||||
int total = qualFilingPersonnelChangeGateway.countByFilingId(filingId);
|
||||
if (total == 0) {
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.PERSONNEL_EXPERIENCE,
|
||||
QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
LocalDate threshold = LocalDate.now().minusYears(2);
|
||||
boolean allQualified = qualFilingPersonnelChangeGateway.countByFilingIdAndJoinWorkDateAfter(filingId, threshold) == 0;
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.PERSONNEL_EXPERIENCE,
|
||||
allQualified ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 责任承诺:qual_filing_commitment_change 表是否有数据
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkCommitmentChange(Long filingId) {
|
||||
QualFilingCommitmentChangeE commitment =
|
||||
qualFilingCommitmentChangeGateway.getByFilingId(filingId);
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.COMMITMENT,
|
||||
commitment != null ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息公开:info_disclosure_url 是否已填写
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkInfoDisclosureChange(QualFilingChangeEntity change) {
|
||||
boolean pass = change.getInfoDisclosureUrl() != null
|
||||
&& !change.getInfoDisclosureUrl().isEmpty();
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.INFO_DISCLOSURE,
|
||||
pass ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 信用记录:qual_filing_material_change 表 upload_status_code=2 且 material_type=4
|
||||
*/
|
||||
private QualFilingChangeComplianceCheckResultCO checkCreditRecordChange(Long filingId) {
|
||||
int count = qualFilingMaterialChangeGateway.countByFilingIdAndUploadStatusCodeAndMaterialType(
|
||||
filingId,
|
||||
QualFilingMaterialUploadStatusEnum.UPLOADED.getCode(),
|
||||
String.valueOf(MaterialTypeEnum.NO_VIOLATION_RECORD.getCode()));
|
||||
return buildChangeResult(QualFilingComplianceCheckEnum.CREDIT_RECORD,
|
||||
count > 0 ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
}
|
||||
|
||||
private QualFilingChangeComplianceCheckResultCO buildChangeResult(QualFilingComplianceCheckEnum item, String status) {
|
||||
QualFilingChangeComplianceCheckResultCO co = new QualFilingChangeComplianceCheckResultCO();
|
||||
co.setTitle(item.getTitle());
|
||||
co.setDescription(item.getDescription());
|
||||
co.setStatus(status);
|
||||
return co;
|
||||
}
|
||||
|
||||
private Long resolveOrgId() {
|
||||
return orgContextResolver.resolveOrgId(null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.client.api;
|
||||
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
|
|
@ -10,6 +11,8 @@ import org.qinan.safetyeval.client.dto.QualFilingChangePageQuery;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingChangeSubmitCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingRejectCmd;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案变更接口定义(Client层)
|
||||
*/
|
||||
|
|
@ -34,4 +37,6 @@ public interface QualFilingChangeApi {
|
|||
SingleResponse<Void> approve(Long changeId);
|
||||
|
||||
SingleResponse<Void> reject(QualFilingRejectCmd cmd);
|
||||
|
||||
SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 备案变更合规检查结果CO
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
public class QualFilingChangeComplianceCheckResultCO {
|
||||
|
||||
@ApiModelProperty(value = "检查项标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "检查项描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "检查结果状态:PASS 通过 / NOT_PASS 未通过 / WARN 警告")
|
||||
private String status;
|
||||
}
|
||||
|
|
@ -41,4 +41,9 @@ public interface QualFilingCommitmentChangeGateway {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询承诺书
|
||||
*/
|
||||
QualFilingCommitmentChangeE getByFilingId(Long filingId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,4 +41,9 @@ public interface QualFilingMaterialChangeGateway {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下满足上传状态和材料类型的记录数
|
||||
*/
|
||||
int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ package org.qinan.safetyeval.domain.change.gateway;
|
|||
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelChangeE;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员-变更网关
|
||||
*
|
||||
|
|
@ -41,4 +44,24 @@ public interface QualFilingPersonnelChangeGateway {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请人员-变更列表
|
||||
*/
|
||||
List<QualFilingPersonnelChangeE> listByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下的人员总数
|
||||
*/
|
||||
int countByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下注册工程师数量
|
||||
*/
|
||||
int countByFilingIdAndRegisterEngineerFlag(Long filingId, Integer registerEngineerFlag);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下参加工作时间晚于指定日期的人数
|
||||
*/
|
||||
int countByFilingIdAndJoinWorkDateAfter(Long filingId, LocalDate joinWorkDate);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,4 +50,14 @@ public interface QualFilingCommitmentChangeDoConvertor {
|
|||
* @return
|
||||
*/
|
||||
List<QualFilingCommitmentChangeCo> converDosToCos(List<QualFilingCommitmentChangeDO> qualFilingCommitmentChangeDos);
|
||||
|
||||
/**
|
||||
* DO转领域对象
|
||||
*/
|
||||
QualFilingCommitmentChangeE converDoToEe(QualFilingCommitmentChangeDO qualFilingCommitmentChangeDO);
|
||||
|
||||
/**
|
||||
* DOs转领域对象列表
|
||||
*/
|
||||
List<QualFilingCommitmentChangeE> converDosToEes(List<QualFilingCommitmentChangeDO> qualFilingCommitmentChangeDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,4 +50,14 @@ public interface QualFilingPersonnelChangeDoConvertor {
|
|||
* @return
|
||||
*/
|
||||
List<QualFilingPersonnelChangeCo> converDosToCos(List<QualFilingPersonnelChangeDO> qualFilingPersonnelChangeDos);
|
||||
|
||||
/**
|
||||
* DO转领域对象
|
||||
*/
|
||||
QualFilingPersonnelChangeE converDoToEe(QualFilingPersonnelChangeDO qualFilingPersonnelChangeDO);
|
||||
|
||||
/**
|
||||
* DOs转领域对象列表
|
||||
*/
|
||||
List<QualFilingPersonnelChangeE> converDosToEes(List<QualFilingPersonnelChangeDO> qualFilingPersonnelChangeDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,4 +45,13 @@ public class QualFilingCommitmentChangeGatewayImpl implements QualFilingCommitme
|
|||
public Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids) {
|
||||
return qualFilingCommitmentChangeRepository.deletedQualFilingCommitmentChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QualFilingCommitmentChangeE getByFilingId(Long filingId) {
|
||||
QualFilingCommitmentChangeDO dataObject = qualFilingCommitmentChangeRepository.getByFilingId(filingId);
|
||||
if (dataObject == null) {
|
||||
return null;
|
||||
}
|
||||
return qualFilingCommitmentChangeDoConvertor.converDoToEe(dataObject);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,4 +45,9 @@ public class QualFilingMaterialChangeGatewayImpl implements QualFilingMaterialCh
|
|||
public Boolean deletedQualFilingMaterialChangeByIds(Long[] ids) {
|
||||
return qualFilingMaterialChangeRepository.deletedQualFilingMaterialChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType) {
|
||||
return qualFilingMaterialChangeRepository.countByFilingIdAndUploadStatusCodeAndMaterialType(filingId, uploadStatusCode, materialType);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,4 +45,25 @@ public class QualFilingPersonnelChangeGatewayImpl implements QualFilingPersonnel
|
|||
public Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids) {
|
||||
return qualFilingPersonnelChangeRepository.deletedQualFilingPersonnelChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.util.List<QualFilingPersonnelChangeE> listByFilingId(Long filingId) {
|
||||
return qualFilingPersonnelChangeDoConvertor.converDosToEes(
|
||||
qualFilingPersonnelChangeRepository.listByFilingId(filingId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingId(Long filingId) {
|
||||
return qualFilingPersonnelChangeRepository.countByFilingId(filingId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndRegisterEngineerFlag(Long filingId, Integer registerEngineerFlag) {
|
||||
return qualFilingPersonnelChangeRepository.countByFilingIdAndRegisterEngineerFlag(filingId, registerEngineerFlag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndJoinWorkDateAfter(Long filingId, java.time.LocalDate joinWorkDate) {
|
||||
return qualFilingPersonnelChangeRepository.countByFilingIdAndJoinWorkDateAfter(filingId, joinWorkDate);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,9 @@ public interface QualFilingCommitmentChangeRepository extends BaseRepository<Qua
|
|||
*/
|
||||
Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询
|
||||
*/
|
||||
QualFilingCommitmentChangeDO getByFilingId(Long filingId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,9 @@ public interface QualFilingMaterialChangeRepository extends BaseRepository<QualF
|
|||
*/
|
||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下满足上传状态和材料类型的记录数
|
||||
*/
|
||||
int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,24 @@ public interface QualFilingPersonnelChangeRepository extends BaseRepository<Qual
|
|||
*/
|
||||
Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询列表
|
||||
*/
|
||||
java.util.List<QualFilingPersonnelChangeDO> listByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下的人员总数
|
||||
*/
|
||||
int countByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下注册工程师数量
|
||||
*/
|
||||
int countByFilingIdAndRegisterEngineerFlag(Long filingId, Integer registerEngineerFlag);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下参加工作时间晚于指定日期的人数
|
||||
*/
|
||||
int countByFilingIdAndJoinWorkDateAfter(Long filingId, java.time.LocalDate joinWorkDate);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,4 +78,12 @@ public class QualFilingCommitmentChangeRepositoryImpl extends BaseRepositoryImpl
|
|||
public Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids) {
|
||||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public QualFilingCommitmentChangeDO getByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingCommitmentChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingCommitmentChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.one();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,4 +93,14 @@ public class QualFilingMaterialChangeRepositoryImpl extends BaseRepositoryImpl<Q
|
|||
public Boolean deletedQualFilingMaterialChangeByIds(Long[] ids) {
|
||||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingMaterialChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingMaterialChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.eq(QualFilingMaterialChangeDO::getUploadStatusCode, uploadStatusCode)
|
||||
.eq(QualFilingMaterialChangeDO::getMaterialType, materialType)
|
||||
.count().intValue();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,4 +135,38 @@ public class QualFilingPersonnelChangeRepositoryImpl extends BaseRepositoryImpl<
|
|||
public Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids) {
|
||||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.util.List<QualFilingPersonnelChangeDO> listByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingPersonnelChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingPersonnelChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingPersonnelChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingPersonnelChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.count().intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndRegisterEngineerFlag(Long filingId, Integer registerEngineerFlag) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingPersonnelChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingPersonnelChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.eq(QualFilingPersonnelChangeDO::getRegisterEngineerFlag, registerEngineerFlag)
|
||||
.count().intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndJoinWorkDateAfter(Long filingId, java.time.LocalDate joinWorkDate) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingPersonnelChangeDO::getFilingId, filingId)
|
||||
.eq(QualFilingPersonnelChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.gt(QualFilingPersonnelChangeDO::getJoinWorkDate, joinWorkDate)
|
||||
.count().intValue();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue