Commit 6dbda43b authored by chenzhao's avatar chenzhao

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

parents 353d706c 01fe80aa
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @author LiuLin
* @date 2024年01月03日 18:05
*/
@Getter
@AllArgsConstructor
public enum CategoryEnum {
DETECTION("detection", JYJCTypeEnum.AQFJY, JYJCTypeEnum.DTJC),
FIRST_INSPECTION("firstinspect", JYJCTypeEnum.DQJY, JYJCTypeEnum.SCJY),
SUPERVISE("supervise", JYJCTypeEnum.WXJDJY, JYJCTypeEnum.GZJDJY, JYJCTypeEnum.AZJDJY);
private final String category;
private final Set<JYJCTypeEnum> associatedTypes;
CategoryEnum(String category, JYJCTypeEnum... types) {
this.category = category;
this.associatedTypes = new HashSet<>(Arrays.asList(types));
}
public static String getCategoryByType(JYJCTypeEnum type) {
for (CategoryEnum ce : values()) {
if (ce.associatedTypes.contains(type)) {
return ce.category;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 八大类对应code枚举
* @author LiuLin
* @date 2024年01月03日 18:05
*/
@Getter
@AllArgsConstructor
public enum EquipCategoryEnum {
IDX_BIZ_JG_TECH_PARAMS_BOILER(1000),
IDX_BIZ_JG_TECH_PARAMS_VESSEL(2000),
IDX_BIZ_JG_TECH_PARAMS_ELEVATOR(3000),
IDX_BIZ_JG_TECH_PARAMS_LIFTING(4000),
IDX_BIZ_JG_TECH_PARAMS_VEHICLE(5000),
IDX_BIZ_JG_TECH_PARAMS_RIDES(6000),
IDX_BIZ_JG_TECH_PARAMS_PIPELINE(8000),
IDX_BIZ_JG_TECH_PARAMS_ROPEWAY(9000);
private final int equList;
public static EquipCategoryEnum of(int equList) {
for (EquipCategoryEnum ec : values()) {
if (ec.equList == equList) {
return ec;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author LiuLin
*/
@AllArgsConstructor
@Getter
public enum JYJCTypeEnum {
/**
* 检验检测类型
*/
AQFJY("AQFJY", "安全阀校验"),
DTJC("DTJC", "电梯检测"),
DQJY("DQJY", "定期检验"),
SCJY("SCJY", "首次检验"),
WXJDJY("WXJDJY", "维修监督检验"),
GZJDJY("GZJDJY", "改造监督检验"),
AZJDJY("AZJDJY", "安装监督检验");
private final String code;
private final String name;
public static JYJCTypeEnum of(String code) {
for (JYJCTypeEnum e : JYJCTypeEnum.values()) {
if (e.getCode().equals(code)) {
return e;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LicenceTypeEnum {
JY_JC("jyjc", "检验检测");
private final String code;
private final String name;
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author LiuLin
*/
@AllArgsConstructor
@Getter
public enum TopicEnum {
/**
* 检验检验报检机构刷新相关主题
*/
INSPECTION_LIST_PUSH("检验检测报检机构数据推送主题","%s/inspection-list/push"),
INSPECTION_LIST_REFRESH("检验检测报检机构刷新请求主题","+/inspection-list/refresh");
private final String name;
private final String topic;
}
package com.yeejoin.amos.boot.module.jyjc.api.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author LiuLin
* @date 2024年01月02日 16:47
*/
@Data
@ApiModel(value = "InspectionEquipInfoModel")
public class InspectionEquipInfoModel implements Serializable {
@ApiModelProperty(value = "设备ID")
private String record;
@ApiModelProperty(value = "检验类型(小类)")
private String inspectionType;
}
package com.yeejoin.amos.boot.module.jyjc.biz.action;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
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.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper;
import com.yeejoin.amos.component.rule.config.RuleConfig;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author LiuLin
* @date 2024年01月02日 15:45
*/
@Component
@Slf4j
public class RuleActionHandler {
private final EmqKeeper emqKeeper;
private final TzBaseUnitLicenceMapper baseUnitLicenceMapper;
private final TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
private final CommonserviceImpl commonserviceImpl;
private final UseInfoMapper useInfoMapper;
@Autowired
public RuleActionHandler(EmqKeeper emqKeeper, TzBaseUnitLicenceMapper baseUnitLicenceMapper,
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper, CommonserviceImpl commonserviceImpl,
UseInfoMapper useInfoMapper) {
this.emqKeeper = emqKeeper;
this.baseUnitLicenceMapper = baseUnitLicenceMapper;
this.tzBaseEnterpriseInfoMapper = tzBaseEnterpriseInfoMapper;
this.commonserviceImpl = commonserviceImpl;
this.useInfoMapper = useInfoMapper;
}
/**
* 规则回调方法
* @param bizObj 请求变量参数
* @param itemCode 核对项目编码,多个用逗号分割
* @param isMatchArea 是否进行属地过滤(检验检测机构的开通区域包含设备归属地市),true-过滤,false-不过滤
*/
public void filterInspectionOrgAction(Object bizObj, String itemCode, Boolean isMatchArea) {
InspectionEquipInfo inspectionEquipInfo = (InspectionEquipInfo) bizObj;
try {
//获取单位许可信息
List<TzBaseUnitLicence> unitLicenceList = getBaseUnitLicenceList(itemCode);
List<TzBaseEnterpriseInfo> tzBaseEnterpriseInfoList = getInspectionUnitList(unitLicenceList, isMatchArea, inspectionEquipInfo.getRecord());
publishMqttMessage(inspectionEquipInfo.getComponentKey(), tzBaseEnterpriseInfoList);
} catch (MqttException e) {
log.error("Error publishing MQTT message: {}", e.getMessage());
}
}
private List<TzBaseUnitLicence> getBaseUnitLicenceList(String itemCode) {
return baseUnitLicenceMapper.selectList(new LambdaQueryWrapper<TzBaseUnitLicence>()
.select(TzBaseUnitLicence::getUnitCode)
.eq(TzBaseUnitLicence::getLicenceType, LicenceTypeEnum.JY_JC.getCode())
.in(TzBaseUnitLicence::getItemCode, Arrays.asList(itemCode.split(",")))
.ge(TzBaseUnitLicence::getExpiryDate, LocalDate.now()));
}
private List<TzBaseEnterpriseInfo> getInspectionUnitList(List<TzBaseUnitLicence> unitLicenceList, Boolean isMatchArea, String record) {
if (ValidationUtil.isEmpty(unitLicenceList)) {
return commonserviceImpl.getInspectionUnitList();
}
//是否进行属地过滤
String city = isMatchArea ? Optional.ofNullable(useInfoMapper.selectOne(
Wrappers.<UseInfo>lambdaQuery().select(UseInfo::getCity)
.eq(UseInfo::getRecord, record))).map(UseInfo::getCity).orElse(null) : "";
List<String> unitCodes = unitLicenceList.stream()
.map(TzBaseUnitLicence::getUnitCode)
.collect(Collectors.toList());
return tzBaseEnterpriseInfoMapper.getInspectionUnitListByCode(unitCodes, city);
}
private void publishMqttMessage(String componentKey, Object message) throws MqttException {
log.info("{}: {}", TopicEnum.INSPECTION_LIST_PUSH.getName(), String.format(TopicEnum.INSPECTION_LIST_PUSH.getTopic(), componentKey));
try {
emqKeeper.getMqttClient().publish(String.format(TopicEnum.INSPECTION_LIST_PUSH.getTopic(), componentKey),
JSON.toJSONString(message).getBytes(), RuleConfig.DEFAULT_QOS, false);
} catch (MqttException e) {
log.error("Error publishing MQTT message: {}", e.getMessage());
throw e;
}
}
}
...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jyjc.biz.controller; ...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.CommonserviceImpl; 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.entity.TzBaseEnterpriseInfo; 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.entity.TzsUserInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -32,6 +34,8 @@ public class CommonController extends BaseController { ...@@ -32,6 +34,8 @@ public class CommonController extends BaseController {
@Autowired @Autowired
CommonserviceImpl commonserviceImpl; CommonserviceImpl commonserviceImpl;
@Autowired
EquipRegularlyRemindServicelmpl equipRegularlyRemindServicelmpl;
/** /**
* 新增 * 新增
...@@ -100,4 +104,14 @@ public class CommonController extends BaseController { ...@@ -100,4 +104,14 @@ public class CommonController extends BaseController {
return ResponseHelper.buildResponse(commonserviceImpl.getInspectionUnitBySequenceNbr(sequenceNbr)); return ResponseHelper.buildResponse(commonserviceImpl.getInspectionUnitBySequenceNbr(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/test1")
@ApiOperation(httpMethod = "GET", value = "查询检验检测机构基本信息", notes = "查询检验检测机构基本信息")
public ResponseModel sendReminderMessage() {
equipRegularlyRemindServicelmpl.sendReminderMessage();
return CommonResponseUtil.success();
}
} }
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.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.mapper.*;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.rule.RuleTrigger;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
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.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;
/**
* @author Administrator
*/
@Component
@Slf4j
public class InspectionOrgRefreshListener extends EmqxListener {
private static final BlockingQueue<BizMessage> BLOCKING_QUEUE = new LinkedBlockingQueue<>();
@Value("${inspection.rule.project-name:报检规则}")
private String ruleName;
@Autowired
private EmqKeeper emqKeeper;
@Autowired
private RuleTrigger ruleTrigger;
@Autowired
private AmosRequestContext amosRequestContext;
@Autowired
private RegistrationInfoMapper registrationInfoMapper;
@Autowired
private EquipTechParamBoilerMapper equipTechParamBoilerMapper;
@Autowired
private EquipTechParamVesselMapper equipTechParamVesselMapper;
@Autowired
private EquipTechParamElevatorMapper equipTechParamElevatorMapper;
@Autowired
private EquipTechParamLiftingMapper equipTechParamLiftingMapper;
@Autowired
private EquipTechParamVehicleMapper equipTechParamVehicleMapper;
@Autowired
private EquipTechParamRidesMapper equipTechParamRidesMapper;
@Autowired
private EquipTechParamPipelineMapper equipTechParamPipelineMapper;
@Autowired
private EquipTechParamRopewayMapper equipTechParamRopewayMapper;
@Override
public void processMessage(String topic, MqttMessage message) {
if (log.isInfoEnabled()) {
log.info("收到消息主题:{},消息内容:{}", topic, message.toString());
}
BLOCKING_QUEUE.add(new BizMessage(topic, message));
}
@PostConstruct
public void init() throws Exception {
emqKeeper.subscript(TopicEnum.INSPECTION_LIST_REFRESH.getTopic(), 2, this);
Executors.newSingleThreadExecutor().submit(this::processMessages);
}
private void processMessages() {
while (true) {
try {
BizMessage bizMessage = BLOCKING_QUEUE.take();
processBizMessage(bizMessage);
} catch (Exception e) {
log.error("数据处理失败", e);
}
}
}
private void processBizMessage(BizMessage bizMessage) {
byte[] payload = bizMessage.getMessage().getPayload();
InspectionEquipInfoModel equipInfoModel = parseObject(new String(payload, StandardCharsets.UTF_8), InspectionEquipInfoModel.class);
RegistrationInfo registrationInfo = fetchRegistrationInfo(equipInfoModel.getRecord());
InspectionEquipInfo inspectionEquipInfo = new InspectionEquipInfo();
if (registrationInfo != null) {
inspectionEquipInfo.setEquCategory(registrationInfo.getEquCategory());
inspectionEquipInfo.setEquList(registrationInfo.getEquList());
inspectionEquipInfo.setEquDefine(registrationInfo.getEquDefine());
inspectionEquipInfo.setComponentKey(bizMessage.getTopic().split("/")[0]);
inspectionEquipInfo.setInspectionType(equipInfoModel.getInspectionType());
inspectionEquipInfo.setRecord(equipInfoModel.getRecord());
populateEquipInfoWithTechParams(inspectionEquipInfo, registrationInfo);
}
inspectionEquipInfo.setBizType(getCategoryByType(JYJCTypeEnum.of(inspectionEquipInfo.getInspectionType())));
touchRule(inspectionEquipInfo);
}
private RegistrationInfo fetchRegistrationInfo(String record) {
return registrationInfoMapper.selectOne(
Wrappers.<RegistrationInfo>lambdaQuery().select(RegistrationInfo::getRecord, RegistrationInfo::getEquCategory,
RegistrationInfo::getEquDefine, RegistrationInfo::getEquList)
.eq(RegistrationInfo::getRecord, record));
}
private void populateEquipInfoWithTechParams(InspectionEquipInfo inspectionEquipInfo, RegistrationInfo registrationInfo) {
EquipCategoryEnum productType = EquipCategoryEnum.of(Integer.parseInt(registrationInfo.getEquList()));
switch (Objects.requireNonNull(productType)) {
case IDX_BIZ_JG_TECH_PARAMS_BOILER:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamBoilerMapper.getBoilerByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_VESSEL:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamVesselMapper.getVesselByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_ELEVATOR:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamElevatorMapper.getElevatorByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_LIFTING:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamLiftingMapper.getLiftingByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_VEHICLE:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamVehicleMapper.getVehicleByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_RIDES:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamRidesMapper.getRidesByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_PIPELINE:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamPipelineMapper.getPipelineByDefaultValue(registrationInfo.getRecord())));
break;
case IDX_BIZ_JG_TECH_PARAMS_ROPEWAY:
inspectionEquipInfo.setTechParams(BeanUtil.beanToMap(equipTechParamRopewayMapper.getRopewayByDefaultValue(registrationInfo.getRecord())));
break;
default:
break;
}
}
private void touchRule(InspectionEquipInfo inspectionEquipInfo) {
if (log.isInfoEnabled()) {
log.info("发送规则的消息对象:{}", toJSONString(inspectionEquipInfo));
}
RequestContext.setToken(amosRequestContext.getToken());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setProduct(amosRequestContext.getProduct());
// 2.调用规则
try {
ruleTrigger.publish(inspectionEquipInfo, ruleName +"/"+ inspectionEquipInfo.getBizType(), null);
} catch (Exception e) {
log.error("调用规则触发风险模型失败", e);
}
}
}
package com.yeejoin.amos.boot.module.jyjc.biz.listener.message;
import lombok.Data;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import java.io.Serializable;
@Data
public class BizMessage implements Serializable {
/**
* 主题
*/
private String topic;
/**
* 消息题
*/
private MqttMessage message;
public BizMessage(String topic, MqttMessage message){
this.topic = topic;
this.message = message;
}
}
package com.yeejoin.amos.boot.module.jyjc.biz.rule;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* @author LiuLin
* @date 2024年01月02日 16:47
*/
@Data
@ApiModel(value = "InspectionEquipInfo")
public class InspectionEquipInfo implements Serializable {
@ApiModelProperty(value = "请求唯一标识")
private String componentKey;
@ApiModelProperty(value = "设备ID")
private String record;
@ApiModelProperty(value = "检验类型(大类与菜单对应)")
private String bizType;
@ApiModelProperty(value = "技术参数")
private Map<String, Object> techParams;
@ApiModelProperty(value = "是否防爆")
private Boolean isAntiExplosion;
@ApiModelProperty(value = "设备品种")
private String equDefine;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "检验类型(小类)")
private String inspectionType;
}
...@@ -110,7 +110,7 @@ public class CommonserviceImpl { ...@@ -110,7 +110,7 @@ public class CommonserviceImpl {
model.setTaskStatus(Integer.valueOf(params.getOrDefault("taskStatus",0).toString())); model.setTaskStatus(Integer.valueOf(params.getOrDefault("taskStatus",0).toString()));
model.setTaskStatusLabel(params.getOrDefault("taskStatusLabel","").toString()); model.setTaskStatusLabel(params.getOrDefault("taskStatusLabel","").toString());
model.setTaskSource(params.getOrDefault("taskSource","workFlow").toString()); model.setTaskSource(params.getOrDefault("taskSource","workFlow").toString());
// model.setTerminal(params.getOrDefault("terminal","WEB").toString()); // model.setTerminal(params.getOrDefault("terminal","WEB").toString());
model.setCreateDate(new Date()); model.setCreateDate(new Date());
model.setFinishStatus(false); model.setFinishStatus(false);
model.setTaskCode(params.get("taskCode").toString()); model.setTaskCode(params.get("taskCode").toString());
......
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.dto.UseInfoModel;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@EnableScheduling
@Service
@Slf4j
public class EquipRegularlyRemindServicelmpl {
@Autowired
private UseInfoMapper useInfoMapper;
@Autowired
private TzsUserInfoMapper tzsUserInfoMapper;
@Autowired
CommonserviceImpl commonservice;
@Scheduled(cron = "${equip-hint:0 0 8 * * ?}")
public void sendReminderMessage(){
//获取当前日期
String currentDate = DateUtils.getDateNowShortStr();
Date curDate = null;
try {
curDate = DateUtils.dateParse(currentDate, null);
} catch (ParseException e) {
e.printStackTrace();
}
Date date = DateUtils.dateAddDays(curDate, 31);
List<String> types = new ArrayList<>();
List<String> status = new ArrayList<>();
types.add("DTJC");
types.add("DQJY");
//查询需要发送消息的设备
// LambdaQueryWrapper<UseInfo> query = new LambdaQueryWrapper<>();
// query.in(UseInfo::getLastInspectType,types);
// query.in(UseInfo::getStatus,status);
// query.le(UseInfo::getNextInspectDate,date).or().ge(UseInfo::getNextInspectDate,currentDate);
// List<UseInfo> equips = useInfoMapper.selectList(query);
//
List<UseInfoModel> equips = useInfoMapper.selecEquipInfotList(types, status, date, curDate);
//超期设备
List<UseInfoModel> cqEquip = new ArrayList<>();
//临期设备
List<UseInfoModel> lqEquip = new ArrayList<>();
for (UseInfoModel equip : equips) {
//下次检验时间小于当前时间为超期 反之为临期
if (DateUtils.dateCompare(equip.getNextInspectDate(),curDate) < 0 ){
cqEquip.add(equip);
}else {
lqEquip.add(equip);
}
}
Map<String, List<UseInfoModel>> cqEquips = cqEquip.stream().collect(Collectors.groupingBy(UseInfoModel::getUseUnitCreditCode));
Map<String, List<UseInfoModel>> lqEquips = lqEquip.stream().collect(Collectors.groupingBy(UseInfoModel::getUseUnitCreditCode));
for (String s : cqEquips.keySet()) {
//查询单位下共有多少超期及临期装备
List<UseInfoModel> useInfos = cqEquips.get(s);
int cq = useInfos.size();
int lq = lqEquips.containsKey(s)?lqEquips.get(s).size():0;
//查询符合发送规则的人员电话
LambdaQueryWrapper<TzsUserInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(TzsUserInfo::getPost,"6552");
queryWrapper.isNotNull(TzsUserInfo::getPhone);
List<TzsUserInfo> tzsUserInfos = tzsUserInfoMapper.selectList(queryWrapper);
List<String> phones = tzsUserInfos.stream().filter(e-> StringUtil.isNotEmpty(e.getPhone())).map(TzsUserInfo::getPhone).collect(Collectors.toList());
List<String> userIds = tzsUserInfos.stream().filter(e-> StringUtil.isNotEmpty(e.getAmosUserId())).map(TzsUserInfo::getAmosUserId).collect(Collectors.toList());
// 组装短信内容 发送短信
HashMap<String,String> smsParams = new HashMap<>();
smsParams.put("smsCode","EQU_TZS_001");
smsParams.put("lq", String.valueOf(lq));
smsParams.put("cq", String.valueOf(cq));
commonservice.sendMessage(smsParams,phones);
//发送平台消息
if ( lqEquips.containsKey(s)){
useInfos.addAll(lqEquips.get(s));
}
for (UseInfoModel useInfo : useInfos) {
Date nextInspectDate = useInfo.getNextInspectDate();
try {
MessageModel messageModel = new MessageModel();
messageModel.setCategory(1); //1 :消息通知
messageModel.setRelationId(useInfo.getRecord());
int day = DateUtils.dateBetween(nextInspectDate, curDate);
int day1 = DateUtils.dateBetween(nextInspectDate, date);
if (day > 0) {
messageModel.setTitle("设备超期提醒");
messageModel.setBody(useInfo.getProductName()+"("+(useInfo.getSupervisoryCode()==null?"":useInfo.getSupervisoryCode()+") 已超期"+ Math.abs(day)+"天"));
}else if (day1 > 0){
messageModel.setTitle("设备临期提醒");
messageModel.setBody(useInfo.getProductName()+"("+(useInfo.getSupervisoryCode()==null?"":useInfo.getSupervisoryCode()+") 还有"+ Math.abs(day1)+"天将到期"));
}
messageModel.setRecivers(userIds);
messageModel.setIsSendWeb(true);
messageModel.setMsgType("EQUIP_HINT");
messageModel.setMsgTypeLabel("设备检验");
Systemctl.messageClient.create(messageModel);
log.info("信息发送完成");
} catch (ParseException e) {
e.printStackTrace();
}
}
}
}
}
...@@ -28,10 +28,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.CategoryOtherInfo; ...@@ -28,10 +28,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.CategoryOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
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;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
...@@ -81,7 +78,8 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR ...@@ -81,7 +78,8 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
JyjcInspectionResultAttachmentServiceImpl attachmentService; JyjcInspectionResultAttachmentServiceImpl attachmentService;
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
@Autowired
UseInfoMapper useInfoMapper;
@Autowired @Autowired
CategoryOtherInfoMapper categoryOtherInfoMapper; CategoryOtherInfoMapper categoryOtherInfoMapper;
...@@ -206,6 +204,8 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR ...@@ -206,6 +204,8 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
extracted(model, info, jybgFile); extracted(model, info, jybgFile);
inspectionDetectionInfoMapper.updateById(info); inspectionDetectionInfoMapper.updateById(info);
} }
//更新使用信息表
useInfoMapper.updateByRecord(model.getEquipUnicode(),model.getNextInspectionDate(),model.getInspectionType(),model.getApplicationNo());
return model; return model;
} }
......
...@@ -22,7 +22,7 @@ eureka.instance.health-check-url=http://172.16.10.243:${server.port}${server.ser ...@@ -22,7 +22,7 @@ eureka.instance.health-check-url=http://172.16.10.243:${server.port}${server.ser
eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator
eureka.instance.status-page-url=http://172.16.10.243:${server.port}${server.servlet.context-path}/actuator/info eureka.instance.status-page-url=http://172.16.10.243:${server.port}${server.servlet.context-path}/actuator/info
eureka.instance.metadata-map.management.api-docs=http://172.16.10.243:${server.port}${server.servlet.context-path}/doc.html eureka.instance.metadata-map.management.api-docs=http://172.16.10.243:${server.port}${server.servlet.context-path}/doc.html
eureka.instance.ip-address=172.16.3.17 eureka.instance.ip-address=172.16.10.243
#redis properties: #redis properties:
spring.redis.database=1 spring.redis.database=1
...@@ -37,9 +37,9 @@ redis.cache.failure.time=10800 ...@@ -37,9 +37,9 @@ redis.cache.failure.time=10800
emqx.clean-session=false emqx.clean-session=false
emqx.client-id=${spring.application.name}-${random.int[1024,65536]} emqx.client-id=${spring.application.name}-${random.int[1024,65536]}
emqx.broker=tcp://172.16.10.243:1883 emqx.broker=tcp://172.16.10.243:2883
emqx.client-user-name=super emqx.client-user-name=admin
emqx.client-password=123456 emqx.client-password=public
emqx.keepAliveInterval=1000 emqx.keepAliveInterval=1000
## ES properties: ## ES properties:
...@@ -51,4 +51,7 @@ elasticsearch.password= a123456 ...@@ -51,4 +51,7 @@ elasticsearch.password= a123456
process-definition-key.jyjc.openapplication=inspectionBusinessOpened process-definition-key.jyjc.openapplication=inspectionBusinessOpened
# 监管端feign调用服务 # 监管端feign调用服务
tzsJg.feign.name=TZS-JG tzsJg.feign.name=TZS-JG
\ No newline at end of file
# rule config
rule.definition.local-ip=172.16.10.243
\ No newline at end of file
...@@ -44,4 +44,7 @@ amos.system.user.product=AMOS_STUDIO_WEB ...@@ -44,4 +44,7 @@ amos.system.user.product=AMOS_STUDIO_WEB
fire-rescue=123 fire-rescue=123
spring.main.allow-bean-definition-overriding=true spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
# rule config
rule.definition.model-package=com.yeejoin.amos.boot.module.jyjc.biz.rule
...@@ -5,6 +5,7 @@ import java.util.Date; ...@@ -5,6 +5,7 @@ import java.util.Date;
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 lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity; import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
...@@ -14,6 +15,7 @@ import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity; ...@@ -14,6 +15,7 @@ import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
* @author duanwei * @author duanwei
* @date 2022-08-31 * @date 2022-08-31
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@TableName("tz_base_unit_licence") @TableName("tz_base_unit_licence")
......
package com.yeejoin.amos.boot.module.ymt.api.dto; package com.yeejoin.amos.boot.module.ymt.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
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 lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* 使用信息表 * 使用信息表
* *
...@@ -72,5 +75,11 @@ public class UseInfoModel extends BaseDto { ...@@ -72,5 +75,11 @@ public class UseInfoModel extends BaseDto {
private String cityName; private String cityName;
@ApiModelProperty(value = "") @ApiModelProperty(value = "")
private String countyName; private String countyName;
private String supervisoryCode;
private String productName;
private Date nextInspectDate;
private String lastInspectReportNo;
private String lastInspectType;
private String record;
} }
...@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; ...@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
/** /**
...@@ -170,4 +169,19 @@ public class BaseUnitLicence extends BaseEntity { ...@@ -170,4 +169,19 @@ public class BaseUnitLicence extends BaseEntity {
@TableField("is_not_sync") @TableField("is_not_sync")
private String isNotSync; private String isNotSync;
/**
* 机构类别枚举
*/
private String agencyType;
/**
* 机构类别枚举名称,冗余
*/
private String agencyTypeName;
/**
* 资质类型编码(检验检测、其他)
*/
private String licenceType;
} }
...@@ -92,13 +92,19 @@ public class TzBaseUnitLicence extends BaseEntity { ...@@ -92,13 +92,19 @@ public class TzBaseUnitLicence extends BaseEntity {
@ApiModelProperty(value = "固定检验地址") @ApiModelProperty(value = "固定检验地址")
private String itemAddress; private String itemAddress;
@ApiModelProperty(value = "更新人名称") @ApiModelProperty(value = "更新人名称")
private String recUserName; private String recUserName;
@ApiModelProperty(value = "是否删除(0:未删除,1:已删除)") @ApiModelProperty(value = "是否删除(0:未删除,1:已删除)")
private Boolean isDelete; private Boolean isDelete;
@ApiModelProperty(value = "机构类别枚举")
private String agencyType;
@ApiModelProperty(value = "机构类别枚举名称,冗余")
private String agencyTypeName;
@ApiModelProperty(value = "资质类型编码(检验检测、其他)")
private String licenceType;
} }
...@@ -6,6 +6,8 @@ import lombok.Data; ...@@ -6,6 +6,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date;
/** /**
* 使用信息表 * 使用信息表
* *
...@@ -183,4 +185,13 @@ public class UseInfo extends AbstractEquipBaseEntity { ...@@ -183,4 +185,13 @@ public class UseInfo extends AbstractEquipBaseEntity {
*/ */
@TableField(value ="\"IS_NOT_ES\"") @TableField(value ="\"IS_NOT_ES\"")
private Integer isNotEs; private Integer isNotEs;
@TableField(value = "NEXT_INSPECT_DATE")
private Date nextInspectDate;
@TableField(value = "LAST_INSPECT_REPORT_NO")
private String lastInspectReportNo;
@TableField(value = "LAST_INSPECT_TYPE")
private String lastInspectType;
} }
...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamBoiler; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamBoiler;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper @Mapper
public interface EquipTechParamBoilerMapper extends BaseMapper<EquipTechParamBoiler> { public interface EquipTechParamBoilerMapper extends BaseMapper<EquipTechParamBoiler> {
EquipTechParamBoiler getBoilerByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamElevator; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamElevator;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamElevatorMapper extends BaseMapper<EquipTechParamElevator> { public interface EquipTechParamElevatorMapper extends BaseMapper<EquipTechParamElevator> {
EquipTechParamElevator getElevatorByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamLifting; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamLifting;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamLiftingMapper extends BaseMapper<EquipTechParamLifting> { public interface EquipTechParamLiftingMapper extends BaseMapper<EquipTechParamLifting> {
EquipTechParamLifting getLiftingByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamPipeline; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamPipeline;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamPipelineMapper extends BaseMapper<EquipTechParamPipeline> { public interface EquipTechParamPipelineMapper extends BaseMapper<EquipTechParamPipeline> {
EquipTechParamPipeline getPipelineByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRides; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRides;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamRidesMapper extends BaseMapper<EquipTechParamRides> { public interface EquipTechParamRidesMapper extends BaseMapper<EquipTechParamRides> {
EquipTechParamRides getRidesByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRopeway; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRopeway;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamRopewayMapper extends BaseMapper<EquipTechParamRopeway> { public interface EquipTechParamRopewayMapper extends BaseMapper<EquipTechParamRopeway> {
EquipTechParamRopeway getRopewayByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVehicle; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVehicle;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamVehicleMapper extends BaseMapper<EquipTechParamVehicle> { public interface EquipTechParamVehicleMapper extends BaseMapper<EquipTechParamVehicle> {
EquipTechParamVehicle getVehicleByDefaultValue(@Param("record") String record);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVessel; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVessel;
import org.apache.ibatis.annotations.Param;
public interface EquipTechParamVesselMapper extends BaseMapper<EquipTechParamVessel> { public interface EquipTechParamVesselMapper extends BaseMapper<EquipTechParamVessel> {
EquipTechParamVessel getVesselByDefaultValue(@Param("record") String record);
} }
...@@ -53,6 +53,8 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI ...@@ -53,6 +53,8 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
*/ */
List<TzBaseEnterpriseInfo> getInspectionUnitList(@Param("unitType") String unitType); List<TzBaseEnterpriseInfo> getInspectionUnitList(@Param("unitType") String unitType);
List<TzBaseEnterpriseInfo> getInspectionUnitListByCode(List<String> codes, @Param("city") String city);
/** /**
* 根据ID查找企业详情信息 * 根据ID查找企业详情信息
* *
......
package com.yeejoin.amos.boot.module.ymt.api.mapper; package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.dto.UseInfoModel;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
import java.util.Date;
import java.util.List;
/** /**
* 特种设备基本信息-使用信息 Mapper 接口 * 特种设备基本信息-使用信息 Mapper 接口
* *
...@@ -11,4 +15,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo; ...@@ -11,4 +15,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
*/ */
public interface UseInfoMapper extends BaseMapper<UseInfo> { public interface UseInfoMapper extends BaseMapper<UseInfo> {
List<UseInfoModel> selecEquipInfotList(List<String>types, List<String>statusList, Date date,Date curDate);
void updateByRecord(String record, Date nextInspectDate, String lastInspectType, String lastInspectReportNo);
} }
<?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.ymt.api.mapper.EquipTechParamBoilerMapper">
<select id="getBoilerByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamBoiler">
SELECT
COALESCE("SEQUENCE_NBR", 'default_value') AS "sequenceNbr",
RECORD AS "record",
REC_DATE AS "recDate",
REC_USER_ID AS "recUserId",
INSTANCE_ID AS "instanceId",
STATUS AS "status",
COALESCE("DEVICE_LEVEL", '') AS "deviceLevel",
COALESCE("RATED_EVAPORATION_CAPACITY_THERMAL_POWER", 0) AS "ratedEvaporationCapacityThermalPower",
COALESCE("RATED_WORKING_PRESSURE", 0) AS "ratedWorkingPressure",
COALESCE("RATED_OPERATING_TEMPERATURE", 0) AS "ratedOperatingTemperature",
COALESCE("DESIGN_THERMAL_EFFICIENCY", 0) AS "designThermalEfficiency",
COALESCE("FEEDWATER_TEMPERATURE", 0) AS "feedwaterTemperature",
COALESCE("RATED_OUTLET_RETURN_WATER_OIL_TEMPERATURE", 0) AS "ratedOutletReturnWaterOilTemperature",
COALESCE("WATER_OIL_VOLUME_OF_BOILER_PROPER", 0) AS "waterOilVolumeOfBoilerProper",
COALESCE("HYDRAULIC_TEST_MEDIUM_PRESSURE_OF_PACKAGED_BOILER_BODY", 0) AS "hydraulicTestMediumPressureOfPackagedBoilerBody",
COALESCE("INLET_OUTLET_TEMPERATURE_OF_REHEATER", 0) AS "inletOutletTemperatureOfReheater",
COALESCE("REHEATER_INLET_OUTLET_PRESSURE", 0) AS "reheaterInletOutletPressure",
COALESCE("REHEAT_STEAM_FLOW", 0) AS "reheatSteamFlow",
COALESCE("GL_AIRTIGHT_TEST", 0) AS "glAirtightTest",
COALESCE("FUEL_TYPE", '') AS "fuelType",
COALESCE("NAME_OF_PRESSURE_PARTS", '') AS "nameOfPressureParts",
COALESCE("MATERIAL_OF_PRESSURE_PARTS", '') AS "materialOfPressureParts",
COALESCE("WALL_THICKNESS_OF_PRESSURE_PARTS", 0) AS "wallThicknessOfPressureParts",
COALESCE("NON_DESTRUCTIVE_TESTING_METHODS_FOR_PRESSURE_PARTS", '') AS "nonDestructiveTestingMethodsForPressureParts",
COALESCE("PROPORTION_OF_NDT_FOR_PRESSURE_PARTS", 0) AS "proportionOfNdtForPressureParts",
COALESCE("HEAT_TREATMENT_TEMPERATURE_OF_PRESSURE_PARTS", 0) AS "heatTreatmentTemperatureOfPressureParts",
COALESCE("HEAT_TREATMENT_TIME_OF_PRESSURE_PARTS", 0) AS "heatTreatmentTimeOfPressureParts",
COALESCE("HYDROSTATIC_TEST_MEDIUM", '') AS "hydrostaticTestMedium",
COALESCE("HYDROSTATIC_TEST_PRESSURE", 0) AS "hydrostaticTestPressure",
COALESCE("COMBUSTION_MODE", '') AS "combustionMode"
FROM idx_biz_jg_tech_params_boiler
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamElevatorMapper">
<select id="getElevatorByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamElevator">
SELECT
SEQUENCE_NBR AS "sequenceNbr",
RECORD AS "record",
REC_DATE AS "recDate",
REC_USER_ID AS "recUserId",
INSTANCE_ID AS "instanceId",
STATUS AS "status",
COALESCE("RATED_SPEED_UP", 0) AS "ratedSpeedUp",
COALESCE("RATED_SPEED_DOWN", 0) AS "ratedSpeedDown",
COALESCE("RATED_LOAD_CAPACITY", 0) AS "ratedLoadCapacity",
COALESCE("CAR_SIZE", 0) AS "carSize",
COALESCE("LIFTING_HEIGHT", 0) AS "liftingHeight",
COALESCE("STOREY", 0) AS "storey",
COALESCE("STAND", 0) AS "stand",
COALESCE("NUMBER_DOORS", 0) AS "numberDoors",
COALESCE("CONTROL_MODE", '') AS "controlMode",
COALESCE("NUMBER_CYLINDERS", 0) AS "numberCylinders",
COALESCE("JACKING_TYPE", '') AS "jackingType",
COALESCE("RATED_PRESSURE", 0) AS "ratedPressure",
COALESCE("EXPLOSIONPROOF_TYPE", '') AS "explosionproofType",
COALESCE("EXPLOSIONPROOF_GRADE", '') AS "explosionproofGrade",
COALESCE("EXPLOSIVE_SUBSTANCE", '') AS "explosiveSubstance",
COALESCE("EXPLOSIONPROOF_SIGN_COMPLETE", '') AS "explosionproofSignComplete",
COALESCE("QDZJ_RATED_POWER", 0) AS "qdZjRatedPower",
COALESCE("QDZJ_RATED_SPEED", 0) AS "qdZjRatedSpeed",
COALESCE("QDZJ_REDUCTION_RATIO", 0) AS "qdZjReductionRatio",
COALESCE("YABZ_FULLLOAD_PRESSURE", 0) AS "yabzFullloadPressure",
COALESCE("XGXL_MEDIA_TYPE", '') AS "xgxlMediaType",
COALESCE("XGXL_MEDIA_NUMBER", 0) AS "xgxlMediaNumber",
COALESCE("XGXL_MEDIA_MODEL", '') AS "xgxlMediaModel",
COALESCE("XGXL_MEDIA_SPECIFICATION", '') AS "xgxlMediaSpecification",
COALESCE("QDZJ_MODEL", '') AS "qdZjModel",
COALESCE("QDZJ_PRODUCT_NO", '') AS "qdZjProductNo",
COALESCE("QDZJ_MANUFACTURER", '') AS "qdZjManufacturer",
COALESCE("KZG_MODEL", '') AS "kzgModel",
COALESCE("KZG_PRODUCT_NO", '') AS "kzgProductNo",
COALESCE("KZG_MANUFACTURER", '') AS "kzgManufacturer",
COALESCE("XSQ_MODEL", '') AS "xsqModel",
COALESCE("XSQ_PRODUCT_NO", '') AS "xsqProductNo",
COALESCE("XSQ_MANUFACTURER", '') AS "xsqManufacturer",
COALESCE("AQQ_MODEL", '') AS "aqqModel",
COALESCE("AQQ_PRODUCT_NO", '') AS "aqqProductNo",
COALESCE("AQQ_MANUFACTURER", '') AS "aqqManufacturer",
COALESCE("JXHCQ_MODEL", '') AS "jxhcqModel",
COALESCE("JXHCQ_PRODUCT_NO", '') AS "jxhcqProductNo",
COALESCE("JXHCQ_MANUFACTURER", '') AS "jxhcqManufacturer",
COALESCE("DCHCQ_MODEL", '') AS "dchcqModel",
COALESCE("DCHCQ_PRODUCT_NO", '') AS "dchcqProductNo",
COALESCE("DCHCQ_MANUFACTURER", '') AS "dchcqManufacturer",
COALESCE("CMMSZZ_MODEL", '') AS "cmmszzModel",
COALESCE("CMMSZZ_PRODUCT_NO", '') AS "cmmszzProductNo",
COALESCE("CMMSZZ_MANUFACTURER", '') AS "cmmszzManufacturer",
COALESCE("JMMSZZ_MODEL", '') AS "jmmszzModel",
COALESCE("JMMSZZ_PRODUCT_NO", '') AS "jmmszzProductNo",
COALESCE("JMMSZZ_MANUFACTURER", '') AS "jmmszzManufacturer",
COALESCE("SXCSBHZZ_MODEL", '') AS "sxcsbhzzModel",
COALESCE("SXCSBHZZ_PRODUCT_NO", '') AS "sxcsbhzzProductNo",
COALESCE("SXCSBHZZ_MANUFACTURER", '') AS "sxcsbhzzManufacturer",
COALESCE("JXYWYDBHZZ_MODEL", '') AS "jxywydbhzzModel",
COALESCE("JXYWYDBHZZ_PRODUCT_NO", '') AS "jxywydbhzzProductNo",
COALESCE("JXYWYDBHZZ_MANUFACTURER", '') AS "jxywydbhzzManufacturer",
COALESCE("YYBZ_MODEL", '') AS "yybzModel",
COALESCE("YYBZ_PRODUCT_NO", '') AS "yybzProductNo",
COALESCE("YYBZ_MANUFACTURER", '') AS "yybzManufacturer",
COALESCE("XSQDF_MODEL", '') AS "xsqdfModel",
COALESCE("XSQDF_PRODUCT_NO", '') AS "xsqdfProductNo",
COALESCE("XSQDF_MANUFACTURER", '') AS "xsqdfManufacturer",
COALESCE("NOMINAL_SPEED", 0) AS "nominalSpeed",
COALESCE("ANGLE_ROLL", 0) AS "angleRoll",
COALESCE("NOMINAL_WIDTH", 0) AS "nominalWidth",
COALESCE("USE_SECTION_LENGTH", 0) AS "useSectionLength",
COALESCE("CONVEYING_CAPACITY", '') AS "conveyingCapacity",
COALESCE("WORK_TYPE", '') AS "workType",
COALESCE("WORK_ENVIRONMENT", '') AS "workEnvironment",
COALESCE("KZG_OPERATION_MODE", '') AS "kzgOperationMode",
COALESCE("JMWZ", '') AS "jmwz"
FROM idx_biz_jg_tech_params_elevator
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamPipelineMapper">
<select id="getPipelineByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamPipeline">
SELECT
"SEQUENCE_NBR" AS "sequenceNbr",
"RECORD" AS "record",
"REC_DATE" AS "recDate",
"REC_USER_ID" AS "recUserId",
"INSTANCE_ID" AS "instanceId",
"STATUS" AS "status",
COALESCE("DEVICE_NAME", '') AS "deviceName",
COALESCE("PIPELINE_CLASS", '') AS "pipelineClass",
COALESCE("PIPE_NAME", '') AS "pipeName",
COALESCE("PIPELINE_NUMBER", '') AS "pipelineNumber",
COALESCE("DEVICE_LEVEL", '') AS "deviceLevel",
COALESCE("DESIGN_STANDARD", '') AS "designStandard",
COALESCE("PIPE_DRAW_NUMBER", '') AS "pipeDrawNumber",
COALESCE("NOMINAL_DIAMETER", 0) AS "nominalDiameter",
COALESCE("WALL_THICKNESS", 0) AS "wallThickness",
COALESCE("PIPE_LENGTH", 0) AS "pipeLength",
COALESCE("STARTE_POSITION", '') AS "startePosition",
COALESCE("PRESSURE", 0) AS "pressure",
COALESCE("TEMPERATURE", 0) AS "temperature",
COALESCE("MEDIUM", '') AS "medium",
COALESCE("REMARKS", '') AS "remarks"
FROM idx_biz_jg_tech_params_pipeline
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamRidesMapper">
<select id="getRidesByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRides">
SELECT
SEQUENCE_NBR AS "sequenceNbr",
RECORD AS "record",
REC_DATE AS "recDate",
REC_USER_ID AS "recUserId",
INSTANCE_ID AS "instanceId",
STATUS AS "status",
COALESCE("DESIGN_LIFE", 0) AS "designLife",
COALESCE("SLIDE_LENGTH", 0) AS "slideLength",
COALESCE("SLIDE_HEIGHT", 0) AS "slideHeight",
COALESCE("MINIMUM_SLOPE_OF_SLIDE", 0) AS "minimumSlopeOfSlide",
COALESCE("AVERAGE_SLOPE_OF_SLIDE", 0) AS "averageSlopeOfSlide",
COALESCE("MAXIMUM_SLOPE_OF_THE_SLIDE_WITHOUT_JUMPING", 0) AS "maximumSlopeWithoutJumping",
COALESCE("MINIMUM_RADIUS_OF_CURVATURE_OF_SLIDEWAY", 0) AS "minimumRadiusOfCurvature",
COALESCE("NUMBER_OF_SLIDES", 0) AS "numberOfSlides",
COALESCE("MAIN_MATERIAL_OF_SLIDE", '') AS "mainMaterialOfSlide",
COALESCE("NUMBER_OF_PULLEYS", 0) AS "numberOfPulleys",
COALESCE("NUMBER_OF_PASSENGERS", 0) AS "numberOfPassengers",
COALESCE("ALTITUDE_DIFFERENCE", 0) AS "altitudeDifference",
COALESCE("HORIZONTAL_DISTANCE", 0) AS "horizontalDistance",
COALESCE("HEIGHT", 0) AS "height",
COALESCE("GLIDE_SPEED", 0) AS "glideSpeed",
COALESCE("COUNT_OF_PASSENGERS", 0) AS "countOfPassengers",
COALESCE("RUNNING_SPEED", 0) AS "runningSpeed",
COALESCE("NUMBER_OF_VEHICLES", 0) AS "numberOfVehicles",
COALESCE("POWER", 0) AS "power",
COALESCE("TRACK_HEIGHT", 0) AS "trackHeight",
COALESCE("NUMBER_OF_MEMBERS", 0) AS "numberOfMembers",
COALESCE("OPERATING_HEIGHT", 0) AS "operatingHeight",
COALESCE("DRIVE_POWER", 0) AS "drivePower",
COALESCE("ROTARY_DIAMETER", 0) AS "rotaryDiameter",
COALESCE("RATED_NUMBER_OF_PASSENGERS", 0) AS "ratedNumberOfPassengers",
COALESCE("NUMBER_OF_PODS", 0) AS "numberOfPods",
COALESCE("EQUIPMENT_HEIGHT", 0) AS "equipmentHeight",
COALESCE("RATED_LINEAR_SPEED", 0) AS "ratedLinearSpeed",
COALESCE("ROTARY_TABLE_SPEED", 0) AS "rotaryTableSpeed",
COALESCE("UNILATERAL_SWING_ANGLE", 0) AS "unilateralSwingAngle",
COALESCE("NUMBER_OF_CABINS", 0) AS "numberOfCabins",
COALESCE("MAXIMUM_OPERATING_HEIGHT", 0) AS "maximumOperatingHeight",
COALESCE("ROTATION_DIAMETER", 0) AS "rotationDiameter",
COALESCE("MAXIMUM_SPEED", 0) AS "maximumSpeed",
COALESCE("DIP", 0) AS "dip",
COALESCE("SLEWING_SPEED", 0) AS "slewingSpeed",
COALESCE("LIFTING_SPEED", 0) AS "liftingSpeed",
COALESCE("HEIGHT_DIFFERENCE", 0) AS "heightDifference",
COALESCE("MAIN_CABLE_DIAMETER", 0) AS "mainCableDiameter",
COALESCE("ANGLE_OF_CHORD", 0) AS "angleOfChord",
COALESCE("PASSENGER_NUM", 0) AS "passengerNum",
COALESCE("BOUNCE_HEIGHT", 0) AS "bounceHeight",
COALESCE("MAXIMUM_LOAD", 0) AS "maximumLoad",
COALESCE("EQUIPMENT_POWER", 0) AS "equipmentPower",
COALESCE("FLOOR_AREA", 0) AS "floorArea",
COALESCE("LIFTOFF_ALTITUDE", 0) AS "liftoffAltitude",
COALESCE("FIELD_DIAMETER", 0) AS "fieldDiameter",
COALESCE("SPHERE_DIAMETER", 0) AS "sphereDiameter",
COALESCE("SPHERE_VOLUME", 0) AS "sphereVolume",
COALESCE("OPERATOR_NUMBER", 0) AS "operatorNumber"
FROM idx_biz_jg_tech_params_rides
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamRopewayMapper">
<select id="getRopewayByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamRopeway">
SELECT
"SEQUENCE_NBR" AS "sequenceNbr",
"RECORD" AS "record",
"REC_DATE" AS "recDate",
"REC_USER_ID" AS "recUserId",
"INSTANCE_ID" AS "instanceId",
"STATUS" AS "status",
COALESCE("HORIZONTAL_DISTANCE", 0) AS "horizontalDistance",
COALESCE("SUPPORTS_COUNT", 0) AS "supportsCount",
COALESCE("OBLIQUE_LENGTH", 0) AS "obliqueLength",
COALESCE("MAIN_MOTOR_MODEL_AND_POWER", 0) AS "mainMotorModelAndPower",
COALESCE("ALTITUDE_DIFFERENCE", 0) AS "altitudeDifference",
COALESCE("OIL_PRESSURE_HEAVY_HAMMER", 0) AS "oilPressureHeavyHammer",
COALESCE("OIL_PRESSURE_OIL_PRESSURE", 0) AS "oilPressureOilPressure",
COALESCE("FREIGHT_VOLUME", 0) AS "freightVolume",
COALESCE("CARRIER_LINE", '') AS "carrierLine",
COALESCE("SPEED", 0) AS "speed",
COALESCE("BEARING_CABLE", '') AS "bearingCable",
COALESCE("CABLE_PITCH", 0) AS "cablePitch",
COALESCE("NUMBER_AND_TYPE_OF_VEHICLES", '') AS "numberAndTypeOfVehicles",
COALESCE("TRACTION_ROPE", '') AS "tractionRope",
COALESCE("BALANCE_CABLE", '') AS "balanceCable"
FROM idx_biz_jg_tech_params_ropeway
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamVehicleMapper">
<select id="getVehicleByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVehicle">
SELECT
"SEQUENCE_NBR" AS "sequenceNbr",
"RECORD" AS "record",
"REC_DATE" AS "recDate",
"REC_USER_ID" AS "recUserId",
"INSTANCE_ID" AS "instanceId",
"STATUS" AS "status",
COALESCE("FRAME_NO", '') AS "frameNo",
COALESCE("ENGINE_NO", '') AS "engineNo",
COALESCE("POWER_MODE", '') AS "powerMode",
COALESCE("TRANSMISSION_MODE", '') AS "transmissionMode",
COALESCE("FRAME_STRUCTURE", '') AS "frameStructure",
COALESCE("DRIVING_MODE", '') AS "drivingMode",
COALESCE("WEIGHT", 0) AS "weight",
COALESCE("CARRYING_IDLER_MAX_RUNNING_SPEED", 0) AS "carryingIdlerMaxRunningSpeed",
COALESCE("MAX_LIFTING_SPEED", 0) AS "maxLiftingSpeed",
COALESCE("PROTECT_GRADE", '') AS "protectGrade",
COALESCE("GAS_GROUP", '') AS "gasGroup",
COALESCE("TEMPERATURE_GROUP", '') AS "temperatureGroup",
COALESCE("LIFTING_CAPACITY", 0) AS "liftingCapacity",
COALESCE("SYSTEM_VOLTAGE", 0) AS "systemVoltage",
COALESCE("LOAD_CENTER_DISTANCE", 0) AS "loadCenterDistance",
COALESCE("ENGINE_POWER", 0) AS "enginePower",
COALESCE("MAX_SPEED", 0) AS "maxSpeed",
COALESCE("EXPLOSIONPROOF_PLACE", '') AS "explosionproofPlace",
COALESCE("GANTRY_FORM", '') AS "gantryForm",
COALESCE("MAX_LIFTING_HEIGHT", 0) AS "maxLiftingHeight",
COALESCE("FREE_LIFTING_HEIGHT", 0) AS "freeLiftingHeight",
COALESCE("PORTAL_ANGLE_FRONT", 0) AS "portalAngleFront",
COALESCE("PORTAL_ANGLE_BEHIND", 0) AS "portalAngleBehind",
COALESCE("MAX_LIFTING_SPEED1", 0) AS "maxLiftingSpeed1",
COALESCE("MAX_LIFTING_SPEED2", 0) AS "maxLiftingSpeed2",
COALESCE("MAX_DESCENT_SPEED1", 0) AS "maxDescentSpeed1",
COALESCE("MAX_DESCENT_SPEED2", 0) AS "maxDescentSpeed2",
COALESCE("VEHICLE_MASS", 0) AS "vehicleMass",
COALESCE("PASSENGERS_NUMBER", 0) AS "passengersNumber",
COALESCE("MAX_RUNNING_SPEED", 0) AS "maxRunningSpeed",
COALESCE("WHEEL_BASE", 0) AS "wheelBase",
COALESCE("TRACK_WIDTH_FRONT", 0) AS "trackWidthFront",
COALESCE("TRACK_WIDTH_BEHIND", 0) AS "trackWidthBehind",
COALESCE("CARS_NUMBER", 0) AS "carsNumber",
COALESCE("SEAT_NUMBER", 0) AS "seatNumber",
COALESCE("TRACTOR_SEAT_NUMBER", 0) AS "tractorSeatNumber",
COALESCE("MAX_DRIVING_SLOPE", 0) AS "maxDrivingSlope",
COALESCE("BRAKING_DISTANCE", 0) AS "brakingDistance",
COALESCE("OVERALL_LENGTH", 0) AS "overallLength",
COALESCE("OVERALL_WIDTH", 0) AS "overallWidth",
COALESCE("OVERALL_ALTITUDE", 0) AS "overallAltitude",
COALESCE("MIN_GROUND_CLEARANCE", 0) AS "minGroundClearance",
COALESCE("MIN_TURNING_RADIUS", 0) AS "minTurningRadius",
COALESCE("MAIN_PARTS", '') AS "mainParts"
FROM idx_biz_jg_tech_params_vehicle
WHERE RECORD = #{record}
</select>
</mapper>
<?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.ymt.api.mapper.EquipTechParamVesselMapper">
<select id="getVesselByDefaultValue" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamVessel">
SELECT
sequence_nbrAS sequenceNbr,
record AS record,
rec_date AS recDate,
rec_user_id AS recUserId,
instance_id AS instanceId,
status AS status,
COALESCE(rated_quality, 0) AS ratedQuality,
COALESCE(ambient_temperature, 0) AS ambientTemperature,
COALESCE(model_number, 0) AS modelNumber,
COALESCE(num, 0) AS num,
COALESCE(single_bottle_volume, 0) AS singleBottleVolume,
COALESCE(total_volume, 0) AS totalVolume,
COALESCE(charging_medium, 0) AS chargingMedium,
COALESCE(specification, 0) AS specification,
COALESCE(outside_diameter, 0) AS outsideDiameter,
COALESCE(wall_thickness, 0) AS wallThickness,
COALESCE(length, 0) AS length,
COALESCE(nominal_working_pressure, 0) AS nominalWorkingPressure,
COALESCE(bottle_body, 0) AS bottleBody,
COALESCE(end_plug, 0) AS endPlug,
COALESCE(piping, 0) AS piping,
COALESCE(qp_lossless, 0) AS qpLossless,
COALESCE(gl_lossless, 0) AS glLossless,
COALESCE(qp_ratio, 0) AS qpRatio,
COALESCE(gl_ratio, 0) AS glRatio,
COALESCE(qp_pressure, 0) AS qpPressure,
COALESCE(gl_pressure, 0) AS glPressure,
COALESCE(qp_air_tightness, 0) AS qpAirTightness,
COALESCE(gl_air_tightness, 0) AS glAirTightness,
COALESCE(displacement_pressure, 0) AS displacementPressure,
COALESCE(oxygen, 0) AS oxygen,
COALESCE(heat_treatment_method, 0) AS heatTreatmentMethod,
COALESCE(qp_heat_treatment_temperature, 0) AS qpHeatTreatmentTemperature,
COALESCE(installation_position, 0) AS installationPosition,
COALESCE(container_volume, 0) AS containerVolume,
COALESCE(pressure_vessel_diameter, 0) AS pressureVesselDiameter,
COALESCE(height, 0) AS height,
COALESCE(material_cylinder_shell, 0) AS materialCylinderShell,
COALESCE(pressure_material_head, 0) AS pressureMaterialHead,
COALESCE(pressure_material_lining, 0) AS pressureMaterialLining,
COALESCE(material_jacket, 0) AS materialJacket,
COALESCE(thickness, 0) AS thickness,
COALESCE(fixed_head, 0) AS fixedHead,
COALESCE(fixed_lining, 0) AS fixedLining,
COALESCE(fixed_jacket, 0) AS fixedJacket,
COALESCE(self_weight, 0) AS selfWeight,
COALESCE(medium_weight, 0) AS mediumWeight,
COALESCE(pressure_housing_path, 0) AS pressureHousingPath,
COALESCE(pressure_pipe, 0) AS pressurePipe,
COALESCE(pressure_jacket, 0) AS pressureJacket,
COALESCE(temperature_shell, 0) AS temperatureShell,
COALESCE(temperature_pipe, 0) AS temperaturePipe,
COALESCE(temperature_jacket, 0) AS temperatureJacket,
COALESCE(max_pressure_shell, 0) AS maxPressureShell,
COALESCE(max_pressure_pipe, 0) AS maxPressurePipe,
COALESCE(max_pressure_jacket, 0) AS maxPressureJacket,
COALESCE(medium_shell, 0) AS mediumShell,
COALESCE(medium_pipe, 0) AS mediumPipe,
COALESCE(medium_jacket, 0) AS mediumJacket,
COALESCE(main_structure_type, 0) AS mainStructureType,
COALESCE(support, 0) AS support,
COALESCE(installation, 0) AS installation,
COALESCE(insulation, 0) AS insulation,
COALESCE(check_lossless, 0) AS checkLossless,
COALESCE(withstand_voltage, 0) AS withstandVoltage,
COALESCE(leakage, 0) AS leakage,
COALESCE(withstand_pressure_test, 0) AS withstandPressureTest,
COALESCE(leak_pressure, 0) AS leakPressure,
COALESCE(container, 0) AS container,
COALESCE(car_num, 0) AS carNum,
COALESCE(volume, 0) AS volume,
COALESCE(max_fill, 0) AS maxFill,
COALESCE(design_pressure, 0) AS designPressure,
COALESCE(design_temperature, 0) AS designTemperature,
COALESCE(working_pressure, 0) AS workingPressure,
COALESCE(work_temperature, 0) AS workTemperature,
COALESCE(material_cylinder, 0) AS materialCylinder,
COALESCE(thickness_cylinder, 0) AS thicknessCylinder,
COALESCE(corrosion_margin, 0) AS corrosionMargin,
COALESCE(medium, 0) AS medium,
COALESCE(oxygen_chamber, 0) AS oxygenChamber,
COALESCE(rated_entry_capacity, 0) AS ratedEntryCapacity,
COALESCE(chamber_main, 0) AS chamberMain,
COALESCE(chamber_pressure, 0) AS chamberPressure,
COALESCE(temperature, 0) AS temperature,
COALESCE(pressure_medium, 0) AS pressureMedium,
COALESCE(per_capita_cabin_capacity, 0) AS perCapitaCabinCapacity
FROM idx_biz_jg_tech_params_vessel
where record = #{record}
</select>
</mapper>
...@@ -167,6 +167,29 @@ ...@@ -167,6 +167,29 @@
AND status = '6616' AND status = '6616'
where unit_type LIKE CONCAT('%',#{unitType},'%') group by info.use_code where unit_type LIKE CONCAT('%',#{unitType},'%') group by info.use_code
</select> </select>
<select id="getInspectionUnitListByCode" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo">
SELECT
info.sequence_nbr,
info.use_code,
info.use_unit,
info.use_contact,
info.contact_phone
FROM
tz_base_enterprise_info info
INNER JOIN tz_jyjc_opening_application tjoa ON info.use_code = tjoa.unit_code
AND status = '6616'
<if test="list !=null and list.size()>0">
AND use_code in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test=" city != null and city != ''">
and detection_region like concat('%',#{city},'%')
</if>
group by info.use_code
</select>
<select id="selectBySeq" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo"> <select id="selectBySeq" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo">
select * from tz_base_enterprise_info where sequence_nbr = #{sequenceNbr} select * from tz_base_enterprise_info where sequence_nbr = #{sequenceNbr}
</select> </select>
......
<?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.ymt.api.mapper.UseInfoMapper">
<update id="updateByRecord">
UPDATE
idx_biz_jg_use_info
SET
NEXT_INSPECT_DATE = #{nextInspectDate},
LAST_INSPECT_TYPE = #{lastInspectType},
LAST_INSPECT_REPORT_NO = #{lastInspectReportNo}
WHERE
RECORD = #{record}
</update>
<select id="selecEquipInfotList" resultType="com.yeejoin.amos.boot.module.ymt.api.dto.UseInfoModel">
SELECT
use.RECORD,
use.USE_UNIT_CREDIT_CODE,
other.SUPERVISORY_CODE as supervisoryCode,
register.PRODUCT_NAME as productName,
use.NEXT_INSPECT_DATE as nextInspectDate,
base.contact_phone as phone
FROM
idx_biz_jg_use_info use
LEFT JOIN idx_biz_jg_other_info other on other.RECORD = use.RECORD
LEFT JOIN idx_biz_jg_register_info register on register.RECORD = use.RECORD
LEFT JOIN idx_biz_jg_supervision_info supervision on supervision.RECORD = use.RECORD
LEFT JOIN privilege_company pc on pc.org_code = supervision.ORG_BRANCH_CODE
LEFT JOIN tz_base_enterprise_info base on base.use_code = pc.company_code
<where>
<if test="statusList.size() > 0">
and STATUS in
<foreach collection="statusList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="types.size() > 0">
and LAST_INSPECT_TYPE in
<foreach collection="types" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
and (#{date} >= NEXT_INSPECT_DATE or #{curDate} > NEXT_INSPECT_DATE)
</where>
</select>
</mapper>
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