Commit be20a7cb authored by yangyang's avatar yangyang

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

parents fcdcdc2c 8cab5e68
package com.yeejoin.amos.boot.module.jyjc.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
......@@ -66,7 +67,7 @@ public class JyjcOpeningApplication extends BaseEntity {
/**
* 有效期至
*/
@TableField("expiry_date")
@TableField(value = "expiry_date", updateStrategy = FieldStrategy.IGNORED)
@JsonFormat (pattern = "yyyy-MM-dd")
private Date expiryDate;
......@@ -154,6 +155,12 @@ public class JyjcOpeningApplication extends BaseEntity {
/**
* 机构分类
*/
@TableField(value = "agency_classify")
@TableField(value = "agency_classify", updateStrategy = FieldStrategy.IGNORED)
private String agencyClassify;
/**
* 原始检测区域编码
*/
@TableField(value = "ori_detection_region", typeHandler = FastjsonTypeHandler.class)
private List<String> oriDetectionRegion;
}
......@@ -168,4 +168,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty(value = "登录单位类型")
private String companyLevel;
@ApiModelProperty(value = "检测区域编码")
private List<String> oriDetectionRegion;
}
......@@ -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