Commit d4829c2a authored by suhuiguang's avatar suhuiguang

1.检验检测自测及需求开发修改

parent 458eb45d
......@@ -43,7 +43,8 @@ public enum DocumentEnum {
WBHT("wbht", "维保合同"),
AQBHZZ("aqbhzz", "安全保护装置的型式试验证书"),
ZJHG("zjhg", "自检合格证明"),
AZJY("azjy", "安装监检报告");
AZJY("azjy", "安装监检报告"),
ZJCY("azjy", "整机船运证明");
private String code;
private String name;
......
......@@ -124,20 +124,18 @@
<choose>
<when test="identity == 'apply'">
and tzjia.application_unit_code = #{currentApplicationUnitCode}
and tzjia.application_unit_code = #{currentApplicationUnitCode} OR tzjia.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' )
</when>
<when test="identity == 'receive'">
and tzjia.inspection_unit_code = #{currentInspectionUnitCode}
and tzjia.inspection_unit_code = #{currentInspectionUnitCode} OR tzjia.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' )
</when>
<when test="identity == 'all'">
and (tzjia.application_unit_code = #{currentApplicationUnitCode} or tzjia.inspection_unit_code = #{currentInspectionUnitCode})
and (tzjia.application_unit_code = #{currentApplicationUnitCode} or tzjia.inspection_unit_code = #{currentInspectionUnitCode}) OR tzjia.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' )
</when>
<otherwise>
1=2
</otherwise>
</choose>
OR (tzjia.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ) )
</where>
order by tzjia.application_no desc
</select>
......
......@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.enums.LicenceTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.TopicEnum;
import com.yeejoin.amos.boot.module.jyjc.biz.rule.InspectionEquipInfo;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.CommonserviceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
......@@ -40,7 +41,7 @@ public class RuleActionHandler {
private final CommonserviceImpl commonserviceImpl;
private final UseInfoMapper useInfoMapper;
@Autowired
public RuleActionHandler(EmqKeeper emqKeeper, TzBaseUnitLicenceMapper baseUnitLicenceMapper,
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper, CommonserviceImpl commonserviceImpl,
UseInfoMapper useInfoMapper) {
......@@ -62,7 +63,7 @@ public class RuleActionHandler {
try {
//获取单位许可信息
List<TzBaseUnitLicence> unitLicenceList = getBaseUnitLicenceList(itemCode);
List<TzBaseEnterpriseInfo> tzBaseEnterpriseInfoList = getInspectionUnitList(unitLicenceList, isMatchArea, inspectionEquipInfo.getRecord());
List<TzBaseEnterpriseInfoDto> tzBaseEnterpriseInfoList = getInspectionUnitList(unitLicenceList, isMatchArea, inspectionEquipInfo.getRecord());
publishMqttMessage(inspectionEquipInfo.getComponentKey(), tzBaseEnterpriseInfoList);
} catch (MqttException e) {
......@@ -78,8 +79,9 @@ public class RuleActionHandler {
.ge(TzBaseUnitLicence::getExpiryDate, LocalDate.now()));
}
private List<TzBaseEnterpriseInfo> getInspectionUnitList(List<TzBaseUnitLicence> unitLicenceList, Boolean isMatchArea, String record) {
private List<TzBaseEnterpriseInfoDto> getInspectionUnitList(List<TzBaseUnitLicence> unitLicenceList, Boolean isMatchArea, String record) {
if (ValidationUtil.isEmpty(unitLicenceList)) {
log.info("按照资质未匹配到对应的单位,返回全部单位");
return commonserviceImpl.getInspectionUnitList();
}
......@@ -92,11 +94,16 @@ public class RuleActionHandler {
.map(TzBaseUnitLicence::getUnitCode)
.collect(Collectors.toList());
return tzBaseEnterpriseInfoMapper.getInspectionUnitListByCode(unitCodes, city);
List<TzBaseEnterpriseInfoDto> matchEnterpriseInfos = tzBaseEnterpriseInfoMapper.getInspectionUnitListByCode(unitCodes, city);
if(matchEnterpriseInfos.isEmpty()){
log.info("按照资质匹配到对应的单位、按照地市未匹配到单位,将返回全部单位");
return commonserviceImpl.getInspectionUnitList();
}
return matchEnterpriseInfos;
}
private void publishMqttMessage(String componentKey, Object message) throws MqttException {
log.info("{}: {}", TopicEnum.INSPECTION_LIST_PUSH.getName(), String.format(TopicEnum.INSPECTION_LIST_PUSH.getTopic(), componentKey));
log.info("报检规则推送到web主题:{}:,消息内容为:{}", String.format(TopicEnum.INSPECTION_LIST_PUSH.getTopic(), componentKey), JSON.toJSONString(message));
try {
emqKeeper.getMqttClient().publish(String.format(TopicEnum.INSPECTION_LIST_PUSH.getTopic(), componentKey),
JSON.toJSONString(message).getBytes(), RuleConfig.DEFAULT_QOS, false);
......
package com.yeejoin.amos.boot.module.jyjc.biz.config;
import lombok.extern.slf4j.Slf4j;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Slf4j
public class RedissonManager {
/**
* 集群环境使用-节点信息
*/
@Value("${spring.redis.cluster.nodes:default}")
private String clusterNodes;
/**
* 公共-密码
*/
@Value("${spring.redis.password}")
private String password;
/**
* 单机环境使用
*/
@Value("${spring.redis.host:default}")
private String host;
/**
* 单机环境使用
*/
@Value("${spring.redis.port:default}")
private String port;
/**
* 单机环境使用
*/
@Value("${spring.redis.database:0}")
private int database;
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "cluster")
public RedissonClient redissonClient() {
// 集群环境使用
Config config = new Config();
config.useClusterServers()
.addNodeAddress(clusterNodes.split(","))
.setPassword(password);
return Redisson.create(config);
}
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "singleton", matchIfMissing = true)
public RedissonClient redissonSingletonClient() {
// 单机环境使用
Config config = new Config();
config.useSingleServer().setAddress(host + ":" + port).setPassword(password).setDatabase(database);
return Redisson.create(config);
}
}
......@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.CommonserviceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.EquipRegularlyRemindServicelmpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import io.swagger.annotations.Api;
......@@ -109,7 +110,7 @@ public class CommonController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getInspectionUnitList")
@ApiOperation(httpMethod = "GET", value = "查询检验检测机构列表(基本信息及联系人)", notes = "查询检验检测机构列表(基本信息及联系人)")
public ResponseModel<List<TzBaseEnterpriseInfo>> getInspectionUnitList() {
public ResponseModel<List<TzBaseEnterpriseInfoDto>> getInspectionUnitList() {
return ResponseHelper.buildResponse(commonserviceImpl.getInspectionUnitList());
}
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationRequstDto;
import com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -273,7 +274,7 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getInspectionUnitList")
@ApiOperation(httpMethod = "GET", value = "查询检验检测机构列表(基本信息及联系人)", notes = "查询检验检测机构列表(基本信息及联系人)by 开通机构过滤")
public ResponseModel<List<TzBaseEnterpriseInfo>> getInspectionUnitList() {
public ResponseModel<List<TzBaseEnterpriseInfoDto>> getInspectionUnitList() {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.getInspectionUnitList());
}
......@@ -282,7 +283,7 @@ public class JyjcOpeningApplicationController extends BaseController {
*
*
* @param
* @return {@link ResponseModel< List< TzBaseEnterpriseInfo>>}
* @return {@link ResponseModel< List< TzBaseEnterpriseInfoDto>>}
* @author yangyang
* @throws
* @date 2023/12/22 16:13
......
......@@ -2,13 +2,14 @@ package com.yeejoin.amos.boot.module.jyjc.biz.listener;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jyjc.api.enums.EquipCategoryEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.TopicEnum;
import com.yeejoin.amos.boot.module.jyjc.api.model.InspectionEquipInfoModel;
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.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.rule.RuleTrigger;
......@@ -20,12 +21,14 @@ import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.component.emq.EmqxListener;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.annotation.PostConstruct;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.Objects;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import static com.alibaba.fastjson.JSON.parseObject;
import static com.alibaba.fastjson.JSON.toJSONString;
import static com.yeejoin.amos.boot.module.jyjc.api.enums.CategoryEnum.getCategoryByType;
......@@ -65,6 +68,14 @@ public class InspectionOrgRefreshListener extends EmqxListener {
@Autowired
private EquipTechParamRopewayMapper equipTechParamRopewayMapper;
@Value("${spring.application.name}")
private String applicationName;
private static final int REPEAT_TIME = 2;
@Autowired
RedisUtils redisUtils;
@Override
public void processMessage(String topic, MqttMessage message) {
if (log.isInfoEnabled()) {
......@@ -75,15 +86,25 @@ public class InspectionOrgRefreshListener extends EmqxListener {
@PostConstruct
public void init() throws Exception {
emqKeeper.subscript(TopicEnum.INSPECTION_LIST_REFRESH.getTopic(), 2, this);
Executors.newSingleThreadExecutor().submit(this::processMessages);
emqKeeper.subscript(this.buildShareTopic(TopicEnum.INSPECTION_LIST_REFRESH.getTopic()), 2, this);
Executors.newSingleThreadExecutor().submit(this::takeMsg);
}
private String buildShareTopic(String topic) {
return "$share/" + applicationName + "/" + topic;
}
private void processMessages() {
private void takeMsg() {
while (true) {
try {
BizMessage bizMessage = BLOCKING_QUEUE.take();
// 解决前端组件在属性变化时重复发送两次问题
if(!redisUtils.hasKey(bizMessage.getTopic())){
redisUtils.set(bizMessage.getTopic(),true, REPEAT_TIME);
processBizMessage(bizMessage);
} else {
log.warn("消息在{}秒内重复,", REPEAT_TIME);
}
} catch (Exception e) {
log.error("数据处理失败", e);
}
......@@ -159,7 +180,7 @@ public class InspectionOrgRefreshListener extends EmqxListener {
RequestContext.setProduct(amosRequestContext.getProduct());
// 2.调用规则
try {
ruleTrigger.publish(inspectionEquipInfo, ruleName +"/"+ inspectionEquipInfo.getBizType(), null);
ruleTrigger.publish(inspectionEquipInfo, ruleName + "/" + inspectionEquipInfo.getBizType(), null);
} catch (Exception e) {
log.error("调用规则触发风险模型失败", e);
}
......
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
......@@ -92,7 +93,7 @@ public class CommonserviceImpl {
}
public List<TzBaseEnterpriseInfo> getInspectionUnitList() {
public List<TzBaseEnterpriseInfoDto> getInspectionUnitList() {
return enterpriseInfoMapper.getInspectionUnitList(UNIT_TYPE);
}
......
......@@ -263,7 +263,6 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
equipInfo.setApplicationSeq(model.getSequenceNbr());
}
applicationEquipService.saveBatch(equipInfos);
// Map<String, Object> map = BeanUtil.beanToMap(model);
// 附件保存
List<String> enumNameList = DocumentEnum.getEnumNameList();
List<JyjcInspectionApplicationAttachmentModel> attachmentModels = new ArrayList<>();
......@@ -359,6 +358,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
model.setStatusName(FlowStatusEnum.TO_SUBMITTED.getName());
model.setNextTaskName(taskName1);
model.setNextExecuteIds(executorRoleIds);
model.setNextExecuteUserIds(nextUserIds);
executeOneStep(model, taskName1, nextUserIds);
this.updateWithModel(model);
}
......@@ -757,7 +757,6 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
}
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
String[] taskName = new String[]{"流程结束"};
// FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(noticeDto.getInstanceId());
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(inspectionApplicationModel.getProcessInstanceId());
......@@ -801,7 +800,6 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
LambdaQueryWrapper<JyjcInspectionApplication> lambda = new QueryWrapper<JyjcInspectionApplication>().lambda();
lambda.eq(JyjcInspectionApplication::getSequenceNbr, sequenceNbr);
JyjcInspectionApplication entity = this.getBaseMapper().selectOne(lambda);
// JyjcInspectionApplication entity = this.lambdaQuery().eq(JyjcInspectionApplication::getProcessInstanceId, instanceId).one();
if (entity == null) {
return;
}
......@@ -906,12 +904,6 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
taskV2Model.setTaskStatusLabel(model.getStatusName());
taskV2Model.setFlowStatus(Integer.valueOf(model.getStatus()));
taskV2Model.setFlowStatusLabel(model.getStatusName());
// taskV2Model.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
// taskV2Model.setStartUser(jgChangeRegistrationName.getCreateUserName());
// taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
// taskV2Model.setStartDate(jgChangeRegistrationName.getCreateDate());
// taskV2Model.setStartUserId(jgChangeRegistrationName.getCreateUserId());
// taskV2Model.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(model.getNextExecuteIds());
......
......@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient;
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.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
......@@ -98,16 +99,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Autowired
private RedisUtils redisUtils;
@Autowired
private TzBaseUnitLicenceMapper unitLicenceMapper;
@Autowired
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@Autowired
private TzsUserInfoMapper userInfoMapper;
@Autowired
CommonserviceImpl commonservice;
@Autowired
private WorkflowHelper workflowHelper;
@Autowired
private WorkflowFeignClient workflowFeignClient;
@Autowired
......@@ -669,8 +668,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return true;
}
public List<TzBaseEnterpriseInfo> getInspectionUnitList() {
List<TzBaseEnterpriseInfo> tzBaseEnterpriseInfos = enterpriseInfoMapper.getInspectionUnitList(CommonserviceImpl.UNIT_TYPE);
public List<TzBaseEnterpriseInfoDto> getInspectionUnitList() {
List<TzBaseEnterpriseInfoDto> tzBaseEnterpriseInfos = enterpriseInfoMapper.getInspectionUnitList(CommonserviceImpl.UNIT_TYPE);
if (ValidationUtil.isEmpty(tzBaseEnterpriseInfos)) {
return Collections.EMPTY_LIST;
}
......
......@@ -20,6 +20,7 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TzBaseEnterpriseInfoDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
......@@ -301,4 +302,7 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
@ApiModelProperty(value = "企业标签信息")
private String regulatoryLabels;
@ApiModelProperty(value = "use_code下滑线use_unit")
private String useCodeAndName;
}
......@@ -51,9 +51,9 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
* 查找企业关联设备详情列表
*
*/
List<TzBaseEnterpriseInfo> getInspectionUnitList(@Param("unitType") String unitType);
List<TzBaseEnterpriseInfoDto> getInspectionUnitList(@Param("unitType") String unitType);
List<TzBaseEnterpriseInfo> getInspectionUnitListByCode(List<String> codes, @Param("city") String city);
List<TzBaseEnterpriseInfoDto> getInspectionUnitListByCode(List<String> codes, @Param("city") String city);
/**
* 根据ID查找企业详情信息
......
......@@ -154,11 +154,12 @@
<select id="selectByUseUnit" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo">
select * from tz_base_enterprise_info where use_unit = #{useUnit}
</select>
<select id="getInspectionUnitList" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo">
<select id="getInspectionUnitList" resultType="com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto">
SELECT
info.sequence_nbr,
info.use_code,
info.use_unit,
concat(info.use_code,'_',info.use_unit) as useCodeAndName,
info.use_contact,
info.contact_phone
FROM
......@@ -168,7 +169,7 @@
where unit_type LIKE CONCAT('%',#{unitType},'%') group by info.use_code
</select>
<select id="getInspectionUnitListByCode" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo">
<select id="getInspectionUnitListByCode" resultType="com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto">
SELECT
info.sequence_nbr,
info.use_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