Commit 02e2e5da authored by suhuiguang's avatar suhuiguang

refact(注册开通):流程调整

1.接口及流程调整,开通接口相关调整
parent 78d5ec14
......@@ -33,11 +33,6 @@ public class BaseController {
* 监管/行政审批局
*/
public static final String COMPANY_TYPE_SUPERVISION = "supervision";
/**
* 企业
*/
public static final String COMPANY_TYPE_COMPANY = "company";
/**
* 获取token
......@@ -47,6 +42,11 @@ public class BaseController {
}
/**
* 企业
*/
public static final String COMPANY_TYPE_COMPANY = "company";
/**
* 用户选择信心redis获取
**/
protected ReginParams getSelectedOrgInfo() {
......
......@@ -165,4 +165,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty(value = "质量保证体系(请上传符合要求的自我声明)")
private JSONArray quaSystemCert;
@ApiModelProperty(value = "登录单位类型")
private String companyLevel;
}
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseCertDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel;
......@@ -134,7 +135,7 @@ public class JyjcOpeningApplicationController extends BaseController {
@GetMapping(value = "/detail")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<JyjcOpeningApplicationModel> selectOne(@RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr));
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr, getSelectedOrgInfo().getCompany()));
}
/**
......
......@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -335,4 +337,16 @@ public class CommonServiceImpl {
}) : "";
}
public static String getCompanyLevel(CompanyBo company) {
String companyLevel = "";
if (company.getLevel().equals(BaseController.COMPANY_TYPE_COMPANY)) {
companyLevel = BaseController.COMPANY_TYPE_COMPANY;
} else {
companyLevel = BaseController.COMPANY_TYPE_SUPERVISION;
}
return companyLevel;
}
}
......@@ -49,18 +49,17 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.BaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -149,6 +148,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Resource
private SnowflakeIdUtil sequence;
@Value("${open.app.msg.detail.path:/mixuap?appId=1742358052905971713&id=1947557820039720961&lfrom=studio}")
private String msgDetailPath;
/**
* 编辑、工作台暂存逻辑
*
......@@ -159,7 +162,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
public JyjcOpeningApplicationModel saveOrUpdate(JyjcOpeningApplicationModel model, String unitCode) {
if (model.getSequenceNbr() != null) {
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
commonService.saveOrUpdateHistory(model.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
// 编辑逻辑
return this.updateWithModel(model);
} else {
......@@ -177,7 +180,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 2.创建待办
createDraftTask(model);
// 3.存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
commonService.saveOrUpdateHistory(model.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
}
return this.updateWithModel(model);
}
......@@ -213,7 +216,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS);
WorkflowResultDto workflowResultDto = resultDto.get(0);
if (!org.springframework.util.ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
model.setStatus( WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
model.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
}
model.setPromoter(RequestContext.getExeUserId());
model.setWorkflowProstanceId(workflowResultDto.getInstanceId());
......@@ -229,7 +232,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 缓存流程数据
commonService.saveExecuteFlowData2Redis(workflowResultDto.getInstanceId(), this.buildInstanceRuntimeData(model));
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
commonService.saveOrUpdateHistory(model.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
return model;
} else {
// 首次提交时删除暂存的待办
......@@ -239,7 +242,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
model.setDockingUnitCode(this.getAppId(companyCode));
saveModel(model);
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
commonService.saveOrUpdateHistory(model.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
return model;
}
}
......@@ -397,13 +400,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
* 开通详情
*
* @param sequenceNbr 主键,开始时为空,详情时非空
* @param company 登录人的公司信息
* @return 开通申请详情
*/
public JyjcOpeningApplicationModel queryDetail(Long sequenceNbr) {
ReginParams reginParams = commonService.getReginParamsOfCurrentUser();
if (ValidationUtil.isEmpty(reginParams.getCompany())) {
throw new RuntimeException("未指定人员归属单位信息");
}
public JyjcOpeningApplicationModel queryDetail(Long sequenceNbr, CompanyBo company) {
// 公司类型前端区分监管还是企业端
String companyLevel = CommonServiceImpl.getCompanyLevel(company);
String unitCode;
JyjcOpeningApplicationModel jyjcOpeningApplicationModel;
if (null != sequenceNbr) {
......@@ -413,7 +415,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
JSONObject hisData = jyjcInspectionHistory.getHistoryData();
if (jyjcOpeningApplicationModel.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()) ||
jyjcOpeningApplicationModel.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) { // 人员信息:审批完成、已作废时显示历史数据
hisData.put("status",jyjcOpeningApplicationModel.getStatus());
hisData.put("status", jyjcOpeningApplicationModel.getStatus());
BeanUtil.copyProperties(hisData, jyjcOpeningApplicationModel);
} else { // 流程中实时数据显示人、企业基本信息
setJYJCUserList(unitCode, jyjcOpeningApplicationModel);
......@@ -428,21 +430,22 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel.setBaseUnitLicences(hisData.getJSONArray("baseUnitLicences").toJavaList(BaseEnterpriseCertDto.class));
} else {
jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
jyjcOpeningApplicationModel.setOpenBizType(this.getOpenBizTypeByIdentity(reginParams.getCompany().getCompanyType()));
unitCode = getUnitCode(reginParams);
jyjcOpeningApplicationModel.setUnitCodeName(reginParams.getCompany().getCompanyName());
jyjcOpeningApplicationModel.setOpenBizType(this.getOpenBizTypeByIdentity(company.getCompanyType()));
unitCode = getUnitCode(company);
jyjcOpeningApplicationModel.setUnitCodeName(company.getCompanyName());
jyjcOpeningApplicationModel.setUnitCode(unitCode);
// 证书资质信息
setBaseUnitLicences2(unitCode, jyjcOpeningApplicationModel);
// 企业基本信息
setBaseEnterpriseInfo(unitCode, jyjcOpeningApplicationModel);
}
jyjcOpeningApplicationModel.setCompanyLevel(companyLevel);
return jyjcOpeningApplicationModel;
}
private static String getUnitCode(ReginParams reginParams) {
private static String getUnitCode(CompanyBo company) {
String unitCode;
unitCode = reginParams.getCompany().getCompanyCode();
unitCode = company.getCompanyCode();
unitCode = unitCode.contains("_") ? unitCode.substring(unitCode.indexOf("_") + 1) : unitCode;
return unitCode;
}
......@@ -476,7 +479,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel.setLongitude(baseEnterpriseInfo.getLongitude());
jyjcOpeningApplicationModel.setLatitude(baseEnterpriseInfo.getLatitude());
jyjcOpeningApplicationModel.setDataSources(baseEnterpriseInfo.getDataSources());
jyjcOpeningApplicationModel.setOfficeRegion( this.caseRegionCode2Name(baseEnterpriseInfo.getOfficeRegion()));
jyjcOpeningApplicationModel.setOfficeRegion(this.caseRegionCode2Name(baseEnterpriseInfo.getOfficeRegion()));
jyjcOpeningApplicationModel.setOfficeAddress(baseEnterpriseInfo.getOfficeAddress());
if (ObjectUtils.isNotEmpty(baseEnterpriseInfo.getUnitBusinessLicense())) {
jyjcOpeningApplicationModel.setUnitBusinessLicense(JSONArray.parseArray(baseEnterpriseInfo.getUnitBusinessLicense(), AttachmentDto.class));
......@@ -486,8 +489,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private String caseRegionCode2Name(String officeRegion) {
StringBuilder fullName = new StringBuilder();
if(StringUtils.isNotBlank(officeRegion)){
for(String regionCode:officeRegion.split("#")){
if (StringUtils.isNotBlank(officeRegion)) {
for (String regionCode : officeRegion.split("#")) {
fullName.append(commonService.getRegionName(regionCode));
}
}
......@@ -694,7 +697,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 更新代办
updateTask(jyjcOpeningApplication, workflowResultDto, op);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(), JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
} else {
// 流程结束
jyjcOpeningApplication.setStatus(taskCode);
......@@ -736,19 +739,37 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null;
}
/**
* 发送消息给发起者
* @param userId 接收人员
*/
private void sendMsg2User(String userId, String relationId, String companyType){
MessageModel messageModel = new MessageModel();
messageModel.setUserId(userId);
messageModel.setMsgTypeLabel("检验检验业务开通");
messageModel.setMsgType("openApp");
messageModel.setTitle("签署承诺书");
messageModel.setBody("资料校队通过,请尽快处理后续环节!");
messageModel.setRelationId(relationId);
messageModel.setTerminal("WEB");
messageModel.setRoutePath(msgDetailPath);
// messageModel.setCompanyType(companyType);
Systemctl.messageClient.create(messageModel);
}
private void saveLicenseData2Company(JyjcOpeningApplication jyjcOpeningApplication) {
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = JSONArray.parseArray(hisData.getString(BizCommonConstant.UNIT_LICENCE_KEY), BaseEnterpriseCertDto.class);
List<BaseEnterpriseCert> certs = new ArrayList<>();
List<BaseUnitLicence> licences = new ArrayList<>();
certDtos.forEach(e->{
certDtos.forEach(e -> {
BaseEnterpriseCert cert = new BaseEnterpriseCert();
BeanUtils.copyProperties(e, cert);
if(cert.getSequenceNbr() == null){
if (cert.getSequenceNbr() == null) {
cert.setSequenceNbr(sequence.nextId());
}
e.getItemCodes().forEach(itemCode->{
e.getItemCodes().forEach(itemCode -> {
BaseUnitLicence licence = new BaseUnitLicence();
BeanUtils.copyProperties(e, licence);
licence.setItemCode(itemCode);
......@@ -757,11 +778,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
});
certs.add(cert);
});
if(!certs.isEmpty()){
if (!certs.isEmpty()) {
enterpriseCertService.saveBatch(certs);
}
if(!licences.isEmpty()){
licences.parallelStream().forEach(licence->{
if (!licences.isEmpty()) {
licences.parallelStream().forEach(licence -> {
baseUnitLicenceMapper.insert(licence);
});
}
......
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