1290f512 张雷

禅道BUG修改

1 个父辈 62896a7c
正在显示 18 个修改的文件 包含 223 行增加64 行删除
package com.skua.modules.quartz;
import com.skua.core.util.ConvertUtils;
import com.skua.modules.alarmtmp.vo.SystemNoticeVO;
import com.skua.modules.system.entity.SysUser;
import com.skua.modules.system.service.ISysUserService;
import com.skua.modules.util.SystemNoticeUtils;
import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.List;
/**
* 发送消息任务
*/
@Slf4j
@Component
public class UpdatePasswordJob implements Job {
@Autowired
private ISysUserService sysUserService;
@Autowired
private SystemNoticeUtils systemNoticeUtils;
@Override
public void execute(JobExecutionContext jobExecutionContext) {
int beforeNumber = 90;//未修改密码天数
String editTime = getBeforeDay(beforeNumber);
log.info("开始检查长期未修改密码人员,提醒修改密码");
List<SysUser> userList = sysUserService.getNoUpdatePasswordUserList(editTime);
if (userList.size() > 0) {
String userIds = "";
for (SysUser sysUser : userList) {
if(ConvertUtils.isNotEmpty(sysUser.getPhone())){
userIds = sysUser.getId() + "," + userIds;
}
}
SystemNoticeVO systemNoticeVO = new SystemNoticeVO();
systemNoticeVO.setUserIds(userIds);
systemNoticeVO.setContent("您的密码已经超过"+beforeNumber+"天未修改密码,建议更换密码!");
systemNoticeUtils.passwordNoticeMessage(systemNoticeVO);
log.info("长期未修改密码检测完成");
} else {
log.info("没有需要修改密码的人员");
}
}
//获取n天前的日期
private static String getBeforeDay(int beforeNumber) {
LocalDate currentDate = LocalDate.now();
LocalDate daysAgo = currentDate.minus(beforeNumber, ChronoUnit.DAYS);// 计算n天前的日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return daysAgo.format(formatter)+" 00:00:00";
}
}
......@@ -188,4 +188,69 @@ public class SystemNoticeUtils {
}
}
/**
* 修改密码通知
* @param systemNoticeVO
*/
public void passwordNoticeMessage(SystemNoticeVO systemNoticeVO) {
String userIds = systemNoticeVO.getUserIds();
Date refDate = new Date();
SysAnnouncement sysAnnouncement = new SysAnnouncement();
sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
sysAnnouncement.setSendStatus(CommonSendStatus.PUBLISHED_STATUS_1);//发布
sysAnnouncement.setMsgType("USER");
sysAnnouncement.setPriority("M");
sysAnnouncement.setId(UUIDGenerator.creatUUID());
sysAnnouncement.setSendTime(refDate);
sysAnnouncement.setMsgCategory("2");
//系统
sysAnnouncement.setSender("系统");
sysAnnouncement.setDepartId(systemNoticeVO.getDepartId());
sysAnnouncement.setMsgContent(systemNoticeVO.getContent());
sysAnnouncement.setTitile("修改密码通知");
sysAnnouncement.setUserIds(userIds);
sysAnnouncementService.save(sysAnnouncement);
// 2.插入用户通告阅读标记表记录
String[] users = userIds.split(",");
String anntId = sysAnnouncement.getId();
for (int i = 0; i < users.length; i++) {
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
announcementSend.setUserId(users[i]);
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
announcementSend.setReadTime(refDate);
sysAnnouncementSendService.save(announcementSend);
}
// 发送webSocket
JSONObject obj = new JSONObject();
obj.put("cmd", "passwordNotice");
obj.put("type", sysAnnouncement.getPriority());
obj.put("msgId", sysAnnouncement.getId());
obj.put("msgTxt", sysAnnouncement.getTitile());
webSocket.sendMoreMessage(users, obj.toJSONString());
log.info("系统通知发送成功" + userIds);
//移动端消息推送
//根据用户id查询cid
List<String> cidList = sysUserService.getCidByUserIds(userIds);
if (cidList != null && cidList.size() > 0) {
log.info("APP通知发送开始" + userIds);
try {
MessageEntity messageEntity = new MessageEntity();
messageEntity.setMessageTitle("修改密码通知");
messageEntity.setMessageBody(systemNoticeVO.getContent());
messageEntity.setReceiveUserCid(cidList);
messageEntity.setForwardTag("");
IPushService appPushService = PushMessageFactory.getPushService("MOB");
appPushService.pushMessage(messageEntity);
} catch (Exception e) {
log.info("APP通知发送错误" + e);
}
log.info("APP通知发送成功" + userIds + ":" + "[修改密码通知]" + systemNoticeVO.getContent());
} else {
log.info("APP通知没有cid" + userIds);
}
}
}
......
......@@ -79,16 +79,8 @@ public class AjhWasteSolidTransportController {
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<AjhWasteSolidTransport>> result = new Result<IPage<AjhWasteSolidTransport>>();
/*String departIds = BaseContextHandler.getDeparts();
if(StringUtils.isNotEmpty(ajhWasteSolidTransport.getDepartId())){
departIds = commonSqlService.getChildDepartId(ajhWasteSolidTransport.getDepartId());
ajhWasteSolidTransport.setDepartId(null);
}*/
QueryWrapper<AjhWasteSolidTransport> queryWrapper = QueryGenerator.initQueryWrapper(ajhWasteSolidTransport, req.getParameterMap());
Page<AjhWasteSolidTransport> page = new Page<AjhWasteSolidTransport>(pageNo, pageSize);
/*if(StringUtils.isNotEmpty(departIds)){
queryWrapper.in("depart_id", JSUtils.quoteEach(departIds,","));
}*/
String startDate = req.getParameter("startDate");
if(StringUtils.isNotEmpty(startDate)){
queryWrapper.ge("transport_time",startDate+" 00:00:00");
......
......@@ -82,6 +82,16 @@ public class AjhWasteSolidTransport {
@Excel(name = "联系电话", width = 15)
@ApiModelProperty(value = "联系电话")
private String contactsPhone;
/**跟车人*/
@Excel(name = "跟车人", width = 15)
@ApiModelProperty(value = "跟车人")
private String followUser;
/**跟车人电话*/
@Excel(name = "跟车人电话", width = 15)
@ApiModelProperty(value = "跟车人电话")
private String followPhone;
/**创建人id*/
@Excel(name = "创建人id", width = 15)
@ApiModelProperty(value = "创建人id")
......
......@@ -99,7 +99,7 @@ public class SafetyOffenceRecord {
/**处理状态【1 已处理 2 暂不处理】*/
@Excel(name = "处理状态【1 已处理 2 暂不处理】", width = 15)
@ApiModelProperty(value = "处理状态【1 已处理 2 暂不处理】")
@Dict( dicCode = "handle_status")
@Dict( dicCode = "safety_handle_status")
private String handleStatus;
/**反馈意见*/
@Excel(name = "反馈意见", width = 15)
......
......@@ -62,7 +62,6 @@ public class InspectionPlanController {
result.setSuccess(true);
result.setResult(pageList);
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
result.error500("查询失败");
}
......
......@@ -58,33 +58,12 @@ public class InspectionTaskController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Result<IPage<InspectionTask>> result = new Result<>();
// QueryWrapper<InspectionTask> queryWrapper = new QueryWrapper<>();
// if (StringUtils.isNotBlank(inspectionTaskVO.getStartTime())
// && StringUtils.isNotBlank(inspectionTaskVO.getEndTime())) {
// queryWrapper.ge("inspection_cycle_start_date", inspectionTaskVO.getStartTime() + " 00:00:00");
// queryWrapper.le("inspection_cycle_start_date", inspectionTaskVO.getEndTime() + " 23:59:59");
// }
if (StringUtils.isNotBlank(inspectionTaskVO.getStartTime())
&& StringUtils.isNotBlank(inspectionTaskVO.getEndTime())) {
inspectionTaskVO.setStartTime(inspectionTaskVO.getStartTime() + " 00:00:00");
inspectionTaskVO.setEndTime(inspectionTaskVO.getEndTime() + " 23:59:59");
}
// if (StringUtils.isNotBlank(inspectionTaskVO.getTaskName())) {
// queryWrapper.like("task_name", inspectionTaskVO.getTaskName());
// }
// if (StringUtils.isNotBlank(inspectionTaskVO.getTaskState())) {
// queryWrapper.eq("task_state", inspectionTaskVO.getTaskState());
// }
// if (StringUtils.isNotBlank(inspectionTaskVO.getDepartId())) {
// queryWrapper.eq("depart_id", inspectionTaskVO.getDepartId());
// }
// queryWrapper.eq("del_flag","1");
// queryWrapper.orderByDesc("task_start_time");
// if (inspectionTaskVO.getGroupName() != null && !"".equals(inspectionTaskVO.getGroupName())) {
// queryWrapper.like("inspection_working_group_name", inspectionTaskVO.getInspectionWorkingGroupName());
// }
Page<InspectionTask> page = new Page<>(pageNo, pageSize);
// IPage<InspectionTask> pageList = inspectionTaskService.page(page, queryWrapper);
IPage<InspectionTask> pageList = inspectionTaskService.getPage(page, inspectionTaskVO);
result.setSuccess(true);
result.setResult(pageList);
......
......@@ -106,4 +106,10 @@ public class InspectionPlan {
@Excel(name = "删除标识(0:删除,1:有效)", width = 15)
@ApiModelProperty(value = "删除标识(0:删除,1:有效)")
private Integer delFlag;
/**计划任务类型*/
@Excel(name = "计划任务类型", width = 15)
@ApiModelProperty(value = "计划任务类型")
@Dict(dicCode = "inspection_plan_type")
private String inspectionPlanType;
}
......
package com.skua.modules.inspection.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.skua.core.aspect.annotation.Dict;
......@@ -149,4 +150,9 @@ public class InspectionTask {
@Excel(name = "删除标识(0:删除,1:有效)", width = 15)
@ApiModelProperty(value = "删除标识(0:删除,1:有效)")
private String delFlag;
@TableField(exist=false)
@Dict(dicCode = "inspection_plan_type")
private String inspectionPlanType;
}
......
......@@ -12,38 +12,41 @@
</select>
<select id="getList" parameterType="com.skua.modules.inspection.vo.InspectionTaskVO" resultType="com.skua.modules.inspection.entity.InspectionTask">
select
*
from inspection_task
where inspection_plan_id in (
select inspection_plan_id
from inspection_plan_point
where inspection_point_id in (
select inspection_point_id
from inspection_point_fill_group
SELECT
t.*,
p.inspection_plan_type
FROM
inspection_task t
LEFT JOIN inspection_plan p ON t.inspection_plan_id = p.id
WHERE
t.inspection_plan_id IN ( SELECT inspection_plan_id FROM inspection_plan_point
WHERE inspection_point_id IN ( SELECT inspection_point_id FROM inspection_point_fill_group
<if test="inspectionTaskVO.equipInfoId!=null and inspectionTaskVO.equipInfoId!=''">
where equip_info_id = #{inspectionTaskVO.equipInfoId}
</if>
))
and del_flag = 1
<if test="inspectionTaskVO.startTime !=null and inspectionTaskVO.startTime!=''">
and inspection_cycle_start_date BETWEEN #{inspectionTaskVO.startTime} and #{inspectionTaskVO.endTime}
</if>
<if test="inspectionTaskVO.taskName!=null and inspectionTaskVO.taskName!=''">
and task_name like CONCAT('%',#{inspectionTaskVO.taskName},'%')
</if>
<if test="inspectionTaskVO.taskState!=null and inspectionTaskVO.taskState!=''">
and task_state = #{inspectionTaskVO.taskState}
</if>
<if test="inspectionTaskVO.departId!=null and inspectionTaskVO.departId!=''">
and depart_id = #{inspectionTaskVO.departId}
</if>
<if test="inspectionTaskVO.groupName!=null and inspectionTaskVO.groupName!=''">
and inspection_working_group_name like CONCAT('%',#{inspectionTaskVO.groupName},'%')
</if>
<if test="inspectionTaskVO.inspectionWorkingGroupName!=null and inspectionTaskVO.inspectionWorkingGroupName!=''">
and inspection_working_group_name like CONCAT('%',#{inspectionTaskVO.inspectionWorkingGroupName},'%')
</if>
ORDER BY task_start_time desc
) )
AND t.del_flag = 1
<if test="inspectionTaskVO.startTime !=null and inspectionTaskVO.startTime!=''">
and t.inspection_cycle_start_date BETWEEN #{inspectionTaskVO.startTime} and #{inspectionTaskVO.endTime}
</if>
<if test="inspectionTaskVO.taskName!=null and inspectionTaskVO.taskName!=''">
and t.task_name like CONCAT('%',#{inspectionTaskVO.taskName},'%')
</if>
<if test="inspectionTaskVO.taskState!=null and inspectionTaskVO.taskState!=''">
and t.task_state = #{inspectionTaskVO.taskState}
</if>
<if test="inspectionTaskVO.departId!=null and inspectionTaskVO.departId!=''">
and t.depart_id = #{inspectionTaskVO.departId}
</if>
<if test="inspectionTaskVO.groupName!=null and inspectionTaskVO.groupName!=''">
and t.inspection_working_group_name like CONCAT('%',#{inspectionTaskVO.groupName},'%')
</if>
<if test="inspectionTaskVO.inspectionWorkingGroupName!=null and inspectionTaskVO.inspectionWorkingGroupName!=''">
and t.inspection_working_group_name like CONCAT('%',#{inspectionTaskVO.inspectionWorkingGroupName},'%')
</if>
<if test="inspectionTaskVO.inspectionPlanType!=null and inspectionTaskVO.inspectionPlanType!=''">
and p.inspection_plan_type = #{inspectionTaskVO.inspectionPlanType}
</if>
ORDER BY t.task_start_time desc
</select>
</mapper>
\ No newline at end of file
</mapper>
......
package com.skua.modules.inspection.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.skua.core.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
......@@ -161,4 +162,7 @@ public class InspectionTaskVO {
/**关联设备ID*/
private String equipInfoId;
}
\ No newline at end of file
/**计划任务类型*/
private String inspectionPlanType;
}
......
......@@ -167,6 +167,7 @@ public class SysUserController {
user.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt);
user.setPassword(passwordEncode);
user.setPasswordUpdateTime(new Date());
user.setStatus(1);
user.setDelFlag("0");
sysUserService.addUserWithRole(user, selectedRoles);
......@@ -430,6 +431,7 @@ public class SysUserController {
sysUser.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
sysUser.setPassword(passwordEncode);
sysUser.setPasswordUpdateTime(new Date());
this.sysUserService.updateById(sysUser);
result.setResult(sysUser);
result.success("密码修改完成!");
......@@ -629,7 +631,10 @@ public class SysUserController {
return result;
}
String newpassword = PasswordUtil.encrypt(username, password, user.getSalt());
this.sysUserService.update(new SysUser().setPassword(newpassword), new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, user.getId()));
SysUser sysUser = new SysUser();
sysUser.setPassword(newpassword);
sysUser.setPasswordUpdateTime(new Date());
this.sysUserService.update(sysUser, new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, user.getId()));
result.success("密码修改完成!");
return result;
}
......
......@@ -350,4 +350,10 @@ public class SysFactoryInfo {
@Dict(dicCode = "sludgeCraft")
private String sludgeCraft;
@Excel(name = "周边环境敏感区域类型", width = 20)
@ApiModelProperty(value = "周边环境敏感区域类型")
@Dict(dicCode = "environmentType")
private String environmentType;
@ApiModelProperty(value = "所处流域")
private String factoryBasin;
}
......
......@@ -178,4 +178,9 @@ public class SysUser implements Serializable {
* 数字孪生像素流地址
*/
private String pixelStreamPath;
//密码修改时间
private Date passwordUpdateTime;
}
......
......@@ -79,4 +79,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Anonymous
String queryDepartIdsByUserId(@Param("userId") String userId);
List<SysUser> getNoUpdatePasswordUserList(@Param("editTime") String editTime);
}
......
......@@ -163,4 +163,10 @@
WHERE a.dep_id = #{departId} OR a.dep_ids LIKE CONCAT('%',#{departId},'%')
</if>
</select>
<select id="getNoUpdatePasswordUserList" resultType="com.skua.modules.system.entity.SysUser">
select * from sys_user
where user_type = '2'
and password_update_time &lt;= #{editTime}
</select>
</mapper>
......
......@@ -153,4 +153,6 @@ public interface ISysUserService extends IService<SysUser> {
* @return
*/
String getUserNameByUserIds(String userIds);
List<SysUser> getNoUpdatePasswordUserList(String editTime);
}
......
......@@ -332,6 +332,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
public List<SysUser> getNoUpdatePasswordUserList(String editTime) {
List<SysUser> userList = baseMapper.getNoUpdatePasswordUserList(editTime);
return userList;
}
@Override
public List<SysUser> operationUserList(String departId) {
return userMapper.operationUserList(departId);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!