bug修改-安全大屏的通知

This commit is contained in:
guoshengxiong 2024-05-12 18:23:21 +08:00
parent b0065a7058
commit e5cc60231e
13 changed files with 152 additions and 67 deletions

View File

@ -75,7 +75,7 @@ public class NoticeController {
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"), @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "notInType", value = "除了某些类型,多个逗号分隔(比如除了质量、安全类型,传 10,11 ", paramType = "body", required = false, dataType = "String"), @ApiImplicitParam(name = "notInType", value = "除了某些类型,多个逗号分隔(比如除了质量、安全类型,传 10,11 ", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "isBigScreen", value = "1是大屏", paramType = "body", required = false, dataType = "String"), @ApiImplicitParam(name = "isBigScreen", value = "默认0不查大屏1是大屏", paramType = "body", required = false, dataType = "Integer"),
}) })
@PostMapping(value = "/list") @PostMapping(value = "/list")
public Result<IPage<Notice>> queryPageList(@RequestBody Map<String,Object> map) { public Result<IPage<Notice>> queryPageList(@RequestBody Map<String,Object> map) {

View File

@ -34,6 +34,12 @@ public interface SystemUserMapper extends BaseMapper<SystemUser> {
Page<SystemUser> getSystemUserBySn(@Param("param") Map<String, Object> map, Page<SystemUser> page); Page<SystemUser> getSystemUserBySn(@Param("param") Map<String, Object> map, Page<SystemUser> page);
/**
* sntype=3是项目级别账号
*
* @param map
* @return
*/
List<SystemUser> getSystemUsers(@Param("param") Map<String, Object> map); List<SystemUser> getSystemUsers(@Param("param") Map<String, Object> map);
SystemUser findByUsername(@Param("account") String account); SystemUser findByUsername(@Param("account") String account);

View File

@ -253,6 +253,12 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
if ((Objects.equals(systemUser.getAccountType(), 10) || Objects.equals(systemUser.getAccountType(), 11)) && if ((Objects.equals(systemUser.getAccountType(), 10) || Objects.equals(systemUser.getAccountType(), 11)) &&
StringUtils.isBlank(MapUtils.getString(map, "headquartersSn"))) { StringUtils.isBlank(MapUtils.getString(map, "headquartersSn"))) {
try {
HashMap<String, Object> emailMap = xzRegistryService.getRegistryEmailByAccount(systemUser.getAccount());
systemUser.setPersonMail(MapUtils.getString(emailMap, "email"));
} catch (Exception e) {
e.printStackTrace();
}
String token = jwtTokenProvider.createToken(MapUtils.getString(map, "account"), 60 * 60 * 24 * 30 * 12, 0); String token = jwtTokenProvider.createToken(MapUtils.getString(map, "account"), 60 * 60 * 24 * 30 * 12, 0);
result.put("userEnterpriseId", ""); result.put("userEnterpriseId", "");
result.put("seeEquipment", 0); result.put("seeEquipment", 0);
@ -1369,7 +1375,7 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
} }
String code = NumberUtils.randomNum(6); String code = NumberUtils.randomNum(6);
redisRepository.set(UPDATE_PW_EMAIL_CODE + su.getAccount(), code, 300L); redisRepository.set(UPDATE_PW_EMAIL_CODE + su.getAccount(), code, 300L);
HashMap<String, Object> registryEmailMap = xzRegistryService.getRegistryEmail(systemUser); HashMap<String, Object> registryEmailMap = xzRegistryService.getRegistryEmailByAccount(systemUser.getAccount());
String subject = "重置密码"; String subject = "重置密码";
String content = "您收到这封邮件是因为我们收到了一个重设密码的请求,您的账号是" + systemUser.getAccount() + ",验证码是:" + code + String content = "您收到这封邮件是因为我们收到了一个重设密码的请求,您的账号是" + systemUser.getAccount() + ",验证码是:" + code +
",请注意,为了您的账户安全,请勿与他人分享您的验证码。"; ",请注意,为了您的账户安全,请勿与他人分享您的验证码。";

View File

@ -42,6 +42,8 @@ public interface IQualityInspectionRecordService extends IService<QualityInspect
void saveQualityInspectionRecord(QualityInspectionRecord qualityInspectionRecord); void saveQualityInspectionRecord(QualityInspectionRecord qualityInspectionRecord);
void noticeBigScreen(QualityInspectionRecord qualityInspectionRecord, String time, String format);
void exporExcelQualityInspectionRecord(HttpServletResponse response, Map<String, Object> map); void exporExcelQualityInspectionRecord(HttpServletResponse response, Map<String, Object> map);
EntityMap getRectificationAndNoNum(String projectSn); EntityMap getRectificationAndNoNum(String projectSn);

View File

@ -20,6 +20,7 @@ import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.call.SanjiangDataCall; import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.enums.ParamEnum; import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
@ -42,6 +43,7 @@ import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord;
import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper; import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper;
import com.zhgd.xmgl.push.config.PushPayloads; import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.JxlExcelUtils; import com.zhgd.xmgl.util.JxlExcelUtils;
import com.zhgd.xmgl.util.MapBuilder;
import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.NumberUtils; import com.zhgd.xmgl.util.NumberUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@ -268,16 +270,44 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
qualityInspectionRecord.setEnterpriseId(enterpriseInfo.getId()); qualityInspectionRecord.setEnterpriseId(enterpriseInfo.getId());
} }
qualityInspectionRecordMapper.insert(qualityInspectionRecord); qualityInspectionRecordMapper.insert(qualityInspectionRecord);
EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectById(qualityInspectionRecord.getEnterpriseId());
if (qualityInspectionRecord.getRecordType() == 1 && qualityInspectionRecord.getStatus() == 2) { if (qualityInspectionRecord.getRecordType() == 1 && qualityInspectionRecord.getStatus() == 2) {
noticeService.addUserNoticeAndApp(qualityInspectionRecord.getChangeId(), "您有一条质量检查待整改,问题:" + qualityInspectionRecord.getDangerItemContent(), "质量管理待整改", "11", noticeService.addUserNoticeAndApp(qualityInspectionRecord.getChangeId(), "您有一条质量检查待整改,问题:" + qualityInspectionRecord.getDangerItemContent(), "质量管理待整改", "11",
PushPayloads.buildPushPayload(11, qualityInspectionRecord)); PushPayloads.buildPushPayload(11, qualityInspectionRecord));
noticeBigScreen(qualityInspectionRecord, qualityInspectionRecord.getInspectTime(), StrUtil.format("{}检查到一条{}的{}质量隐患问题,请注意监督整改!",
qualityInspectionRecord.getRegionName(), enterpriseInfo.getEnterpriseName(), StrUtil.subAfter(qualityInspectionRecord.getDangerItemContent(), "/", true)));
} else if (qualityInspectionRecord.getRecordType() == 2) {
noticeBigScreen(qualityInspectionRecord, qualityInspectionRecord.getInspectTime(), StrUtil.format("{}已排查了{}的质量隐患问题,今日排查暂无次安全隐患!",
qualityInspectionRecord.getRegionName(), StrUtil.subAfter(qualityInspectionRecord.getDangerItemContent(), "/", true)));
} }
sanjiangDataCall.sendAddQualityInspectionRecord(qualityInspectionRecord); sanjiangDataCall.sendAddQualityInspectionRecord(qualityInspectionRecord);
deductScoreIf(qualityInspectionRecord); deductScoreIf(qualityInspectionRecord);
} }
/**
* 发生大屏通知
*
* @param qualityInspectionRecord
* @param time
* @param format
*/
@Override
public void noticeBigScreen(QualityInspectionRecord qualityInspectionRecord, String time, String format) {
List<SystemUser> systemUsers = systemUserMapper.getSystemUsers(new MapBuilder<String, Object>().put("sn", qualityInspectionRecord.getProjectSn()).put("type", 3).build());
for (SystemUser systemUser : systemUsers) {
Notice notice = new Notice();
notice.setType("31");
notice.setMsg(format);
notice.setAccountId(systemUser.getUserId());
notice.setTitle("大屏通知");
notice.setSendTime(DateUtil.now());
Integer level = qualityInspectionRecord.getLevel();
notice.setPayload(JSON.toJSONString(new MapBuilder<String, Object>().put("time", time)
.put("level", level).build()));
noticeService.addNotice(notice, false);
}
}
private void deductScoreIf(QualityInspectionRecord hiddenDangerInspectRecord) { private void deductScoreIf(QualityInspectionRecord hiddenDangerInspectRecord) {
if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) { if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) {
return; return;

View File

@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -22,6 +23,8 @@ import com.zhgd.xmgl.modules.quality.mapper.QualityInspectionRecordMapper;
import com.zhgd.xmgl.modules.quality.mapper.QualityRectifyRecordMapper; import com.zhgd.xmgl.modules.quality.mapper.QualityRectifyRecordMapper;
import com.zhgd.xmgl.modules.quality.service.IQualityInspectionRecordService; import com.zhgd.xmgl.modules.quality.service.IQualityInspectionRecordService;
import com.zhgd.xmgl.modules.quality.service.IQualityRectifyRecordService; import com.zhgd.xmgl.modules.quality.service.IQualityRectifyRecordService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.push.config.PushPayloads; import com.zhgd.xmgl.push.config.PushPayloads;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
@ -52,35 +55,37 @@ import java.util.stream.Collectors;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyRecordMapper, QualityRectifyRecord> implements IQualityRectifyRecordService { public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyRecordMapper, QualityRectifyRecord> implements IQualityRectifyRecordService {
@Value("${basePath}")
private String basePath;
@Autowired @Autowired
IQualityInspectionRecordService qualityInspectionRecordService; IQualityInspectionRecordService qualityInspectionRecordService;
@Autowired @Autowired
SanjiangDataCall sanjiangDataCall;
@Autowired
RedissonDistributedLock redissonDistributedLock;
@Autowired
EnterpriseInfoMapper enterpriseInfoMapper;
@Value("${basePath}")
private String basePath;
@Autowired
private QualityRectifyRecordMapper qualityRectifyRecordMapper; private QualityRectifyRecordMapper qualityRectifyRecordMapper;
@Autowired @Autowired
private QualityInspectionRecordMapper qualityInspectionRecordMapper; private QualityInspectionRecordMapper qualityInspectionRecordMapper;
@Autowired @Autowired
private INoticeService noticeService; private INoticeService noticeService;
@Autowired
SanjiangDataCall sanjiangDataCall;
@Override @Override
public List<QualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) { public List<QualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) {
return qualityRectifyRecordMapper.selectRectifyRecordList(map); return qualityRectifyRecordMapper.selectRectifyRecordList(map);
} }
@Autowired
RedissonDistributedLock redissonDistributedLock;
@Override @Override
@DistributedLock(keyPrefix = "quality_rectify_record:",key = "#qualityRectifyRecord.qualityId",tryLok = true,lockTime = 0) @DistributedLock(keyPrefix = "quality_rectify_record:", key = "#qualityRectifyRecord.qualityId", tryLok = true, lockTime = 0)
public void saveQualityRectifyRecord(QualityRectifyRecord qualityRectifyRecord) throws Exception { public void saveQualityRectifyRecord(QualityRectifyRecord qualityRectifyRecord) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
qualityRectifyRecord.setCreateTime(sdf.format(new Date())); qualityRectifyRecord.setCreateTime(sdf.format(new Date()));
qualityRectifyRecordMapper.insert(qualityRectifyRecord); qualityRectifyRecordMapper.insert(qualityRectifyRecord);
QualityInspectionRecord tempQualityInspectionRecord = qualityInspectionRecordMapper.selectById(qualityRectifyRecord.getQualityId()); QualityInspectionRecord tempQualityInspectionRecord = qualityInspectionRecordMapper.selectById(qualityRectifyRecord.getQualityId());
QualityInspectionRecord qualityInspectionRecord = new QualityInspectionRecord(); QualityInspectionRecord qualityInspectionRecord = new QualityInspectionRecord();
EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectById(tempQualityInspectionRecord.getEnterpriseId());
qualityInspectionRecord.setId(qualityRectifyRecord.getQualityId()); qualityInspectionRecord.setId(qualityRectifyRecord.getQualityId());
if (qualityRectifyRecord.getType() == 1) { if (qualityRectifyRecord.getType() == 1) {
//已整改时候需要复查 //已整改时候需要复查
@ -88,6 +93,8 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
qualityInspectionRecord.setStatus(3); qualityInspectionRecord.setStatus(3);
noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getReviewId(), "您有一条质量检查的整改结果需要复查,请及时查看。", "质量管理整改结果待复查", "11", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getReviewId(), "您有一条质量检查的整改结果需要复查,请及时查看。", "质量管理整改结果待复查", "11",
PushPayloads.buildPushPayload(11, qualityInspectionRecord)); PushPayloads.buildPushPayload(11, qualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}整改了{}的一条{}质量隐患问题,请注意监督复查!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
qualityInspectionRecord.setStatus(2); qualityInspectionRecord.setStatus(2);
} }
@ -97,6 +104,8 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
qualityInspectionRecord.setStatus(4); qualityInspectionRecord.setStatus(4);
noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getVerifyManId(), "您有一条质量检查的整改结果需要核验,请及时查看。", "质量管理整改结果核验通知", "11", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getVerifyManId(), "您有一条质量检查的整改结果需要核验,请及时查看。", "质量管理整改结果核验通知", "11",
PushPayloads.buildPushPayload(11, qualityInspectionRecord)); PushPayloads.buildPushPayload(11, qualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}复查了{}的一条{}质量隐患问题,请注意监督复核!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
qualityInspectionRecord.setStatus(2); qualityInspectionRecord.setStatus(2);
noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果复查不通过,请及时重新整改。", "质量管理整改结果复查通知", "11", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果复查不通过,请及时重新整改。", "质量管理整改结果复查通知", "11",
@ -108,6 +117,8 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
qualityInspectionRecord.setStatus(5); qualityInspectionRecord.setStatus(5);
noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果已通过核验。", "质量管理整改结果核验通知", "11", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果已通过核验。", "质量管理整改结果核验通知", "11",
PushPayloads.buildPushPayload(11, qualityInspectionRecord)); PushPayloads.buildPushPayload(11, qualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}核验了{}的一条{}质量隐患问题,请注意查看!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
qualityInspectionRecord.setStatus(2); qualityInspectionRecord.setStatus(2);
noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果核验不通过,请及时重新整改。", "质量管理整改结果核验通知", "11", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的质量检查的整改结果核验不通过,请及时重新整改。", "质量管理整改结果核验通知", "11",

View File

@ -92,4 +92,5 @@ public interface IXzSecurityQualityInspectionRecordService extends IService<XzSe
BigDecimal getRiskScore(String projectSn, Date time); BigDecimal getRiskScore(String projectSn, Date time);
void noticeBigScreen(XzSecurityQualityInspectionRecord tempQualityInspectionRecord, String rectifyTime, String format);
} }

View File

@ -20,6 +20,7 @@ import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.call.SanjiangDataCall; import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.enums.ParamEnum; import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
@ -51,14 +52,10 @@ import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityRectifyRecordMa
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityInspectTaskRecordService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityInspectTaskRecordService;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService;
import com.zhgd.xmgl.push.config.PushPayloads; import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.JxlExcelUtils; import com.zhgd.xmgl.util.*;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.NumberUtils;
import com.zhgd.xmgl.util.PageUtil;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -283,25 +280,31 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
} }
@Override @Override
public void saveQualityInspectionRecord(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { public void saveQualityInspectionRecord(XzSecurityQualityInspectionRecord qualityInspectionRecord) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
xzSecurityQualityInspectionRecord.setCreateTime(df.format(new Date())); qualityInspectionRecord.setCreateTime(df.format(new Date()));
if (Objects.equals(xzSecurityQualityInspectionRecord.getRecordType(), 2)) { if (Objects.equals(qualityInspectionRecord.getRecordType(), 2)) {
xzSecurityQualityInspectionRecord.setStatus(5); qualityInspectionRecord.setStatus(5);
} }
String enterpriseSn = xzSecurityQualityInspectionRecord.getEnterpriseSn(); String enterpriseSn = qualityInspectionRecord.getEnterpriseSn();
if (StrUtil.isNotBlank(enterpriseSn)) { if (StrUtil.isNotBlank(enterpriseSn)) {
EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<EnterpriseInfo>() EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<EnterpriseInfo>()
.eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn)); .eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn));
xzSecurityQualityInspectionRecord.setEnterpriseId(enterpriseInfo.getId()); qualityInspectionRecord.setEnterpriseId(enterpriseInfo.getId());
} }
xzSecurityQualityInspectionRecordMapper.insert(xzSecurityQualityInspectionRecord); EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectById(qualityInspectionRecord.getEnterpriseId());
if (xzSecurityQualityInspectionRecord.getRecordType() == 1 && xzSecurityQualityInspectionRecord.getStatus() == 2) { xzSecurityQualityInspectionRecordMapper.insert(qualityInspectionRecord);
noticeService.addUserNoticeAndApp(xzSecurityQualityInspectionRecord.getChangeId(), "您有一条安全检查待整改,问题:" + xzSecurityQualityInspectionRecord.getDangerItemContent(), "安全管理待整改", "10", if (qualityInspectionRecord.getRecordType() == 1 && qualityInspectionRecord.getStatus() == 2) {
PushPayloads.buildPushPayload(10, xzSecurityQualityInspectionRecord)); noticeService.addUserNoticeAndApp(qualityInspectionRecord.getChangeId(), "您有一条安全检查待整改,问题:" + qualityInspectionRecord.getDangerItemContent(), "安全管理待整改", "10",
PushPayloads.buildPushPayload(10, qualityInspectionRecord));
noticeBigScreen(qualityInspectionRecord, qualityInspectionRecord.getInspectTime(), StrUtil.format("{}检查到一条{}的{}安全隐患问题,请注意监督整改!",
qualityInspectionRecord.getRegionName(), enterpriseInfo.getEnterpriseName(), StrUtil.subAfter(qualityInspectionRecord.getDangerItemContent(), "/", true)));
} else if (qualityInspectionRecord.getRecordType() == 2) {
noticeBigScreen(qualityInspectionRecord, qualityInspectionRecord.getInspectTime(), StrUtil.format("{}已排查了{}的安全隐患问题,今日排查暂无次安全隐患!",
qualityInspectionRecord.getRegionName(), StrUtil.subAfter(qualityInspectionRecord.getDangerItemContent(), "/", true)));
} }
deductScoreIf(xzSecurityQualityInspectionRecord); deductScoreIf(qualityInspectionRecord);
} }
private void deductScoreIf(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) { private void deductScoreIf(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) {
@ -711,6 +714,23 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
return total.multiply(new BigDecimal(15)).setScale(2, RoundingMode.HALF_UP); return total.multiply(new BigDecimal(15)).setScale(2, RoundingMode.HALF_UP);
} }
@Override
public void noticeBigScreen(XzSecurityQualityInspectionRecord qualityInspectionRecord, String time, String format) {
List<SystemUser> systemUsers = systemUserMapper.getSystemUsers(new MapBuilder<String, Object>().put("sn", qualityInspectionRecord.getProjectSn()).put("type", 3).build());
for (SystemUser systemUser : systemUsers) {
Notice notice = new Notice();
notice.setType("31");
notice.setMsg(format);
notice.setAccountId(systemUser.getUserId());
notice.setTitle("大屏通知");
notice.setSendTime(DateUtil.now());
Integer level = qualityInspectionRecord.getLevel();
notice.setPayload(JSON.toJSONString(new MapBuilder<String, Object>().put("time", time)
.put("level", level).build()));
noticeService.addNotice(notice, false);
}
}
private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) { private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) {
if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) { if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) {
return; return;

View File

@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -13,6 +14,8 @@ import com.gexin.fastjson.JSONArray;
import com.gexin.fastjson.JSONObject; import com.gexin.fastjson.JSONObject;
import com.zhgd.xmgl.call.SanjiangDataCall; import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord;
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityRectifyRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityRectifyRecord;
import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityRecordVo; import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityRecordVo;
@ -50,18 +53,20 @@ import java.util.stream.Collectors;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class XzSecurityXzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl<XzSecurityQualityRectifyRecordMapper, XzSecurityQualityRectifyRecord> implements IXzSecurityQualityRectifyRecordService { public class XzSecurityXzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl<XzSecurityQualityRectifyRecordMapper, XzSecurityQualityRectifyRecord> implements IXzSecurityQualityRectifyRecordService {
@Value("${basePath}")
private String basePath;
@Autowired @Autowired
IXzSecurityQualityInspectionRecordService qualityInspectionRecordService; IXzSecurityQualityInspectionRecordService qualityInspectionRecordService;
@Autowired @Autowired
SanjiangDataCall sanjiangDataCall;
@Autowired
EnterpriseInfoMapper enterpriseInfoMapper;
@Value("${basePath}")
private String basePath;
@Autowired
private XzSecurityQualityRectifyRecordMapper xzSecurityQualityRectifyRecordMapper; private XzSecurityQualityRectifyRecordMapper xzSecurityQualityRectifyRecordMapper;
@Autowired @Autowired
private XzSecurityQualityInspectionRecordMapper xzSecurityQualityInspectionRecordMapper; private XzSecurityQualityInspectionRecordMapper xzSecurityQualityInspectionRecordMapper;
@Autowired @Autowired
private INoticeService noticeService; private INoticeService noticeService;
@Autowired
SanjiangDataCall sanjiangDataCall;
@Override @Override
public List<XzSecurityQualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) { public List<XzSecurityQualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) {
@ -69,44 +74,51 @@ public class XzSecurityXzSecurityQualityRectifyRecordServiceImpl extends Service
} }
@Override @Override
public void saveQualityRectifyRecord(XzSecurityQualityRectifyRecord xzSecurityQualityRectifyRecord) { public void saveQualityRectifyRecord(XzSecurityQualityRectifyRecord qualityRectifyRecord) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
xzSecurityQualityRectifyRecord.setCreateTime(sdf.format(new Date())); qualityRectifyRecord.setCreateTime(sdf.format(new Date()));
xzSecurityQualityRectifyRecordMapper.insert(xzSecurityQualityRectifyRecord); xzSecurityQualityRectifyRecordMapper.insert(qualityRectifyRecord);
XzSecurityQualityInspectionRecord tempXzSecurityQualityInspectionRecord = xzSecurityQualityInspectionRecordMapper.selectById(xzSecurityQualityRectifyRecord.getQualityId()); XzSecurityQualityInspectionRecord tempQualityInspectionRecord = xzSecurityQualityInspectionRecordMapper.selectById(qualityRectifyRecord.getQualityId());
if (xzSecurityQualityRectifyRecord.getType() == 1) { EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectById(tempQualityInspectionRecord.getEnterpriseId());
if (qualityRectifyRecord.getType() == 1) {
//已整改时候需要复查 //已整改时候需要复查
if (xzSecurityQualityRectifyRecord.getStatus() == 2) { if (qualityRectifyRecord.getStatus() == 2) {
tempXzSecurityQualityInspectionRecord.setStatus(3); tempQualityInspectionRecord.setStatus(3);
noticeService.addUserNoticeAndApp(tempXzSecurityQualityInspectionRecord.getReviewId(), "您有一条安全检查的整改结果需要复查,请及时查看。", "安全管理整改结果待复查", "10", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getReviewId(), "您有一条安全检查的整改结果需要复查,请及时查看。", "安全管理整改结果待复查", "10",
PushPayloads.buildPushPayload(10, tempXzSecurityQualityInspectionRecord)); PushPayloads.buildPushPayload(10, tempQualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}整改了{}的一条{}安全隐患问题,请注意监督复查!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
tempXzSecurityQualityInspectionRecord.setStatus(2); tempQualityInspectionRecord.setStatus(2);
} }
} else if (xzSecurityQualityRectifyRecord.getType() == 2) { } else if (qualityRectifyRecord.getType() == 2) {
//复查合格时候需要核验 //复查合格时候需要核验
if (xzSecurityQualityRectifyRecord.getStatus() == 2) { if (qualityRectifyRecord.getStatus() == 2) {
tempXzSecurityQualityInspectionRecord.setStatus(4); tempQualityInspectionRecord.setStatus(4);
noticeService.addUserNoticeAndApp(tempXzSecurityQualityInspectionRecord.getVerifyManId(), "您有一条安全检查的整改结果需要核验,请及时查看。", "安全管理整改结果核验通知", "10", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getVerifyManId(), "您有一条安全检查的整改结果需要核验,请及时查看。", "安全管理整改结果核验通知", "10",
PushPayloads.buildPushPayload(10, tempXzSecurityQualityInspectionRecord)); PushPayloads.buildPushPayload(10, tempQualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}复查了{}的一条{}安全隐患问题,请注意监督复核!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
tempXzSecurityQualityInspectionRecord.setStatus(2); tempQualityInspectionRecord.setStatus(2);
noticeService.addUserNoticeAndApp(tempXzSecurityQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果复查不通过,请及时重新整改。", "安全管理整改结果复查通知", "10", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果复查不通过,请及时重新整改。", "安全管理整改结果复查通知", "10",
PushPayloads.buildPushPayload(10, tempXzSecurityQualityInspectionRecord)); PushPayloads.buildPushPayload(10, tempQualityInspectionRecord));
} }
} else { } else {
//核验合格时候则该记录合格 //核验合格时候则该记录合格
if (xzSecurityQualityRectifyRecord.getStatus() == 2) { if (qualityRectifyRecord.getStatus() == 2) {
tempXzSecurityQualityInspectionRecord.setStatus(5); tempQualityInspectionRecord.setStatus(5);
noticeService.addUserNoticeAndApp(tempXzSecurityQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果已通过核验。", "安全管理整改结果核验通知", "10", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果已通过核验。", "安全管理整改结果核验通知", "10",
PushPayloads.buildPushPayload(10, tempXzSecurityQualityInspectionRecord)); PushPayloads.buildPushPayload(10, tempQualityInspectionRecord));
qualityInspectionRecordService.noticeBigScreen(tempQualityInspectionRecord, qualityRectifyRecord.getRectifyTime(), StrUtil.format("{}核验了{}的一条{}安全隐患问题,请注意查看!",
enterpriseInfo.getEnterpriseName(), tempQualityInspectionRecord.getRegionName(), StrUtil.subAfter(tempQualityInspectionRecord.getDangerItemContent(), "/", true)));
} else { } else {
tempXzSecurityQualityInspectionRecord.setStatus(2); tempQualityInspectionRecord.setStatus(2);
noticeService.addUserNoticeAndApp(tempXzSecurityQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果核验不通过,请及时重新整改。", "安全管理整改结果核验通知", "10", noticeService.addUserNoticeAndApp(tempQualityInspectionRecord.getChangeId(), "您提交的安全检查的整改结果核验不通过,请及时重新整改。", "安全管理整改结果核验通知", "10",
PushPayloads.buildPushPayload(10, tempXzSecurityQualityInspectionRecord)); PushPayloads.buildPushPayload(10, tempQualityInspectionRecord));
} }
} }
xzSecurityQualityInspectionRecordMapper.updateById(tempXzSecurityQualityInspectionRecord); xzSecurityQualityInspectionRecordMapper.updateById(tempQualityInspectionRecord);
} }

View File

@ -1,11 +1,9 @@
package com.zhgd.xmgl.modules.xz.controller; package com.zhgd.xmgl.modules.xz.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wf.captcha.base.Captcha; import com.wf.captcha.base.Captcha;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.redis.lock.RedisDistributedLock;
import com.zhgd.redis.lock.RedisRepository; import com.zhgd.redis.lock.RedisRepository;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.xz.captcha.LoginCode; import com.zhgd.xmgl.modules.xz.captcha.LoginCode;
@ -172,6 +170,6 @@ public class XzRegistryController {
@ApiOperation(value = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", notes = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", httpMethod = "POST") @ApiOperation(value = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", notes = "根据账号查询注册邮箱(或者查询项目子账号的邮箱)", httpMethod = "POST")
@PostMapping(value = "/getRegistryEmail") @PostMapping(value = "/getRegistryEmail")
public Result<HashMap<String, Object>> getRegistryEmail(@RequestBody SystemUser systemUser) { public Result<HashMap<String, Object>> getRegistryEmail(@RequestBody SystemUser systemUser) {
return Result.success(xzRegistryService.getRegistryEmail(systemUser)); return Result.success(xzRegistryService.getRegistryEmailByAccount(systemUser.getAccount()));
} }
} }

View File

@ -1,6 +1,5 @@
package com.zhgd.xmgl.modules.xz.service; package com.zhgd.xmgl.modules.xz.service;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.xz.entity.XzRegistry; import com.zhgd.xmgl.modules.xz.entity.XzRegistry;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -28,5 +27,5 @@ public interface IXzRegistryService extends IService<XzRegistry> {
void approval(XzRegistry xzRegistry); void approval(XzRegistry xzRegistry);
HashMap<String, Object> getRegistryEmail(SystemUser systemUser); HashMap<String, Object> getRegistryEmailByAccount(String account);
} }

View File

@ -216,16 +216,16 @@ public class XzRegistryServiceImpl extends ServiceImpl<XzRegistryMapper, XzRegis
} }
@Override @Override
public HashMap<String, Object> getRegistryEmail(SystemUser systemUser) { public HashMap<String, Object> getRegistryEmailByAccount(String account) {
SystemUser su = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>() SystemUser su = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>()
.eq(SystemUser::getAccount, systemUser.getAccount())); .eq(SystemUser::getAccount, account));
if (su == null) { if (su == null) {
throw new OpenAlertException("账号不存在"); throw new OpenAlertException("账号不存在");
} }
String email = ""; String email = "";
if (su.getAccountType() == 10 || su.getAccountType() == 11) { if (su.getAccountType() == 10 || su.getAccountType() == 11) {
XzRegistry xzRegistry = xzRegistryMapper.selectOne(new LambdaQueryWrapper<XzRegistry>() XzRegistry xzRegistry = xzRegistryMapper.selectOne(new LambdaQueryWrapper<XzRegistry>()
.eq(XzRegistry::getAccount, systemUser.getAccount()) .eq(XzRegistry::getAccount, account)
.eq(XzRegistry::getApprovalProcess, 2) .eq(XzRegistry::getApprovalProcess, 2)
.last("order by create_time desc limit 1") .last("order by create_time desc limit 1")
); );

View File

@ -352,7 +352,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/xmgl/exteriorScaffoldingMonitorType/selectMonitorTypeCount").permitAll() .antMatchers("/xmgl/exteriorScaffoldingMonitorType/selectMonitorTypeCount").permitAll()
.antMatchers("/xmgl/hikvision/eventCallback").permitAll() .antMatchers("/xmgl/hikvision/eventCallback").permitAll()
.antMatchers("/xmgl/systemUser/xz/checkAccount").permitAll() .antMatchers("/xmgl/systemUser/xz/checkAccount").permitAll()
.antMatchers("/xmgl/xzRegistry/getRegistryEmail").permitAll() .antMatchers("/xmgl/xzRegistry/getRegistryEmailByAccount").permitAll()
.antMatchers("/xmgl/systemUser/getEmailCodeByAccount").permitAll() .antMatchers("/xmgl/systemUser/getEmailCodeByAccount").permitAll()
.antMatchers("/xmgl/systemUser/resetPwValidCode").permitAll() .antMatchers("/xmgl/systemUser/resetPwValidCode").permitAll()
.antMatchers("/xmgl/systemUser/resetPwByEmail").permitAll() .antMatchers("/xmgl/systemUser/resetPwByEmail").permitAll()