/compliance-check 合规检查
parent
b4c52866c2
commit
38c8a976c5
|
|
@ -6,10 +6,12 @@ import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||||
|
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案变更适配层(Controller)
|
* 备案变更适配层(Controller)
|
||||||
|
|
@ -84,4 +86,10 @@ public class QualFilingChangeController {
|
||||||
public SingleResponse<Void> reject(@Validated @RequestBody QualFilingRejectCmd cmd) {
|
public SingleResponse<Void> reject(@Validated @RequestBody QualFilingRejectCmd cmd) {
|
||||||
return qualFilingChangeApi.reject(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.app.orchestrator.QualFilingOrchestrator;
|
||||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
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.co.QualFilingChangeHistoryCO;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
|
|
@ -21,6 +22,7 @@ import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案变更执行器(App层)
|
* 备案变更执行器(App层)
|
||||||
|
|
@ -154,6 +156,11 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
return SingleResponse.success();
|
return SingleResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(Long id) {
|
||||||
|
return SingleResponse.success(qualFilingOrchestrator.complianceCheckChange(id));
|
||||||
|
}
|
||||||
|
|
||||||
private QualFilingChangeCO toCO(QualFilingChangeEntity entity) {
|
private QualFilingChangeCO toCO(QualFilingChangeEntity entity) {
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
return 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.QualFilingModifyCmd;
|
||||||
import org.qinan.safetyeval.client.dto.QualFilingPageQuery;
|
import org.qinan.safetyeval.client.dto.QualFilingPageQuery;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
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.constant.*;
|
||||||
import org.qinan.safetyeval.domain.entity.*;
|
import org.qinan.safetyeval.domain.entity.*;
|
||||||
import org.qinan.safetyeval.domain.exception.BizException;
|
import org.qinan.safetyeval.domain.exception.BizException;
|
||||||
|
|
@ -59,6 +63,15 @@ public class QualFilingOrchestrator {
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private QualFilingPersonnelChangeGateway qualFilingPersonnelChangeGateway;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private QualFilingCommitmentChangeGateway qualFilingCommitmentChangeGateway;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private QualFilingMaterialChangeGateway qualFilingMaterialChangeGateway;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private OrgInfoGateway orgInfoGateway;
|
private OrgInfoGateway orgInfoGateway;
|
||||||
|
|
||||||
|
|
@ -887,6 +900,145 @@ public class QualFilingOrchestrator {
|
||||||
return co;
|
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() {
|
private Long resolveOrgId() {
|
||||||
return orgContextResolver.resolveOrgId(null);
|
return orgContextResolver.resolveOrgId(null);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package org.qinan.safetyeval.client.api;
|
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.QualFilingChangeHistoryCO;
|
||||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
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.QualFilingChangeSubmitCmd;
|
||||||
import org.qinan.safetyeval.client.dto.QualFilingRejectCmd;
|
import org.qinan.safetyeval.client.dto.QualFilingRejectCmd;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案变更接口定义(Client层)
|
* 备案变更接口定义(Client层)
|
||||||
*/
|
*/
|
||||||
|
|
@ -34,4 +37,6 @@ public interface QualFilingChangeApi {
|
||||||
SingleResponse<Void> approve(Long changeId);
|
SingleResponse<Void> approve(Long changeId);
|
||||||
|
|
||||||
SingleResponse<Void> reject(QualFilingRejectCmd cmd);
|
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 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids);
|
Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据filingId查询承诺书
|
||||||
|
*/
|
||||||
|
QualFilingCommitmentChangeE getByFilingId(Long filingId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,4 +41,9 @@ public interface QualFilingMaterialChangeGateway {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
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 org.qinan.safetyeval.domain.change.model.QualFilingPersonnelChangeE;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案申请人员-变更网关
|
* 备案申请人员-变更网关
|
||||||
*
|
*
|
||||||
|
|
@ -41,4 +44,24 @@ public interface QualFilingPersonnelChangeGateway {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids);
|
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
|
* @return
|
||||||
*/
|
*/
|
||||||
List<QualFilingCommitmentChangeCo> converDosToCos(List<QualFilingCommitmentChangeDO> qualFilingCommitmentChangeDos);
|
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
|
* @return
|
||||||
*/
|
*/
|
||||||
List<QualFilingPersonnelChangeCo> converDosToCos(List<QualFilingPersonnelChangeDO> qualFilingPersonnelChangeDos);
|
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) {
|
public Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids) {
|
||||||
return qualFilingCommitmentChangeRepository.deletedQualFilingCommitmentChangeByIds(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) {
|
public Boolean deletedQualFilingMaterialChangeByIds(Long[] ids) {
|
||||||
return qualFilingMaterialChangeRepository.deletedQualFilingMaterialChangeByIds(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) {
|
public Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids) {
|
||||||
return qualFilingPersonnelChangeRepository.deletedQualFilingPersonnelChangeByIds(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);
|
Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据filingId查询
|
||||||
|
*/
|
||||||
|
QualFilingCommitmentChangeDO getByFilingId(Long filingId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,4 +62,9 @@ public interface QualFilingMaterialChangeRepository extends BaseRepository<QualF
|
||||||
*/
|
*/
|
||||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
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);
|
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) {
|
public Boolean deletedQualFilingCommitmentChangeByIds(Long[] ids) {
|
||||||
return super.removeBatchEnByIds(Arrays.asList(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) {
|
public Boolean deletedQualFilingMaterialChangeByIds(Long[] ids) {
|
||||||
return super.removeBatchEnByIds(Arrays.asList(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) {
|
public Boolean deletedQualFilingPersonnelChangeByIds(Long[] ids) {
|
||||||
return super.removeBatchEnByIds(Arrays.asList(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