Commit 82f3f471 authored by suhuiguang's avatar suhuiguang

fix(开通):bug修改

1.使用单位、按改为的作废修改
parent 82728f98
...@@ -331,35 +331,47 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -331,35 +331,47 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
* @param openBizType 按照单位及开通业务类型进进行作废 * @param openBizType 按照单位及开通业务类型进进行作废
*/ */
private void doDiscard(String unitCode, Long sequenceNbr, String openBizType) { private void doDiscard(String unitCode, Long sequenceNbr, String openBizType) {
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(sequenceNbr); if (!(openBizType.equals(OpenBizTypeEnumV2.SYDW.getCode()) || openBizType.equals(OpenBizTypeEnumV2.AGW.getCode()))) {
JSONObject hisData = history.getHistoryData(); JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(sequenceNbr);
Set<String> agencyTypeLast = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class).stream().map(BaseEnterpriseCertDto::getAgencyType).collect(Collectors.toSet()); JSONObject hisData = history.getHistoryData();
List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr) Set<String> agencyTypeLast = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class).stream().map(BaseEnterpriseCertDto::getAgencyType).collect(Collectors.toSet());
.eq(JyjcOpeningApplication::getUnitCode, unitCode) List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr)
.eq(JyjcOpeningApplication::getOpenBizType, openBizType) .eq(JyjcOpeningApplication::getUnitCode, unitCode)
.ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr) .eq(JyjcOpeningApplication::getOpenBizType, openBizType)
.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName()) .ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr)
.list().stream().map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList()); .eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName())
if (ValidationUtil.isEmpty(ids) || agencyTypeLast.isEmpty()) { .list().stream().map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList());
return; if (ValidationUtil.isEmpty(ids) || agencyTypeLast.isEmpty()) {
} return;
// 历史已经开通的同单位类型+同机构类别的单据集合
Set<Long> filterIds = new HashSet<>();
// 将历史同单位类型+同机构类别的开通申请作废掉
for (Long id : ids) {
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()) { Set<Long> filterIds = new HashSet<>();
// 将历史同单位类型+同机构类别的开通申请作废掉
for (Long id : ids) {
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);
}
} else {
// 使用单位和安改维按照开通类型进行作废, 非自己且单位code且业务类型且已完成
LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName()) updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName())
.set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废") .set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废")
.in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids); .ne(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, sequenceNbr)
.eq(JyjcOpeningApplication::getUnitCode, unitCode)
.eq(JyjcOpeningApplication::getOpenBizType, openBizType)
.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName());
this.update(updateWrapper); this.update(updateWrapper);
} }
} }
...@@ -389,23 +401,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -389,23 +401,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return this.update(updateWrapper); return this.update(updateWrapper);
} }
public Boolean doDiscardAndOverdueLicense(Long sequenceNbr, String remark) { public void doDiscardAndOverdueLicense(Long sequenceNbr, String remark) {
JyjcOpeningApplication jyjcOpeningApplication = jyjcOpeningApplicationMapper.selectById(sequenceNbr); JyjcOpeningApplication jyjcOpeningApplication = jyjcOpeningApplicationMapper.selectById(sequenceNbr);
if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) { if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) {
return false; return;
}
if (!(jyjcOpeningApplication.getOpenBizType().equals(OpenBizTypeEnumV2.SYDW.getCode()) || jyjcOpeningApplication.getOpenBizType().equals(OpenBizTypeEnumV2.AGW.getCode()))) {
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
.set("status", FlowStatusEnum.TO_BE_DISCARD.getName())
.set("remark", remark)
.eq("SEQUENCE_NBR", sequenceNbr);
this.update(updateWrapper);
} else {
LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName())
.set(JyjcOpeningApplication::getRemark, remark)
.eq(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, sequenceNbr);
this.update(updateWrapper);
} }
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
.set("status", FlowStatusEnum.TO_BE_DISCARD.getName())
.set("remark", remark)
.eq("SEQUENCE_NBR", sequenceNbr);
return this.update(updateWrapper);
} }
private void overdueLicense(List<BaseEnterpriseCertDto> certDtos, JyjcOpeningApplication jyjcOpeningApplication) { private void overdueLicense(List<BaseEnterpriseCertDto> certDtos, JyjcOpeningApplication jyjcOpeningApplication) {
...@@ -861,13 +881,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -861,13 +881,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication, Map<String, Object> params) { private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication, Map<String, Object> params) {
// 资料校对受理已退回时恢复数据到原始数据 // 资料校对受理已退回时恢复数据到原始数据
if(jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getReject())){ if (jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getReject())) {
jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion()); jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion());
jyjcOpeningApplication.setAgencyClassify(null); jyjcOpeningApplication.setAgencyClassify(null);
jyjcOpeningApplication.setExpiryDate(null); jyjcOpeningApplication.setExpiryDate(null);
JSONObject data = new JSONObject(params); JSONObject data = new JSONObject(params);
List<BaseEnterpriseCertDto> certDtos = data.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class); List<BaseEnterpriseCertDto> certDtos = data.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
certDtos.forEach(c->{ certDtos.forEach(c -> {
c.setItemCodes(new ArrayList<>()); c.setItemCodes(new ArrayList<>());
}); });
data.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos); data.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos);
...@@ -1098,14 +1118,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -1098,14 +1118,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication) { private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication) {
if(jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getRollBack())){ if (jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getRollBack())) {
jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion()); jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion());
jyjcOpeningApplication.setAgencyClassify(null); jyjcOpeningApplication.setAgencyClassify(null);
jyjcOpeningApplication.setExpiryDate(null); jyjcOpeningApplication.setExpiryDate(null);
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);
certDtos.forEach(c-> c.setItemCodes(new ArrayList<>())); certDtos.forEach(c -> c.setItemCodes(new ArrayList<>()));
hisData.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos); hisData.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos);
// 更新json // 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), hisData, jyjcOpeningApplication.getSequenceNbr()); commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), hisData, jyjcOpeningApplication.getSequenceNbr());
...@@ -1324,9 +1344,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -1324,9 +1344,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
public void exportData(HttpServletResponse response, List<String> ids) { public void exportData(HttpServletResponse response, List<String> ids) {
List<JyjcOpeningApplicationVo> exportData = jyjcOpeningApplicationMapper.queryJyjcOpeningApplicationListByIds(ids); List<JyjcOpeningApplicationVo> exportData = jyjcOpeningApplicationMapper.queryJyjcOpeningApplicationListByIds(ids);
for (JyjcOpeningApplicationVo data : exportData) { for (JyjcOpeningApplicationVo data : exportData) {
data.setOpenBizType(this.getOpenBizTypeName(data.getOpenBizType())); data.setOpenBizType(this.castOpenBizTypeCode2Name(data.getOpenBizType()));
} }
ExcelUtil.createTemplate(response, "检验检测开通列表数据", "检验检测开通列表", exportData, JyjcOpeningApplicationVo.class, null, false); ExcelUtil.createTemplate(response, "检验检测开通列表数据", "检验检测开通列表", exportData, JyjcOpeningApplicationVo.class, null, false);
} }
......
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