Commit b2fc4c23 authored by suhuiguang's avatar suhuiguang

refact(检验开通):需求变更

1.增加资质状态字段,为后期预留报检 2.相关作废调整,手动作废,逻辑删除 3.2.相关作废调整,超期作废,修改资质、证状态为超期
parent d8fc222d
package com.yeejoin.amos.boot.biz.common.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 公共实体类
*
* @author DELL
*/
@Data
public class BaseLogicEntity implements Serializable{
private static final long serialVersionUID = 1L;
@TableId(value = "sequence_nbr", type = IdType.ID_WORKER)
protected Long sequenceNbr;
@TableField(value = "rec_date", fill = FieldFill.INSERT_UPDATE)
protected Date recDate;
@TableField(value = "rec_user_id", fill = FieldFill.INSERT_UPDATE)
protected String recUserId;
@TableField(value = "rec_user_name", fill = FieldFill.INSERT_UPDATE)
protected String recUserName;
/**
* 是否删除
*/
@TableField(value = "is_delete")
@TableLogic
public Boolean isDelete=false;
}
package com.yeejoin.amos.boot.biz.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LicenceStateEnum {
enabled("启用", 1),
disabled("停用", 2),
overdue("超期", 3);
private final String name;
private final int value;
}
...@@ -62,4 +62,7 @@ public class BaseEnterpriseCertDto extends BaseDto { ...@@ -62,4 +62,7 @@ public class BaseEnterpriseCertDto extends BaseDto {
@ApiModelProperty(value = "分类-哪个身份创建的证书") @ApiModelProperty(value = "分类-哪个身份创建的证书")
private String unitType; private String unitType;
@ApiModelProperty(value = "证的状态:报检预留字段,如启用、停用、超期等")
private Integer certState;
} }
...@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.common.api.entity; ...@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.BaseLogicEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
...@@ -18,7 +20,7 @@ import java.util.Date; ...@@ -18,7 +20,7 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("tz_base_enterprise_cert") @TableName("tz_base_enterprise_cert")
public class BaseEnterpriseCert extends BaseEntity { public class BaseEnterpriseCert extends BaseLogicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -59,7 +61,7 @@ public class BaseEnterpriseCert extends BaseEntity { ...@@ -59,7 +61,7 @@ public class BaseEnterpriseCert extends BaseEntity {
private Date issueDate; private Date issueDate;
/** /**
* 发证机关 * 发证机关名称
*/ */
@TableField("approved_organ") @TableField("approved_organ")
private String approvedOrgan; private String approvedOrgan;
...@@ -94,4 +96,10 @@ public class BaseEnterpriseCert extends BaseEntity { ...@@ -94,4 +96,10 @@ public class BaseEnterpriseCert extends BaseEntity {
*/ */
@TableField("unit_type") @TableField("unit_type")
private String unitType; private String unitType;
/**
* 证的状态:报检预留字段,如启用、停用、超期等
*/
@TableField("cert_state")
private Integer certState;
} }
...@@ -41,7 +41,6 @@ public class OpenApplicationTimingDiscardJob { ...@@ -41,7 +41,6 @@ public class OpenApplicationTimingDiscardJob {
for (Long aLong : longs) { for (Long aLong : longs) {
String remark = "许可到期,系统自动作废"; String remark = "许可到期,系统自动作废";
jyjcOpeningApplicationServiceImpl.doDiscard(aLong, remark); jyjcOpeningApplicationServiceImpl.doDiscard(aLong, remark);
} }
} }
} }
......
...@@ -19,7 +19,9 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController; ...@@ -19,7 +19,9 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper; import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.dto.DataDictionaryDto; import com.yeejoin.amos.boot.biz.common.dto.DataDictionaryDto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.BaseLogicEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.enums.LicenceStateEnum;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil; import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
...@@ -318,31 +320,44 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -318,31 +320,44 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/** /**
* 完成的时候废弃其他已完成的申请单 * 完成的时候作废其他已完成的申请单-除去本次开通
* *
* @param unitCode unitCode * @param unitCode unitCode
* @param sequenceNbr sequenceNbr * @param sequenceNbr sequenceNbr
* @param openBizType 按照单位及开通业务类型进进行作废 * @param openBizType 按照单位及开通业务类型进进行作废
* @throws
* @author yangyang
* @date 2023/12/22 09:23
*/ */
private void doDiscard(String unitCode, Long sequenceNbr, String openBizType) { private void doDiscard(String unitCode, Long sequenceNbr, String openBizType) {
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(sequenceNbr);
JSONObject hisData = history.getHistoryData();
Set<String> agencyTypeLast = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class).stream().map(BaseEnterpriseCertDto::getAgencyType).collect(Collectors.toSet());
List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr) List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr)
.eq(JyjcOpeningApplication::getUnitCode, unitCode) .eq(JyjcOpeningApplication::getUnitCode, unitCode)
.eq(JyjcOpeningApplication::getOpenBizType, openBizType) .eq(JyjcOpeningApplication::getOpenBizType, openBizType)
.ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr) .ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr)
.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName()) .eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName())
.list().stream().map(JyjcOpeningApplication::getSequenceNbr) .list().stream().map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList());
.filter(nbr -> !nbr.equals(sequenceNbr)).collect(Collectors.toList()); if (ValidationUtil.isEmpty(ids) || agencyTypeLast.isEmpty()) {
if (ValidationUtil.isEmpty(ids)) {
return; return;
} }
LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>(); // 历史已经开通的同单位类型+同机构类别的单据集合
updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName()) Set<Long> filterIds = new HashSet<>();
.set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废") // 将历史同单位类型+同机构类别的开通申请作废掉
.in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids); for (Long id : ids) {
this.update(updateWrapper); JyjcInspectionHistory historyOpened = inspectionHistoryService.getBySSeq(id);
JSONObject hisDataOpened = historyOpened.getHistoryData();
List<BaseEnterpriseCertDto> certOpened = hisDataOpened.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
boolean matchHisOpened = certOpened.stream().anyMatch(c -> agencyTypeLast.contains(c.getAgencyType()));
if (matchHisOpened) {
filterIds.add(id);
}
}
if (!filterIds.isEmpty()) {
LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName())
.set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废")
.in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids);
this.update(updateWrapper);
}
} }
public Boolean doDiscard(Long sequenceNbr, String remark) { public Boolean doDiscard(Long sequenceNbr, String remark) {
...@@ -356,6 +371,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -356,6 +371,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) { if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) {
throw new BadRequest("只有已完成的申请单才可以作废!"); throw new BadRequest("只有已完成的申请单才可以作废!");
} }
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
// 手工作废删除之前审批完成的证书、资质信息
this.deleteHisCert(certDtos, jyjcOpeningApplication);
// 单据修改为作废状态
UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>();
updateWrapper
.set("status", FlowStatusEnum.TO_BE_DISCARD.getName())
.set("remark", remark)
.eq("SEQUENCE_NBR", sequenceNbr);
return this.update(updateWrapper);
}
public Boolean doDiscardAndOverdueLicense(Long sequenceNbr, String remark) {
JyjcOpeningApplication jyjcOpeningApplication = jyjcOpeningApplicationMapper.selectById(sequenceNbr);
if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) {
return false;
}
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
// 修改资质及证为超期状态
this.overdueLicense(certDtos, jyjcOpeningApplication);
// 单据修改为作废状态
UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>();
updateWrapper updateWrapper
.set("status", FlowStatusEnum.TO_BE_DISCARD.getName()) .set("status", FlowStatusEnum.TO_BE_DISCARD.getName())
...@@ -364,6 +404,25 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -364,6 +404,25 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return this.update(updateWrapper); return this.update(updateWrapper);
} }
private void overdueLicense(List<BaseEnterpriseCertDto> certDtos, JyjcOpeningApplication jyjcOpeningApplication) {
certDtos.forEach(certDto -> {
List<Long> allergists = getCertFromHisData(jyjcOpeningApplication, certDto);
if (!allergists.isEmpty()) {
baseUnitLicenceMapper.update(null, new LambdaUpdateWrapper<BaseUnitLicence>().in(BaseUnitLicence::getEnterpriseCertSeq, allergists).set(BaseUnitLicence::getLicenceState, LicenceStateEnum.overdue.getValue()));
enterpriseCertService.update(new LambdaUpdateWrapper<BaseEnterpriseCert>().in(BaseLogicEntity::getSequenceNbr, allergists).set(BaseEnterpriseCert::getCertState, LicenceStateEnum.overdue.getValue()));
}
});
}
private List<Long> getCertFromHisData(JyjcOpeningApplication jyjcOpeningApplication, BaseEnterpriseCertDto certDto) {
return enterpriseCertService.list(new LambdaQueryWrapper<BaseEnterpriseCert>()
.eq(BaseEnterpriseCert::getUnitCode, jyjcOpeningApplication.getUnitCode())
.eq(BaseEnterpriseCert::getUnitType, Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(jyjcOpeningApplication.getOpenBizType())).map(OpenBizTypeEnumV2::getUnitType).orElse(null))
.eq(BaseEnterpriseCert::getCertTypeCode, certDto.getCertTypeCode())
.eq(BaseEnterpriseCert::getAgencyType, certDto.getAgencyType()))
.stream().map(BaseEnterpriseCert::getSequenceNbr).collect(Collectors.toList());
}
/** /**
* 列表查询 示例 * 列表查询 示例
...@@ -541,15 +600,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -541,15 +600,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private void setBaseUnitLicences2(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, String unitType) { private void setBaseUnitLicences2(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, String unitType) {
List<BaseEnterpriseCert> enterpriseCerts = enterpriseCertService.getBaseMapper().selectList(new LambdaQueryWrapper<BaseEnterpriseCert>().eq(BaseEnterpriseCert::getUnitCode, unitCode).eq(BaseEnterpriseCert::getUnitType, unitType)); jyjcOpeningApplicationModel.setBaseUnitLicences(new ArrayList<>());
List<BaseEnterpriseCertDto> certDtos = enterpriseCerts.parallelStream().map(c -> {
BaseEnterpriseCertDto enterpriseCertDto = new BaseEnterpriseCertDto();
BeanUtils.copyProperties(c, enterpriseCertDto);
enterpriseCertDto.setQualificationCertificateAttachment(JSONArray.parseArray(c.getQualificationCertificateAttachment()));
enterpriseCertDto.setItemCodes(this.getBuildItemCode(c.getSequenceNbr()));
return enterpriseCertDto;
}).collect(Collectors.toList());
jyjcOpeningApplicationModel.setBaseUnitLicences(certDtos);
} }
private List<DataDictionaryDto> getBuildItemCode(Long sequenceNbr) { private List<DataDictionaryDto> getBuildItemCode(Long sequenceNbr) {
...@@ -560,7 +611,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -560,7 +611,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
BaseUnitLicence::getItemCode, BaseUnitLicence::getItemCode,
BaseUnitLicence::getItemCodeName, BaseUnitLicence::getItemCodeName,
BaseUnitLicence::getDictSeq)); BaseUnitLicence::getDictSeq));
return baseUnitLicences.stream().map(l->{ return baseUnitLicences.stream().map(l -> {
DataDictionaryDto dto = new DataDictionaryDto(); DataDictionaryDto dto = new DataDictionaryDto();
dto.setCode(l.getItemCode()); dto.setCode(l.getItemCode());
dto.setName(l.getItemCodeName()); dto.setName(l.getItemCodeName());
...@@ -746,8 +797,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -746,8 +797,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString()); jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString());
jyjcOpeningApplication.setPromoter(RequestContext.getExeUserId()); jyjcOpeningApplication.setPromoter(RequestContext.getExeUserId());
this.sendMsg2User(jyjcOpeningApplication); this.sendMsg2User(jyjcOpeningApplication);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
} else { } else {
// 驳回操作 // 驳回操作, 驳回时不更新json数据
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject()); jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject());
jyjcOpeningApplication.setPromoter(""); jyjcOpeningApplication.setPromoter("");
} }
...@@ -755,8 +808,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -755,8 +808,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
// 更新代办 // 更新代办
updateTask(jyjcOpeningApplication, workflowResultDto, op); updateTask(jyjcOpeningApplication, workflowResultDto, op);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
} else { } else {
// 流程结束 // 流程结束
jyjcOpeningApplication.setStatus(taskCode); jyjcOpeningApplication.setStatus(taskCode);
...@@ -778,10 +829,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -778,10 +829,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplication.setNextExecuteUserIds(""); jyjcOpeningApplication.setNextExecuteUserIds("");
jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString())); jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString()));
jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString()); jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString());
// 将审批通过的资质信息写入到企业资质表
this.saveLicenseData2Company(jyjcOpeningApplication);
// 更新json // 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr()); commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
// 将审批通过的资质信息写入到企业资质表
this.saveLicenseData2Company(jyjcOpeningApplication);
} }
jyjcOpeningApplicationMapper.updateById(jyjcOpeningApplication); jyjcOpeningApplicationMapper.updateById(jyjcOpeningApplication);
// 已完成 作废逻辑 // 已完成 作废逻辑
...@@ -840,20 +891,20 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -840,20 +891,20 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr()); JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData(); JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class); List<BaseEnterpriseCertDto> certDtos = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
// 单位类型+证书类型+机构类别唯一,删除之前已有的
this.deleteHisCert(certDtos, jyjcOpeningApplication);
List<BaseEnterpriseCert> certs = new ArrayList<>(); List<BaseEnterpriseCert> certs = new ArrayList<>();
List<BaseUnitLicence> licences = new ArrayList<>(); List<BaseUnitLicence> licences = new ArrayList<>();
List<Long> enterpriseCertSeqs = new ArrayList<>();
certDtos.forEach(e -> { certDtos.forEach(e -> {
BaseEnterpriseCert cert = new BaseEnterpriseCert(); BaseEnterpriseCert cert = new BaseEnterpriseCert();
BeanUtils.copyProperties(e, cert); BeanUtils.copyProperties(e, cert);
cert.setUnitType(Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(jyjcOpeningApplication.getOpenBizType())).map(OpenBizTypeEnumV2::getUnitType).orElse(null)); cert.setUnitType(Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(jyjcOpeningApplication.getOpenBizType())).map(OpenBizTypeEnumV2::getUnitType).orElse(null));
cert.setQualificationCertificateAttachment(e.getQualificationCertificateAttachment().toJSONString()); cert.setQualificationCertificateAttachment(e.getQualificationCertificateAttachment().toJSONString());
cert.setUnitCode(jyjcOpeningApplication.getUnitCode()); cert.setUnitCode(jyjcOpeningApplication.getUnitCode());
if (cert.getSequenceNbr() == null) { cert.setSequenceNbr(sequence.nextId());
cert.setSequenceNbr(sequence.nextId()); cert.setRecUserId(RequestContext.getExeUserId());
} else { cert.setRecDate(new Date());
enterpriseCertSeqs.add(cert.getSequenceNbr()); cert.setCertState(LicenceStateEnum.enabled.getValue());
}
Optional.ofNullable(e.getItemCodes()) Optional.ofNullable(e.getItemCodes())
.orElseGet(Collections::emptyList) .orElseGet(Collections::emptyList)
.stream() .stream()
...@@ -866,7 +917,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -866,7 +917,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
licence.setItemCodeName(item.getName()); licence.setItemCodeName(item.getName());
licence.setDictSeq(item.getSequenceNbr()); licence.setDictSeq(item.getSequenceNbr());
licence.setRecDate(new Date()); licence.setRecDate(new Date());
licence.setApprovedOrgan(commonService.getDictName(Collections.singletonList("DJJG"), licence.getApprovedOrganCode())); licence.setLicenceState(LicenceStateEnum.enabled.getValue());
// 改成联想输入,直接存名称,approvedOrganName, approvedOrgan不再需要
// licence.setApprovedOrgan(commonService.getDictName(Collections.singletonList("DJJG"), licence.getApprovedOrganCode()));
licence.setAgencyTypeName(commonService.getDictName(Arrays.asList("1233-1", "1233-2"), licence.getAgencyType())); licence.setAgencyTypeName(commonService.getDictName(Arrays.asList("1233-1", "1233-2"), licence.getAgencyType()));
licence.setUnitCode(jyjcOpeningApplication.getUnitCode()); licence.setUnitCode(jyjcOpeningApplication.getUnitCode());
licence.setUnitName(jyjcOpeningApplication.getUnitCodeName()); licence.setUnitName(jyjcOpeningApplication.getUnitCodeName());
...@@ -875,20 +928,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -875,20 +928,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}); });
certs.add(cert); certs.add(cert);
}); });
// 没修改前所有的证书(维度单位编码+单位类型)
List<Long> allCertSeqs = enterpriseCertService.list(new LambdaQueryWrapper<BaseEnterpriseCert>()
.eq(BaseEnterpriseCert::getUnitCode, jyjcOpeningApplication.getUnitCode())
.eq(BaseEnterpriseCert::getUnitType, Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(jyjcOpeningApplication.getOpenBizType()))
.map(OpenBizTypeEnumV2::getUnitType).orElse(null))).stream().map(BaseEnterpriseCert::getSequenceNbr).collect(Collectors.toList());
// 先删除证书下对应的资质
if (!allCertSeqs.isEmpty()) {
baseUnitLicenceMapper.delete(new LambdaQueryWrapper<BaseUnitLicence>().in(BaseUnitLicence::getEnterpriseCertSeq, allCertSeqs));
}
// 再删除掉页面已经删除的证书,保留未删除的
enterpriseCertService.remove(new LambdaQueryWrapper<BaseEnterpriseCert>()
.notIn(!enterpriseCertSeqs.isEmpty(), BaseEntity::getSequenceNbr, enterpriseCertSeqs)
.eq(BaseEnterpriseCert::getUnitCode, jyjcOpeningApplication.getUnitCode())
.eq(BaseEnterpriseCert::getUnitType, Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(jyjcOpeningApplication.getOpenBizType())).map(OpenBizTypeEnumV2::getUnitType).orElse(null)));
// 保存证书 // 保存证书
if (!certs.isEmpty()) { if (!certs.isEmpty()) {
enterpriseCertService.saveOrUpdateBatch(certs); enterpriseCertService.saveOrUpdateBatch(certs);
...@@ -901,7 +940,18 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -901,7 +940,18 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
} }
private void deleteHisCert(List<BaseEnterpriseCertDto> certDtos, JyjcOpeningApplication jyjcOpeningApplication) {
certDtos.forEach(certDto -> {
List<Long> allCertSeqs = getCertFromHisData(jyjcOpeningApplication, certDto);
if (!allCertSeqs.isEmpty()) {
// 逻辑删除,怕影响范围大,没加注解 @TableLogic,通过update实现
baseUnitLicenceMapper.update(null, new LambdaUpdateWrapper<BaseUnitLicence>().in(BaseUnitLicence::getEnterpriseCertSeq, allCertSeqs).set(BaseEntity::getIsDelete, false));
// 逻辑删除,注解 @TableLogic实现
enterpriseCertService.deleteBatchSeq(allCertSeqs);
}
});
}
private void executeOneStep(JyjcOpeningApplicationModel openingApplication, String operate) { private void executeOneStep(JyjcOpeningApplicationModel openingApplication, String operate) {
String instanceId = openingApplication.getWorkflowProstanceId(); String instanceId = openingApplication.getWorkflowProstanceId();
String nextTaskId = openingApplication.getNextTaskId(); String nextTaskId = openingApplication.getNextTaskId();
......
...@@ -115,4 +115,7 @@ public class BaseUnitLicenceDto extends BaseDto { ...@@ -115,4 +115,7 @@ public class BaseUnitLicenceDto extends BaseDto {
@ApiModelProperty(value = "企业资质证书照片") @ApiModelProperty(value = "企业资质证书照片")
private JSONArray qualificationCertificateAttachment; private JSONArray qualificationCertificateAttachment;
@ApiModelProperty(value = "企业资质状态:报检预留字段,如启用、停用、超期等")
private Integer licenceState;
} }
package com.yeejoin.amos.boot.module.tcm.api.dto; package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -102,5 +103,17 @@ public class TzBaseUnitLicenceDto extends BaseDto { ...@@ -102,5 +103,17 @@ public class TzBaseUnitLicenceDto extends BaseDto {
@ApiModelProperty(value = "资质类型编码(检验检测、其他)") @ApiModelProperty(value = "资质类型编码(检验检测、其他)")
private String licenceType; private String licenceType;
@ApiModelProperty(value = "所属证书")
private String enterpriseCertSeq;
@ApiModelProperty(value = "字典表id")
private Long dictSeq;
@ApiModelProperty(value = "企业资质证书照片")
private JSONArray qualificationCertificateAttachment;
@ApiModelProperty(value = "企业资质状态:报检预留字段,如启用、停用、超期等")
private Integer licenceState;
} }
...@@ -199,4 +199,10 @@ public class BaseUnitLicence extends BaseEntity { ...@@ -199,4 +199,10 @@ public class BaseUnitLicence extends BaseEntity {
*/ */
@TableField("qualification_certificate_attachment") @TableField("qualification_certificate_attachment")
private String qualificationCertificateAttachment; private String qualificationCertificateAttachment;
/**
* 企业资质状态:报检预留字段,如启用、停用、超期等
*/
@TableField("licence_state")
private Integer licenceState;
} }
...@@ -131,4 +131,10 @@ public class TzBaseUnitLicence extends BaseEntity { ...@@ -131,4 +131,10 @@ public class TzBaseUnitLicence extends BaseEntity {
@TableField("qualification_certificate_attachment") @TableField("qualification_certificate_attachment")
private String qualificationCertificateAttachment; private String qualificationCertificateAttachment;
/**
* 企业资质状态:报检预留字段,如启用、停用、超期等
*/
@TableField("licence_state")
private Integer licenceState;
} }
package com.yeejoin.amos.boot.module.ymt.api.dto; package com.yeejoin.amos.boot.module.ymt.api.dto;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
...@@ -16,10 +17,10 @@ import java.util.Date; ...@@ -16,10 +17,10 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="BaseUnitLicenceDto", description="单位注册许可信息表") @ApiModel(value = "BaseUnitLicenceDto", description = "单位注册许可信息表")
public class BaseUnitLicenceDto extends BaseDto { public class BaseUnitLicenceDto extends BaseDto {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位编码") @ApiModelProperty(value = "单位编码")
...@@ -97,4 +98,30 @@ public class BaseUnitLicenceDto extends BaseDto { ...@@ -97,4 +98,30 @@ public class BaseUnitLicenceDto extends BaseDto {
@ApiModelProperty(value = "是否同步自许可(1是 0否)") @ApiModelProperty(value = "是否同步自许可(1是 0否)")
private String isNotSync; private String isNotSync;
@ApiModelProperty(value = "机构类别枚举")
private String agencyType;
@ApiModelProperty(value = "机构类别枚举名称,冗余")
private String agencyTypeName;
@ApiModelProperty(value = "资质类型编码(检验检测、其他)")
private String licenceType;
@ApiModelProperty(value = "所属证书ID")
private String enterpriseCertSeq;
@ApiModelProperty(value = "字典表id")
private Long dictSeq;
@ApiModelProperty(value = "企业资质证书照片")
private String qualificationCertificateAttachment;
@ApiModelProperty(value = "企业资质状态:报检预留字段,如启用、停用、超期等")
private Integer licenceState;
} }
...@@ -117,4 +117,7 @@ public class TzBaseUnitLicenceDto extends BaseDto { ...@@ -117,4 +117,7 @@ public class TzBaseUnitLicenceDto extends BaseDto {
@ApiModelProperty(value = "企业资质证书照片") @ApiModelProperty(value = "企业资质证书照片")
private String qualificationCertificateAttachment; private String qualificationCertificateAttachment;
@ApiModelProperty(value = "企业资质状态:报检预留字段,如启用、停用、超期等")
private Integer licenceState;
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
...@@ -202,4 +203,10 @@ public class BaseUnitLicence extends BaseEntity { ...@@ -202,4 +203,10 @@ public class BaseUnitLicence extends BaseEntity {
@TableField("qualification_certificate_attachment") @TableField("qualification_certificate_attachment")
private String qualificationCertificateAttachment; private String qualificationCertificateAttachment;
/**
* 企业资质状态:报检预留字段,如启用、停用、超期等
*/
@TableField("licence_state")
private Integer licenceState;
} }
...@@ -128,4 +128,10 @@ public class TzBaseUnitLicence extends BaseEntity { ...@@ -128,4 +128,10 @@ public class TzBaseUnitLicence extends BaseEntity {
*/ */
@TableField("qualification_certificate_attachment") @TableField("qualification_certificate_attachment")
private String qualificationCertificateAttachment; private String qualificationCertificateAttachment;
/**
* 企业资质状态:报检预留字段,如启用、停用、超期等
*/
@TableField("licence_state")
private Integer licenceState;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment