Commit 8cab5e68 authored by suhuiguang's avatar suhuiguang

fix(开通):bug修改

1.在撤回到、驳回到发起单位时,清楚审批流程中填充的机构分类、有限期字段
parent ff085064
......@@ -171,9 +171,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@GlobalTransactional(rollbackFor = Exception.class)
public JyjcOpeningApplicationModel saveOrUpdate(JyjcOpeningApplicationModel model, String unitCode) {
if (model.getSequenceNbr() != null) {
// 编辑逻辑
model.setOriDetectionRegion(model.getDetectionRegion());
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
// 编辑逻辑
return this.updateWithModel(model);
} else {
// 工作台暂存(新增)逻辑
......@@ -186,6 +187,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
model.setCreateUserId(RequestContext.getExeUserId());
model.setStatus(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getPass());
model.setDockingUnitCode(this.getAppId(unitCode));
// 编辑逻辑
model.setOriDetectionRegion(model.getDetectionRegion());
this.createWithModel(model);
// 2.创建待办
createDraftTask(model);
......@@ -278,8 +281,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private JyjcOpeningApplicationModel saveModel(JyjcOpeningApplicationModel model) {
if (model.getSequenceNbr() == null) {
model.setOriDetectionRegion(model.getDetectionRegion());
return this.createWithModel(model);
} else {
model.setOriDetectionRegion(model.getDetectionRegion());
return this.updateWithModel(model);
}
}
......@@ -803,6 +808,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 驳回操作, 驳回时不更新json数据
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject());
jyjcOpeningApplication.setPromoter("");
// 驳回到发起单位时,恢复原始的开通区域,清空机构分类、核准项目
this.restoreApplicationData(jyjcOpeningApplication, params);
}
jyjcOpeningApplication.setNextTaskId(workflowResultDto.getNextTaskId());
jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
......@@ -852,9 +859,26 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null;
}
private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication, Map<String, Object> params) {
// 资料校对受理已退回时恢复数据到原始数据
if(jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getReject())){
jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion());
jyjcOpeningApplication.setAgencyClassify(null);
jyjcOpeningApplication.setExpiryDate(null);
JSONObject data = new JSONObject(params);
List<BaseEnterpriseCertDto> certDtos = data.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
certDtos.forEach(c->{
c.setItemCodes(new ArrayList<>());
});
data.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), data, jyjcOpeningApplication.getSequenceNbr());
}
}
private void sendMsg2User(JyjcOpeningApplication jyjcOpeningApplication) {
// 系统对接中时发送对接消息
if (jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_PRELIMINARY.getPass())) {
if (jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_PRELIMINARY.getReject())) {
String createUserId = jyjcOpeningApplication.getCreateUserId();
String relationId = jyjcOpeningApplication.getSequenceNbr() + "";
String companyType = this.OpenBizType2CompanyType(jyjcOpeningApplication.getOpenBizType());
......@@ -1054,6 +1078,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jsonObject.put("flowStatus", commonService.getDictionaryCodeByName(jyjcOpeningApplication.getStatus()));
jsonObject.put("flowStatusLabel", jyjcOpeningApplication.getStatus());
this.deleteMsg(jyjcOpeningApplication.getStatus(), jyjcOpeningApplication.getSequenceNbr());
// 撤回到发起单位时,数据恢复到原始提交状态
this.restoreApplicationData(jyjcOpeningApplication);
// 撤回删除代办
taskModelService.rollbackTask(jyjcOpeningApplication.getWorkflowProstanceId(), jsonObject);
// 更新数据
......@@ -1071,6 +1097,21 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null;
}
private void restoreApplicationData(JyjcOpeningApplication jyjcOpeningApplication) {
if(jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getRollBack())){
jyjcOpeningApplication.setDetectionRegion(jyjcOpeningApplication.getOriDetectionRegion());
jyjcOpeningApplication.setAgencyClassify(null);
jyjcOpeningApplication.setExpiryDate(null);
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = hisData.getJSONArray(BizCommonConstant.UNIT_LICENCE_KEY).toJavaList(BaseEnterpriseCertDto.class);
certDtos.forEach(c-> c.setItemCodes(new ArrayList<>()));
hisData.put(BizCommonConstant.UNIT_LICENCE_KEY, certDtos);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), hisData, jyjcOpeningApplication.getSequenceNbr());
}
}
private void deleteMsg(String status, Long sequenceNbr) {
// 流程到<系统对接受理已退回, 资料校对受理已撤回>时删除之前的消息
if (WorkFlowStatusEnum.OPENING_APPLICATION_RECEIVE.getReject().equals(status) || WorkFlowStatusEnum.OPENING_APPLICATION_RECEIVE.getRollBack().equals(status)) {
......
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