Commit ddb50201 authored by suhuiguang's avatar suhuiguang

1.检验检测报检规则3.0版本

parent 410eff12
package com.yeejoin.amos.boot.module.jyjc.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.Date;
/**
* @author system_generator
* @date 2024-06-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_jyjc_inspection_application_no_accept_log")
public class JyjcInspectionApplicationNoAcceptLog extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 不予处理的检验检测单位编码
*/
@TableField("inspection_unit_code")
private String inspectionUnitCode;
/**
* 不予处理操作日期
*/
@TableField("no_accept_date")
private Date noAcceptDate;
/**
* 不予处理操作说明
*/
@TableField("remark")
private String remark;
/**
* 操作人
*/
@TableField("no_accept_user_id")
private String noAcceptUserId;
/**
* 报检申请表主键
*/
@TableField("application_seq")
private Long applicationSeq;
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author Administrator
*/
@AllArgsConstructor
@Getter
public enum InspectionCompanyType {
/**
* 检验单位分类
*/
LEGAL("legal","法定"),
THIRD("third","第3方");
private String code;
private String name;
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author Administrator
*/
@AllArgsConstructor
@Getter
public enum RequestTypeEnum {
/**
* 提交的类型
*/
FIRST_REQUEST("firstRequest", "首次的提交"),
NO_ACCEPT_REQUEST("noAcceptRequest", "不予受理的提交");
private String code;
private String name;
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationNoAcceptLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author system_generator
* @date 2024-06-19
*/
public interface JyjcInspectionApplicationNoAcceptLogMapper extends BaseMapper<JyjcInspectionApplicationNoAcceptLog> {
}
...@@ -18,4 +18,7 @@ public class InspectionEquipInfoModel implements Serializable { ...@@ -18,4 +18,7 @@ public class InspectionEquipInfoModel implements Serializable {
@ApiModelProperty(value = "检验类型(小类)") @ApiModelProperty(value = "检验类型(小类)")
private String inspectionType; private String inspectionType;
@ApiModelProperty(value = "申请表主键")
private String appSeq;
} }
package com.yeejoin.amos.boot.module.jyjc.api.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
import java.util.Date;
/**
* @author system_generator
* @date 2024-06-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "JyjcInspectionApplicationNoAcceptLogModel", description = "")
public class JyjcInspectionApplicationNoAcceptLogModel extends BaseModel {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "不予处理的检验检测单位编码")
private String inspectionUnitCode;
@ApiModelProperty(value = "不予处理操作日期")
private Date noAcceptDate;
@ApiModelProperty(value = "不予处理操作说明")
private String remark;
@ApiModelProperty(value = "操作人")
private String noAcceptUserId;
@ApiModelProperty(value = "报检申请表主键")
private Long applicationSeq;
}
package com.yeejoin.amos.boot.module.jyjc.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2024-06-19
*/
public interface IJyjcInspectionApplicationNoAcceptLogService {}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationNoAcceptLogMapper">
</mapper>
...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationMode ...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationMode
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionApplicationPushEvent; import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionApplicationPushEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher; import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationServiceImpl; import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -188,6 +189,21 @@ public class JyjcInspectionApplicationController extends BaseController { ...@@ -188,6 +189,21 @@ public class JyjcInspectionApplicationController extends BaseController {
} }
/** /**
* 不予受理接口(监督检验、定(首)检、检测)-通用
*
* @param params params
* @return {@link }
* @author shg
* @date 2023/12/15 13:44
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "不予受理", notes = "不予受理")
@PostMapping(value = "/flow/noAccept")
public ResponseModel<Boolean> doNoAcceptFlow(@RequestBody Map<String, Object> params) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.doNoAccept(params));
}
/**
* 撤回接口(监督检验、定(首)检、检测)-通用 * 撤回接口(监督检验、定(首)检、检测)-通用
* *
* @param sequenceNbr sequenceNbr * @param sequenceNbr sequenceNbr
...@@ -238,4 +254,16 @@ public class JyjcInspectionApplicationController extends BaseController { ...@@ -238,4 +254,16 @@ public class JyjcInspectionApplicationController extends BaseController {
JSONObject jsonObject = new JSONObject(map); JSONObject jsonObject = new JSONObject(map);
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryForEquipmentRegisterPage(jsonObject)); return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryForEquipmentRegisterPage(jsonObject));
} }
/**
* 查询检验检测机构列表(基本信息及联系人)-工作台专用
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/workbench/getInspectionUnitList")
@ApiOperation(httpMethod = "GET", value = "查询检验检测机构列表,不包括省院", notes = "查询检验检测机构列表,不包括省院")
public ResponseModel<List<TzBaseEnterpriseInfoDto>> getInspectionUnitListForWorkbench(@RequestParam String openBizType) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.getInspectionUnitListForWorkbench(openBizType));
}
} }
...@@ -204,7 +204,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen ...@@ -204,7 +204,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
equipData.setTechParams(this.populateEquipInfoWithTechParams(equipData.getEquList(), equipUnicode)); equipData.setTechParams(this.populateEquipInfoWithTechParams(equipData.getEquList(), equipUnicode));
} }
private Map<String, Object> populateEquipInfoWithTechParams(String equList, String record) { public Map<String, Object> populateEquipInfoWithTechParams(String equList, String record) {
EquipCategoryEnum productType = EquipCategoryEnum.of(Integer.parseInt(equList)); EquipCategoryEnum productType = EquipCategoryEnum.of(Integer.parseInt(equList));
Map<String, Object> echParamMap = new HashMap<>(); Map<String, Object> echParamMap = new HashMap<>();
switch (Objects.requireNonNull(productType)) { switch (Objects.requireNonNull(productType)) {
......
package com.yeejoin.amos.boot.module.jyjc.biz.listener; package com.yeejoin.amos.boot.module.jyjc.biz.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationNoAcceptLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.RequestTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.TopicEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.TopicEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationNoAcceptLogMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.InspectionEquipInfoModel; import com.yeejoin.amos.boot.module.jyjc.api.model.InspectionEquipInfoModel;
import com.yeejoin.amos.boot.module.jyjc.biz.event.listener.InspectionApplicationPushEventListener;
import com.yeejoin.amos.boot.module.jyjc.biz.listener.message.BizMessage; import com.yeejoin.amos.boot.module.jyjc.biz.listener.message.BizMessage;
import com.yeejoin.amos.boot.module.jyjc.biz.rule.InspectionEquipInfo; import com.yeejoin.amos.boot.module.jyjc.biz.rule.InspectionEquipInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
...@@ -14,6 +20,7 @@ import com.yeejoin.amos.component.rule.RuleTrigger; ...@@ -14,6 +20,7 @@ import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.rule.Rule; import com.yeejoin.amos.feign.rule.Rule;
import com.yeejoin.amos.feign.rule.model.FactBaseModel; import com.yeejoin.amos.feign.rule.model.FactBaseModel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttMessage; import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -27,6 +34,7 @@ import java.nio.charset.StandardCharsets; ...@@ -27,6 +34,7 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
...@@ -54,9 +62,20 @@ public class InspectionOrgRefreshListener extends EmqxListener { ...@@ -54,9 +62,20 @@ public class InspectionOrgRefreshListener extends EmqxListener {
@Autowired @Autowired
private RegistrationInfoMapper registrationInfoMapper; private RegistrationInfoMapper registrationInfoMapper;
@Autowired
private JyjcInspectionApplicationNoAcceptLogMapper inspectionApplicationNoAcceptLogMapper;
@Autowired
InspectionApplicationPushEventListener applicationPushEventListener;
@Value("${spring.application.name}") @Value("${spring.application.name}")
private String applicationName; private String applicationName;
@Autowired
Sequence sequence;
@Autowired
private static final int repeatTime = 2; private static final int repeatTime = 2;
@Autowired @Autowired
...@@ -99,7 +118,6 @@ public class InspectionOrgRefreshListener extends EmqxListener { ...@@ -99,7 +118,6 @@ public class InspectionOrgRefreshListener extends EmqxListener {
private void processBizMessage(BizMessage bizMessage) { private void processBizMessage(BizMessage bizMessage) {
byte[] payload = bizMessage.getMessage().getPayload(); byte[] payload = bizMessage.getMessage().getPayload();
InspectionEquipInfoModel equipInfoModel = parseObject(new String(payload, StandardCharsets.UTF_8), InspectionEquipInfoModel.class); InspectionEquipInfoModel equipInfoModel = parseObject(new String(payload, StandardCharsets.UTF_8), InspectionEquipInfoModel.class);
RegistrationInfo registrationInfo = fetchRegistrationInfo(equipInfoModel.getRecord()); RegistrationInfo registrationInfo = fetchRegistrationInfo(equipInfoModel.getRecord());
InspectionEquipInfo inspectionEquipInfo = new InspectionEquipInfo(); InspectionEquipInfo inspectionEquipInfo = new InspectionEquipInfo();
...@@ -114,9 +132,39 @@ public class InspectionOrgRefreshListener extends EmqxListener { ...@@ -114,9 +132,39 @@ public class InspectionOrgRefreshListener extends EmqxListener {
inspectionEquipInfo.setInspectionType(equipInfoModel.getInspectionType()); inspectionEquipInfo.setInspectionType(equipInfoModel.getInspectionType());
inspectionEquipInfo.setRecord(equipInfoModel.getRecord()); inspectionEquipInfo.setRecord(equipInfoModel.getRecord());
inspectionEquipInfo.setBizType(getCategoryByType(JYJCTypeEnum.of(inspectionEquipInfo.getInspectionType()))); inspectionEquipInfo.setBizType(getCategoryByType(JYJCTypeEnum.of(inspectionEquipInfo.getInspectionType())));
inspectionEquipInfo.setUuid(sequence.nextId() + "");
inspectionEquipInfo.setRequestType(this.buildRequestType(equipInfoModel));
inspectionEquipInfo.setTechParams(this.getTechParams(registrationInfo));
touchRuleWithApi(inspectionEquipInfo); touchRuleWithApi(inspectionEquipInfo);
} }
private Map<String, Object> getTechParams(RegistrationInfo registrationInfo) {
return applicationPushEventListener.populateEquipInfoWithTechParams(registrationInfo.getEquList(), registrationInfo.getRecord());
}
private String buildRequestType(InspectionEquipInfoModel equipInfoModel) {
// 工作台发起申请
if (StringUtils.isEmpty(equipInfoModel.getAppSeq())) {
return RequestTypeEnum.FIRST_REQUEST.getCode();
}
JyjcInspectionApplicationNoAcceptLog jyjcInspectionApplicationNoAcceptLog = getLastNoAcceptLog(equipInfoModel);
// 没有不予受理请求记录
if (jyjcInspectionApplicationNoAcceptLog == null) {
return RequestTypeEnum.FIRST_REQUEST.getCode();
}
// 有记录
return RequestTypeEnum.NO_ACCEPT_REQUEST.getCode();
}
private JyjcInspectionApplicationNoAcceptLog getLastNoAcceptLog(InspectionEquipInfoModel equipInfoModel) {
LambdaQueryWrapper<JyjcInspectionApplicationNoAcceptLog> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(JyjcInspectionApplicationNoAcceptLog::getApplicationSeq, equipInfoModel.getAppSeq());
wrapper.orderByDesc(JyjcInspectionApplicationNoAcceptLog::getNoAcceptDate);
wrapper.last("limit 1");
wrapper.select(JyjcInspectionApplicationNoAcceptLog::getApplicationSeq, JyjcInspectionApplicationNoAcceptLog::getInspectionUnitCode);
return inspectionApplicationNoAcceptLogMapper.selectOne(wrapper);
}
private RegistrationInfo fetchRegistrationInfo(String record) { private RegistrationInfo fetchRegistrationInfo(String record) {
return registrationInfoMapper.selectOne( return registrationInfoMapper.selectOne(
Wrappers.<RegistrationInfo>lambdaQuery().select(RegistrationInfo::getRecord, RegistrationInfo::getEquCategory, Wrappers.<RegistrationInfo>lambdaQuery().select(RegistrationInfo::getRecord, RegistrationInfo::getEquCategory,
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jyjc.biz.rule; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jyjc.biz.rule;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map; import java.util.Map;
...@@ -40,4 +41,14 @@ public class InspectionEquipInfo implements Serializable { ...@@ -40,4 +41,14 @@ public class InspectionEquipInfo implements Serializable {
@ApiModelProperty(value = "检验类型(小类)") @ApiModelProperty(value = "检验类型(小类)")
private String inspectionType; private String inspectionType;
@ApiModelProperty(value = "请求类型:firstRequest-首次的提交,noAcceptRequest-不予受理的提交")
private String requestType;
@ApiModelProperty(value = "消息唯一标识用来判断消息重复")
private String uuid;
@ApiModelProperty(value = "最近不受理检验机构code")
private String lastNoAcceptInspectionCode;
} }
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationNoAcceptLog;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationNoAcceptLogMapper;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionApplicationNoAcceptLogService;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationNoAcceptLogModel;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* 服务实现类
*
* @author system_generator
* @date 2024-06-19
*/
@Service
public class JyjcInspectionApplicationNoAcceptLogServiceImpl extends BaseService<JyjcInspectionApplicationNoAcceptLogModel,JyjcInspectionApplicationNoAcceptLog,JyjcInspectionApplicationNoAcceptLogMapper> implements IJyjcInspectionApplicationNoAcceptLogService {
/**
* 分页查询
*/
public Page<JyjcInspectionApplicationNoAcceptLogModel> queryForJyjcInspectionApplicationNoAcceptLogPage(Page<JyjcInspectionApplicationNoAcceptLogModel> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<JyjcInspectionApplicationNoAcceptLogModel> queryForJyjcInspectionApplicationNoAcceptLogList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher; ...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.JgFeignClient; import com.yeejoin.amos.boot.module.jyjc.biz.feign.JgFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl; import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
...@@ -129,6 +130,12 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -129,6 +130,12 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
@Value("classpath:/json/bizTypeInfo.json") @Value("classpath:/json/bizTypeInfo.json")
private Resource bizTypeInfo; private Resource bizTypeInfo;
/**
* 省特检院公司code
*/
@Value("${province.inspection.company.code:126100004352004822}")
private String provinceInspectionCompanyCode;
@Autowired @Autowired
private JyjcInspectionApplicationEquipMapper jyjcInspectionApplicationEquipMapper; private JyjcInspectionApplicationEquipMapper jyjcInspectionApplicationEquipMapper;
...@@ -159,6 +166,9 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -159,6 +166,9 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
@Autowired @Autowired
IdxBizJgUseInfoMapper jgUseInfoMapper; IdxBizJgUseInfoMapper jgUseInfoMapper;
@Autowired
JyjcInspectionApplicationNoAcceptLogServiceImpl noAcceptLogService;
private static final String EQU_STATE = "EQU_STATE"; private static final String EQU_STATE = "EQU_STATE";
private static final String EQU_CODE = "EQU_CODE"; private static final String EQU_CODE = "EQU_CODE";
...@@ -834,6 +844,86 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -834,6 +844,86 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
} }
@Transactional(rollbackFor = Exception.class)
public Boolean doNoAccept(Map<String, Object> params) {
String instanceId = params.get("instanceId").toString();
String nextTaskId = params.get("nextTaskId").toString();
String lockKey = CommonServiceImpl.buildJcExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if (!isLocked) {
throw new BadRequest("当前流程已经被执行!请重新打开页面查看并执行!");
}
// 流程执行时,状态及权限校验
commonService.checkForExecuteFlow(nextTaskId, instanceId);
Long sequenceNbr = Long.parseLong(params.get("sequenceNbr") + "");
JyjcInspectionApplicationModel model = this.queryBySeq(sequenceNbr);
ArrayList<String> roleListAll = new ArrayList<>();
ArrayList<String> roleList = new ArrayList<>();
String taskId = model.getNextTaskId();
//组装信息
TaskResultDTO task = new TaskResultDTO();
task.setResultCode("approvalStatus");
task.setTaskId(taskId);
task.setComment(params.getOrDefault("comments", "").toString());
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "1");
task.setVariable(map);
//执行流程
task.setNextExecuteUserCompanyCode(model.getInspectionUnitCode());
ProcessTaskDTO processTaskDTO = cmWorkflowService.reject(taskId, task);
String nextTaskName = "";
this.buildRoleList(Collections.singletonList(processTaskDTO), roleList, roleListAll);
List<WorkflowResultDto> workflowResultDtos = taskModelService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
model.setStatus(String.valueOf(FlowStatusEnum.NO_ACCEPT.getCode()));
model.setStatusName(FlowStatusEnum.NO_ACCEPT.getName());
String processDescription = (String) params.get("comments");
if (StringUtils.isNotBlank(processDescription)) {
model.setProcessDescription(processDescription);
}
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
String executorRoleIds = workflowResultDtos.get(0).getExecutorRoleIds();
nextTaskName = workflowResultDtos.get(0).getNextTaskName();
nextTaskId = workflowResultDtos.get(0).getNextTaskId();
model.setNextExecuteIds(String.join(",", roleList));
if (!org.springframework.util.ObjectUtils.isEmpty(model.getWorkflowRole())) {
model.setWorkflowRole(model.getWorkflowRole() + "," + String.join(",", roleList));
} else {
model.setWorkflowRole(String.join(",", roleList));
}
model.setNextTaskId(nextTaskId);
model.setPromoter(RequestContext.getExeUserId());
model.setNextTaskName(nextTaskName);
model.setNextExecuteIds(executorRoleIds);
model.setNextExecuteUserIds(nextUserIds);
createNextTask(model, nextTaskName, nextUserIds);
this.updateWithModel(model);
this.createNoAcceptLog(model);
// 更新流程中的流程数据
commonService.saveExecuteFlowData2Redis(model.getProcessInstanceId(), this.buildInstanceRuntimeData(model));
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
return true;
}
private void createNoAcceptLog(JyjcInspectionApplicationModel model) {
JyjcInspectionApplicationNoAcceptLogModel noAcceptLogModel = new JyjcInspectionApplicationNoAcceptLogModel();
noAcceptLogModel.setApplicationSeq(model.getSequenceNbr());
noAcceptLogModel.setInspectionUnitCode(model.getInspectionUnitCode());
noAcceptLogModel.setNoAcceptUserId(RequestContext.getExeUserId());
noAcceptLogModel.setRemark(model.getProcessDescription());
noAcceptLogService.createWithModel(noAcceptLogModel);
}
/** /**
* 撤回流程办理单 * 撤回流程办理单
*/ */
...@@ -973,7 +1063,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -973,7 +1063,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
TaskModelDto modelDto = new TaskModelDto(); TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto); BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(model.getNextExecuteIds()); modelDto.setNextExecuteUser(model.getNextExecuteIds());
if (model.getStatus().equals(FlowStatusEnum.REJECTED.getCode() + "")) { if (model.getStatus().equals(FlowStatusEnum.REJECTED.getCode() + "") || model.getStatus().equals(FlowStatusEnum.NO_ACCEPT.getCode() + "")) {
modelDto.setPageType("edit"); modelDto.setPageType("edit");
} }
TaskMessageDto obj = new TaskMessageDto(); TaskMessageDto obj = new TaskMessageDto();
...@@ -1254,4 +1344,9 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -1254,4 +1344,9 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
queryWrapper.lambda().in(IdxBizJgUseInfo::getRecord, equIds); queryWrapper.lambda().in(IdxBizJgUseInfo::getRecord, equIds);
return jgUseInfoMapper.selectList(queryWrapper); return jgUseInfoMapper.selectList(queryWrapper);
} }
public List<TzBaseEnterpriseInfoDto> getInspectionUnitListForWorkbench(String openBizType) {
List<TzBaseEnterpriseInfoDto> enterpriseInfoDtos = commonService.getInspectionUnitList(openBizType);
return enterpriseInfoDtos.stream().filter(e -> !provinceInspectionCompanyCode.contains(e.getUseCode())).collect(Collectors.toList());
}
} }
\ No newline at end of file
...@@ -37,8 +37,8 @@ spring.security.user.name=admin ...@@ -37,8 +37,8 @@ spring.security.user.name=admin
spring.security.user.password=a1234560 spring.security.user.password=a1234560
spring.security.user.roles=SBA_ADMIN spring.security.user.roles=SBA_ADMIN
amos.system.user.user-name=robot_admin amos.system.user.user-name=tzs_shg
amos.system.user.password=a1234567 amos.system.user.password=a1234560
amos.system.user.app-key=AMOS_STUDIO amos.system.user.app-key=AMOS_STUDIO
amos.system.user.product=AMOS_STUDIO_WEB amos.system.user.product=AMOS_STUDIO_WEB
......
...@@ -43,7 +43,12 @@ public enum FlowStatusEnum { ...@@ -43,7 +43,12 @@ public enum FlowStatusEnum {
/** /**
* 已作废 * 已作废
*/ */
TO_BE_DISCARD(6617, "已作废"); TO_BE_DISCARD(6617, "已作废"),
/**
* 不予受理
*/
NO_ACCEPT(6618, "不予受理");
private final int code; private final int code;
......
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