Commit 6936134e authored by zhangyingbin's avatar zhangyingbin

添加 气瓶/设备/许可预警功能

parent 5fa6f3db
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.component.rule.Label;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* @author Zhang Yingbin
*/
@Data
@ApiModel(value = "EquScheduleDto", description = "装备预警信息Dto")
public class EquScheduleDto {
@Label("使用安全管理部门名称")
private String safetyManageDt;
@Label("使用安全管理员")
private String safetyManager;
@Label("使用安全管理员移动电话")
private String phone;
@Label("使用登记证编号(出厂编号)")
private String useOrgCode;
@Label("下次检验日期")
private Date nextInspectDate;
@Label("设备唯一标识编码")
private String sequenceCode;
@Label("设备类型")
private String equDefine;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.component.rule.Label;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
* @author Zhang Yingbin
*/
@Data
@ApiModel(value = "LicScheduleDto", description = "许可预警信息Dto")
public class LicScheduleDto {
@Label("单位名称")
private String unitName;
// @Label("使用安全管理员")
// private String safetyManager;
// @Label("使用安全管理员移动电话")
// private String phone;
@Label("发证机关Code")
private String approvedOrganCode;
@Label("下次检验日期")
private Date expiryDate;
@Label("证书编号")
private String certNo;
@Label("单位联系人")
private String people;
@Label("单位联系人电话")
private String phone;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.Date;
/**
* 单位许可信息表
*
* @author duanwei
* @date 2022-08-31
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_base_unit_licence")
@ApiModel(value="TzBaseUnitLicence对象", description="单位许可信息表")
public class TzBaseUnitLicenceDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位编码")
private String unitCode;
@ApiModelProperty(value = "单位名称")
private String unitName;
@ApiModelProperty(value = "许可地址")
private String licAddress;
@ApiModelProperty(value = "证书类型")
private String certType;
@ApiModelProperty(value = "证书类型code")
private String certTypeCode;
@ApiModelProperty(value = "证书编号")
private String certNo;
@ApiModelProperty(value = "有效期至")
private Date expiryDate;
@ApiModelProperty(value = "发证日期")
private Date issueDate;
@ApiModelProperty(value = "发证机关")
private String approvedOrgan;
@ApiModelProperty(value = "发证机关code")
private String approvedOrganCode;
@ApiModelProperty(value = "变更日期")
private Date changeDate;
@ApiModelProperty(value = "许可方式/许可状态")
private String applyType;
@ApiModelProperty(value = "许可方式/许可状态code")
private String applyTypeCode;
@ApiModelProperty(value = "许可评审方式")
private String appraisalType;
@ApiModelProperty(value = "许可评审方式code")
private String appraisalTypeCode;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "许可项目/检验类型/设备品种编码")
private String itemCode;
@ApiModelProperty(value = "许可项目/检验类型/设备品种")
private String itemCodeName;
@ApiModelProperty(value = "许可子项目/检验项目/充装介质类别code")
private String subItemCode;
@ApiModelProperty(value = "许可子项目/检验项目/充装介质类别")
private String subItemName;
@ApiModelProperty(value = "许可参数/充装介质名称")
private String parameter;
@ApiModelProperty(value = "参数code")
private String parameterCode;
@ApiModelProperty(value = "固定检验地址")
private String itemAddress;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import java.io.Serializable;
import java.util.Date;
import com.yeejoin.amos.component.rule.Label;
import com.yeejoin.amos.component.rule.RuleFact;
import lombok.Data;
@RuleFact(value = "气瓶预警消息",project = "气瓶监管")
@RuleFact(value = "预警消息",project = "预警消息")
@Data
public class CylWarningMsgDto implements Serializable{
public class WarningMsgDto implements Serializable{
/**
*
*/
private static final long serialVersionUID = -5835716804355474954L;
@Label("企业名称")
@Label("预警类型")
private String warningType;
@Label("负责组织/企业名称")
private String companyName;
@Label("企业联系人")
@Label("负责人联系人")
private String people;
@Label("企业联系人电话")
@Label("负责人联系人电话")
private String phone;
@Label("使用人类型")
private String userType;
@Label("气瓶使用人")
private String userPeople;
@Label("使用人电话")
private String userPeoplePhone;
// @Label("使用人类型")
// private String userType;
// @Label("气瓶使用人")
// private String userPeople;
// @Label("使用人电话")
// private String userPeoplePhone;
@Label("出厂编号")
private String factoryNum;
@Label("预警值")
@Label("预警值(距离下次检验日期天数)")
private String num;
@Label("气瓶seq")
private String cylSeq;
@Label("气瓶/设备/许可 编码")
private String code;
@Label("预警发生时间")
private String currentTime;
@Label("下次检验日期")
private String nextInspectDate;
@Label("类型")
private String type;
@Label("已超期/即将超期/正常")
private String overType;
}
package com.yeejoin.amos.boot.module.tzs.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
/**
* 单位许可信息表
*
* @author duanwei
* @date 2022-08-31
*/
@Data
@Accessors(chain = true)
@TableName("tz_base_unit_licence")
@ApiModel(value="TzBaseUnitLicence对象", description="单位许可信息表")
public class TzBaseUnitLicence extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位编码")
private String unitCode;
@ApiModelProperty(value = "单位名称")
private String unitName;
@ApiModelProperty(value = "许可地址")
private String licAddress;
@ApiModelProperty(value = "证书类型")
private String certType;
@ApiModelProperty(value = "证书类型code")
private String certTypeCode;
@ApiModelProperty(value = "证书编号")
private String certNo;
@ApiModelProperty(value = "有效期至")
private Date expiryDate;
@ApiModelProperty(value = "发证日期")
private Date issueDate;
@ApiModelProperty(value = "发证机关")
private String approvedOrgan;
@ApiModelProperty(value = "发证机关code")
private String approvedOrganCode;
@ApiModelProperty(value = "变更日期")
private Date changeDate;
@ApiModelProperty(value = "许可方式/许可状态")
private String applyType;
@ApiModelProperty(value = "许可方式/许可状态code")
private String applyTypeCode;
@ApiModelProperty(value = "许可评审方式")
private String appraisalType;
@ApiModelProperty(value = "许可评审方式code")
private String appraisalTypeCode;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "许可项目/检验类型/设备品种编码")
private String itemCode;
@ApiModelProperty(value = "许可项目/检验类型/设备品种")
private String itemCodeName;
@ApiModelProperty(value = "许可子项目/检验项目/充装介质类别code")
private String subItemCode;
@ApiModelProperty(value = "许可子项目/检验项目/充装介质类别")
private String subItemName;
@ApiModelProperty(value = "许可参数/充装介质名称")
private String parameter;
@ApiModelProperty(value = "参数code")
private String parameterCode;
@ApiModelProperty(value = "固定检验地址")
private String itemAddress;
@ApiModelProperty(value = "更新人名称")
private String recUserName;
@ApiModelProperty(value = "是否删除(0:未删除,1:已删除)")
private Boolean isDelete;
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* @author Zhang Yingbin
*/
@AllArgsConstructor
@Getter
public enum WarningEnum {
/**
* 预警等级枚举
*
*/
WARNING_SOON_EXPIRE("即将超期预警", "1", "即将超期", "warning_soon_expire"),
WARNING_OVER_EXPIRE("已经超期预警", "2", "已经超期", "warning_over_expire");
private String name;
private String level;
private String status;
private String code;
public static WarningEnum getEumByLevel(String level) {
Optional<WarningEnum> op = Arrays.stream(WarningEnum.values()).filter(e -> e.getLevel().equals(level)).findFirst();
return op.orElseThrow(() -> new RuntimeException("未知的类型"));
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* @author Zhang Yingbin
*/
@AllArgsConstructor
@Getter
public enum WarningTypeEnum {
/**
* 预警类型
*/
WARNING_CYL_TYPE("气瓶预警", "1", "warning_soon_expire"),
WARNING_EQU_TYPE("设备预警", "2", "warning_over_expire"),
WARNING_LIC_TYPE("许可预警", "3", "warning_soon_expire");
private String name;
private String level;
private String code;
public static WarningTypeEnum getEumByLevel(String level) {
Optional<WarningTypeEnum> op = Arrays.stream(WarningTypeEnum.values()).filter(e -> e.getLevel().equals(level)).findFirst();
return op.orElseThrow(() -> new RuntimeException("未知的类型"));
}
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.EquScheduleDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.LicScheduleDto;
import com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto;
public interface ScheduleMapper {
EquScheduleDto getEquDetail(String sequenceCode);
LicScheduleDto getLicDetail(String certNo);
CylinderInfoDto getCylDetail(String sequenceCode);
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.TzBaseUnitLicence;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 单位许可信息表 Mapper 接口
*
* @author duanwei
* @date 2022-08-31
*/
public interface TzBaseUnitLicenceMapper extends BaseMapper<TzBaseUnitLicence> {
}
package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.entity.TzBaseUnitLicence;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 单位许可信息表 服务类
*
* @author duanwei
* @date 2022-08-31
*/
public interface ITzBaseUnitLicenceService extends IService<TzBaseUnitLicence> {
}
......@@ -125,4 +125,25 @@ public class CylinderInfoDto extends BaseDto {
private List<String> appIds;
private String regionCode;
/**
* 检验日期
*/
private String inspectionDate;
/**
* 下次检验日期
*/
private Date nextInspectionDate;
/**
* 企业负责人
*/
private String unitPerson;
/**
* 企业负责人手机
*/
private String personMobilePhone;
/**
* 检验状态(已超期、即将超期)
*/
private String inspectionStatusDesc;
}
......@@ -64,7 +64,7 @@ public interface CylinderInfoMapper extends BaseMapper<CylinderInfo> {
Page<CylinderInfoDto> queryPageListByEarlyWarningLevel(Page<CylinderInfoDto> page, @Param("earlyWarningLevel") String earlyWarningLevel);
CylinderInfoDto getDetail(String sequenceCode);
/**
* 查询行政区划下的所有气瓶
......
......@@ -81,30 +81,7 @@
ci.early_warning_level = #{earlyWarningLevel}
order by ci.next_inspection_date
</select>
<select id="getDetail" resultType="com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto">
select
ci.sequence_code,
ci.unit_name,
ci.inspection_date,
ci.factory_num,
ci.next_inspection_date,
ci.early_warning_level,
ci.early_warning_level_cal_date,
ci.longitude,
ci.latitude,
eu.address,
eu.custom_name,
eu.custom_type,
eu.contact_phone,
cu.person_mobile_phone,
cu.unit_person
from
tz_cylinder_info ci
left join tz_end_user eu on ci.end_custom_code = eu.custom_code
left join tz_cylinder_unit cu on cu.app_id = ci.app_id
where
ci.sequence_code = #{sequenceCode}
</select>
<select id="listWithRegionCode" resultType="com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto">
SELECT
ci.*,
......
<?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.tzs.api.mapper.ScheduleMapper">
<select id="getEquDetail" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.EquScheduleDto">
SELECT
ri.sequence_code,
ri.use_org_code,
ui.safety_manage_dt,
ui.safety_manager,
ui.phone,
ii.next_inspect_date,
ri.equ_define
FROM
tz_jg_registration_info AS ri
LEFT JOIN tz_jg_use_info AS ui ON ui.sequence_code = ri.sequence_code
LEFT JOIN tz_jg_inspection_info AS ii ON ii.sequence_code = ri.sequence_code
WHERE ri.sequence_code = #{sequenceCode}
</select>
<select id="getLicDetail" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.LicScheduleDto">
SELECT
ul.unit_name,
ul.approved_organ_code,
ul.expiry_date,
ul.cert_no,
ei.legal_person AS people,
ei.legal_phone AS phone
FROM
tz_base_unit_licence AS ul
LEFT JOIN tz_base_enterprise_info AS ei ON ei.use_code = ul.unit_code
WHERE ul.sequence_nbr = #{sequenceNbr}
</select>
<select id="getCylDetail" resultType="com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto">
select
ci.sequence_code,
ci.unit_name,
ip.inspection_date,
ci.factory_num,
ip.next_inspection_date,
ci.early_warning_level,
ci.early_warning_level_cal_date,
ci.longitude,
ci.latitude,
eu.address,
-- eu.custom_name,
-- eu.custom_type,
-- eu.contact_phone,
cu.person_mobile_phone,
cu.unit_person
from
tz_cylinder_info ci
left join tz_end_user eu on ci.end_custom_code = eu.custom_code
left join tz_cylinder_unit cu on cu.credit_code = ci.credit_code
LEFT JOIN tz_cylinder_inspection ip ON ip.sequence_code = ci.sequence_code
where
ci.sequence_code = #{sequenceCode}
</select>
</mapper>
......@@ -8,6 +8,8 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.yeejoin.amos.boot.module.tzs.api.dto.WarningMsgDto;
import com.yeejoin.amos.boot.module.tzs.api.enums.WarningEnum;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -19,7 +21,6 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.CylWarningMsgDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog;
import com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation;
......@@ -32,9 +33,9 @@ import com.yeejoin.amos.component.rule.RuleActionBean;
import com.yeejoin.amos.component.rule.RuleMethod;
@Component
@RuleActionBean(beanLabel = "气瓶预警消息")
public class CylWarningMsgAction{
private final Logger logger = LoggerFactory.getLogger(CylWarningMsgAction.class);
@RuleActionBean(beanLabel = "预警消息")
public class WarningMsgAction{
private final Logger logger = LoggerFactory.getLogger(WarningMsgAction.class);
@Value("${tzs.wechat.tempId.warning}")
private String templateId_Warning;
@Autowired
......@@ -52,30 +53,33 @@ public class CylWarningMsgAction{
private String cylpushTopic;
// @ExposeAction("气瓶预警消息")
@RuleMethod(methodLabel = "气瓶预警消息方法", project = "气瓶监管")
public void sendCylWebMessageTip(Object bizobj, String level,String orgUserName,String phone ,String text)
@RuleMethod(methodLabel = "预警消息方法", project = "预警消息")
public void sendWebMessageTip(Object bizobj, String level,String orgUserName,String phone ,String text)
{
CylWarningMsgDto cylWarningMsgDto = (CylWarningMsgDto)bizobj;
WarningMsgDto warningMsgDto = (WarningMsgDto)bizobj;
//更新气瓶等级
logger.info("更新气瓶等级:"+level);
logger.info("预警区间:"+cylWarningMsgDto.getNum());
cylinderInfoServiceImpl.updateEarlyWarningLevel(cylWarningMsgDto.getCylSeq(), level);
// logger.info("更新气瓶等级:"+level);
// logger.info("预警区间:"+warningMsgDto.getNum());
// cylinderInfoServiceImpl.updateEarlyWarningLevel(warningMsgDto.getCylSeq(), level);
//增加消息日志数据
MsgLog msgLog = new MsgLog();
msgLog.setRelationCode(cylWarningMsgDto.getCylSeq());
msgLog.setMsgType(EarlyWarningLevelEnum.getEumByLevel(level).getCode());
msgLog.setMsgTypeName(EarlyWarningLevelEnum.getEumByLevel(level).getName());
msgLog.setBody(instedParams(text,cylWarningMsgDto));
msgLog.setTargetCode(instedParams(phone,cylWarningMsgDto));
msgLog.setTargetName(instedParams(orgUserName,cylWarningMsgDto));
msgLog.setRelationCode(warningMsgDto.getCode());
msgLog.setMsgType(WarningEnum.getEumByLevel(level).getCode());
msgLog.setMsgTypeName(WarningEnum.getEumByLevel(level).getName());
msgLog.setBody(instedParams(text, warningMsgDto));
msgLog.setTargetCode(instedParams(phone, warningMsgDto));
msgLog.setTargetName(instedParams(orgUserName, warningMsgDto));
msgLog.setTerminalType("WEB");
msgLog.setSendTime(new Date());
msgLog.setRecDate(new Date());
msgLogServiceImpl.save(msgLog);
logger.info("增加消息日志数据:"+msgLog.toString());
//发送web消息
try {
emqKeeper.getMqttClient().publish(cylpushTopic, instedParams(text,cylWarningMsgDto).getBytes("UTF-8"), 2, false);
logger.info("气瓶预警消息发送成功:");
emqKeeper.getMqttClient().publish(cylpushTopic, instedParams(text, warningMsgDto).getBytes("UTF-8"), 2, false);
logger.info(warningMsgDto.getWarningType()+"消息发送成功:");
} catch (MqttException e) {
e.printStackTrace();
logger.error("mqtt发送失败" +text );
......@@ -84,18 +88,21 @@ public class CylWarningMsgAction{
logger.error("mqtt发送失败" +text );
}
}
@RuleMethod(methodLabel = "气瓶公众号", project = "气瓶监管")
public void sendCylWechatMessageTip(Object bizobj, String level,String orgUserName,String phone ,String text)
{
//增加消息日志数据
CylWarningMsgDto cylWarningMsgDto = (CylWarningMsgDto)bizobj;
WarningMsgDto warningMsgDto = (WarningMsgDto)bizobj;
MsgLog msgLog = new MsgLog();
msgLog.setRelationCode(cylWarningMsgDto.getCylSeq());
msgLog.setRelationCode(warningMsgDto.getCode());
msgLog.setMsgType(EarlyWarningLevelEnum.getEumByLevel(level).getCode());
msgLog.setMsgTypeName(EarlyWarningLevelEnum.getEumByLevel(level).getName());
msgLog.setBody(instedParams(text,cylWarningMsgDto));
msgLog.setTargetCode(instedParams(phone,cylWarningMsgDto));
msgLog.setTargetName(instedParams(orgUserName,cylWarningMsgDto));
msgLog.setBody(instedParams(text, warningMsgDto));
msgLog.setTargetCode(instedParams(phone, warningMsgDto));
msgLog.setTargetName(instedParams(orgUserName, warningMsgDto));
msgLog.setTerminalType("APP");
msgLog.setSendTime(new Date());
msgLogServiceImpl.save(msgLog);
......@@ -108,14 +115,14 @@ public class CylWarningMsgAction{
wechatMessageDto1.setTemplateId(templateId_Warning);
Map<String, String> data1 = Maps.newHashMap();
data1.put("first", "【陕西特种设备安全监察局】风险预警提醒");
data1.put("keyword1", instedParams(text,cylWarningMsgDto));
data1.put("keyword1", instedParams(text, warningMsgDto));
data1.put("keyword2", DateUtils.date2LongStr(new Date()));
wechatMessageDto1.setData(data1);
wechatServiceImpl.sendWechatModelMessage(wechatRelation.getOpenId(), wechatMessageDto1);
logger.info("公众号消息发送成功:");
}
}
private String instedParams(String content, CylWarningMsgDto contingencyRo) {
private String instedParams(String content, WarningMsgDto contingencyRo) {
// Map<String, String> strengthMap = this.getStrengthMap(contingencyRo);
// for (String key : strengthMap.keySet())
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.yeejoin.amos.boot.module.tzs.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.tzs.api.mapper.TzBaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.ITzBaseUnitLicenceService;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
/**
* 单位许可信息表 服务实现类
*
* @author duanwei
* @date 2022-08-31
*/
@Service
public class TzBaseUnitLicenceServiceImpl extends BaseService<TzBaseUnitLicenceDto, TzBaseUnitLicence, TzBaseUnitLicenceMapper> implements ITzBaseUnitLicenceService {
}
......@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderUnit;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderFillingRecordServiceImpl;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderInfoServiceImpl;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderUnitServiceImpl;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.ScheduleService;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import io.swagger.annotations.Api;
......@@ -936,4 +937,15 @@ public class CylinderInfoController extends BaseController {
}
}
@Autowired
private ScheduleService scheduleService;
@TycloudOperation(ApiLevel = UserType.AGENCY , needAuth = false)
@ApiOperation(httpMethod = "GET",value = "气瓶/设备/许可预警测试接口(实际应为定时任务)")
@GetMapping(value = "/test")
public void test(){
scheduleService.calEarlyWarningLevel();
}
}
package com.yeejoin.amos.boot.module.tzs.flc.biz.quartz;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderInfoServiceImpl;
import com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.ScheduleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
......@@ -14,13 +15,13 @@ import org.springframework.stereotype.Component;
public class CylinderSchedulerJob {
@Autowired
private CylinderInfoServiceImpl cylinderInfoService;
private ScheduleService scheduleService;
/**
* 每天9点-日报生成
*/
@Scheduled(cron = "${cylinder-early-warning-cron:0 0 9 * * ?}")
public void dayReport() {
cylinderInfoService.calEarlyWarningLevel();
scheduleService.calEarlyWarningLevel();
}
}
......@@ -5,9 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.CylWarningMsgDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WarningMsgDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog;
import com.yeejoin.amos.boot.module.tzs.api.enums.EarlyWarningLevelEnum;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ScheduleMapper;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzsAuthServiceImpl;
import com.yeejoin.amos.boot.module.tzs.flc.api.dto.*;
......@@ -101,9 +102,15 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
@Autowired
TzsAuthServiceImpl tzsAuthService;
@Autowired
private ScheduleMapper scheduleMapper;
@Value("${cylinder-early-warning-packageId:气瓶监管/cylwarningmsg}")
private String packageId;
@Value("${cylinder-early-warning-packageId:气瓶消息预警/cylwarningmsg}")
private String cylPackageId;
/**
* 分页查询
*/
......@@ -637,31 +644,31 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
//1.气瓶详情
CylinderInfoDto cylinderInfoDto = this.getDetail(r.getSequenceCode());
try {
CylWarningMsgDto cylWarningMsgDto = new CylWarningMsgDto();
// int interval = DateUtils.dateBetweenIncludeToday(now, cylinderInfoDto.getNextInspectionDate()) - 1;
// cylWarningMsgDto.setNum(String.valueOf(interval));
cylWarningMsgDto.setFactoryNum(cylinderInfoDto.getFactoryNum());
// cylWarningMsgDto.setUserType(cylinderInfoDto.getCustomType());
// cylWarningMsgDto.setUserPeople(cylinderInfoDto.getCustomName());
// cylWarningMsgDto.setUserPeoplePhone(cylinderInfoDto.getContactPhone());
cylWarningMsgDto.setCylSeq(cylinderInfoDto.getSequenceCode());
cylWarningMsgDto.setCompanyName(cylinderInfoDto.getUnitName());
// cylWarningMsgDto.setPhone(cylinderInfoDto.getPersonMobilePhone());
// cylWarningMsgDto.setPeople(cylinderInfoDto.getUnitPerson());
cylWarningMsgDto.setCurrentTime(dateStr);
WarningMsgDto warningMsgDto = new WarningMsgDto();
int interval = DateUtils.dateBetweenIncludeToday(now, cylinderInfoDto.getNextInspectionDate()) - 1;
warningMsgDto.setNum(String.valueOf(interval));
warningMsgDto.setFactoryNum(cylinderInfoDto.getFactoryNum());
// warningMsgDto.setUserType(cylinderInfoDto.getCustomType());
// warningMsgDto.setUserPeople(cylinderInfoDto.getCustomName());
// warningMsgDto.setUserPeoplePhone(cylinderInfoDto.getContactPhone());
warningMsgDto.setCode(cylinderInfoDto.getSequenceCode());
warningMsgDto.setCompanyName(cylinderInfoDto.getUnitName());
warningMsgDto.setPhone(cylinderInfoDto.getPersonMobilePhone());
warningMsgDto.setPeople(cylinderInfoDto.getUnitPerson());
warningMsgDto.setCurrentTime(dateStr);
// 2.循环调用规则 触发计算等级及发送消息
if (log.isInfoEnabled()) {
log.info("调用规则对象!+:{}", JSON.toJSONString(cylWarningMsgDto));
log.info("调用规则对象!+:{}", JSON.toJSONString(warningMsgDto));
}
ruleTrigger.publish(cylWarningMsgDto, packageId, null);
ruleTrigger.publish(warningMsgDto, packageId, null);
} catch (Exception e) {
log.error("调用规则失败!:{},{}", JSON.toJSONString(cylinderInfoDto),e);
}
}
public CylinderInfoDto getDetail(String sequenceCode) {
CylinderInfoDto dto = this.baseMapper.getDetail(sequenceCode);
// dto.setInspectionStatusDesc(StringUtils.isNotEmpty(dto.getEarlyWarningLevel()) ? EarlyWarningLevelEnum.getEumByLevel(dto.getEarlyWarningLevel()).getStatus() : "");
CylinderInfoDto dto = scheduleMapper.getCylDetail(sequenceCode);
dto.setInspectionStatusDesc(StringUtils.isNotEmpty(dto.getEarlyWarningLevel()) ? EarlyWarningLevelEnum.getEumByLevel(dto.getEarlyWarningLevel()).getStatus() : "");
return dto;
}
......
......@@ -51,4 +51,4 @@ tzs.cti.url=http://113.134.211.174:8000
rule.definition.load=false
rule.definition.model-package=com.yeejoin.amos.boot.module.tzs.api.dto
rule.definition.default-agency=tzs
rule.definition.localIp=172.16.3.39
\ No newline at end of file
#rule.definition.localIp=172.16.3.34
\ No newline at end of file
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