初验修改

This commit is contained in:
pengjie 2024-12-11 19:15:28 +08:00
parent 699b10ade4
commit 25445028f4
23 changed files with 109 additions and 65 deletions

View File

@ -1,12 +1,17 @@
package com.zhgd.exception;
import cn.hutool.core.util.StrUtil;
import com.wflow.exception.BusinessException;
import com.wflow.service.OrgRepositoryService;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.constant.CommonConstant;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.execption.OpenPromptException;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.util.EmailUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
@ -32,6 +37,9 @@ import java.util.stream.Collectors;
@ControllerAdvice
public class ExceptionHandlerAdvice {
@Autowired
private INoticeService noticeService;
@ExceptionHandler(Exception.class)
@ResponseBody
public Result<Object> restError(HttpServletRequest request, HttpServletResponse response, Exception ex) {
@ -51,8 +59,13 @@ public class ExceptionHandlerAdvice {
result.setCode(200);
result.setMessage(appException.getMessage());
result.setResult(appException.getResult());
} else if (ex instanceof BusinessException) {
BusinessException appException = (BusinessException) ex;
noticeService.addNoticeToManager("" + appException.getMessage() + "流程】出现异常", "", "30", null);
result.error500("操作异常,请联系管理员或查看异常日志");
} else {
result.error500(ex.getMessage() == null ? "操作中出现空指针!" : ex.getMessage());
// result.error500(ex.getMessage() == null ? "操作中出现空指针!" : ex.getMessage());
result.error500("操作异常,请联系管理员或查看异常日志");
}
log.error("异常请求路径:" + request.getRequestURI() + "--" + result.getMessage());
log.error("", ex);

View File

@ -120,14 +120,13 @@ public class SystemUserDestroyController {
if (systemUserDestroyEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = systemUserDestroyService.updateById(systemUserDestroy);
boolean ok = systemUserDestroyService.updateInfo(systemUserDestroy);
if (ok) {
result.success("修改成功!");
} else {
result.success("操作失败!");
}
}
return result;
}

View File

@ -12,4 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
public interface ISystemUserDestroyService extends IService<SystemUserDestroy> {
void saveInfo();
boolean updateInfo(SystemUserDestroy systemUserDestroy);
}

View File

@ -132,7 +132,7 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
public void addNoticeToManager(String title, String msg, String type, String projectSn) {
List<SystemUser> systemUserList = systemUserService.list(Wrappers.<SystemUser>lambdaQuery()
.eq(SystemUser::getAccountType, SystemUserAccountTypeEnum.NEW_USER.getValue())
.eq(SystemUser::getSn, projectSn));
.eq(projectSn != null, SystemUser::getSn, projectSn));
List<Long> accountIds = systemUserList.stream().map(u -> u.getUserId()).collect(Collectors.toList());
ArrayList<Notice> notices = new ArrayList<>();
for (Long accountId : accountIds) {

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.basicdata.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUserDestroy;
@ -12,7 +13,10 @@ import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
import com.zhgd.xmgl.security.entity.UserInfo;
import com.zhgd.xmgl.security.util.SecurityUtils;
import com.zhgd.xmgl.util.EmailUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -37,6 +41,10 @@ public class SystemUserDestroyServiceImpl extends ServiceImpl<SystemUserDestroyM
@Autowired
private IEnterpriseInfoService enterpriseInfoService;
@Lazy
@Autowired
private EmailUtils emailUtils;
@Override
public void saveInfo() {
UserInfo user = SecurityUtils.getUser();
@ -45,17 +53,35 @@ public class SystemUserDestroyServiceImpl extends ServiceImpl<SystemUserDestroyM
if (userDestroy != null) {
return;
}
SystemUser systemUser = systemUserService.getById(user.getUserId());
WorkerInfo workerInfo = workerInfoService.getById(systemUser.getWorkerId());
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getById(workerInfo.getEnterpriseId());
SystemUserDestroy systemUserDestroy = new SystemUserDestroy();
systemUserDestroy.setUserId(user.getUserId());
SystemUser systemUser = systemUserService.getById(user.getUserId());
systemUserDestroy.setUserId(systemUser.getUserId());
systemUserDestroy.setWorkerName(systemUser.getRealName());
systemUserDestroy.setAccount(systemUser.getAccount());
systemUserDestroy.setWorkerId(workerInfo.getId());
systemUserDestroy.setWorkerName(workerInfo.getWorkerName());
systemUserDestroy.setEnterpriseId(enterpriseInfo.getId());
systemUserDestroy.setEnterpriseName(enterpriseInfo.getEnterpriseName());
if (null != systemUser.getWorkerId()) {
WorkerInfo workerInfo = workerInfoService.getById(systemUser.getWorkerId());
if (workerInfo != null) {
systemUserDestroy.setWorkerId(workerInfo.getId());
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getById(workerInfo.getEnterpriseId());
if (enterpriseInfo != null) {
systemUserDestroy.setEnterpriseId(enterpriseInfo.getId());
systemUserDestroy.setEnterpriseName(enterpriseInfo.getEnterpriseName());
}
}
}
systemUserDestroy.setCreateTime(new Date());
this.save(systemUserDestroy);
}
@Override
public boolean updateInfo(SystemUserDestroy systemUserDestroy) {
if (systemUserDestroy.getState() == 1) {
SystemUserDestroy byId = this.getById(systemUserDestroy.getId());
SystemUser systemUser = systemUserService.getById(byId.getUserId());
if (systemUser != null && StringUtils.isNotBlank(systemUser.getPersonMail())) {
emailUtils.sendSimpleMail(systemUser.getPersonMail(), "账号注销提醒", "你在" + DateUtil.formatDateTime(byId.getCreateTime()) + "提交的账号注销申请经系统管理员校验未通过,无法进行注销,请登录平台处理完所有待办事项,再重新提交账号注销申请");
}
}
return this.updateById(systemUserDestroy);
}
}

View File

@ -70,9 +70,7 @@ public class CarDelRecordController {
})
@PostMapping(value = "/page")
public Result<IPage<CarDelRecord>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
QueryWrapper<CarDelRecord> queryWrapper = QueryGenerator.initPageQueryWrapper(CarDelRecord.class, map);
Page<CarDelRecord> page = PageUtil.getPage(map);
IPage<CarDelRecord> pageList = carDelRecordService.page(page, queryWrapper);
IPage<CarDelRecord> pageList = carDelRecordService.selectPage(map);
return Result.success(pageList);
}

View File

@ -261,7 +261,7 @@ public class CarInfoController {
} catch (Exception e) {
log.error("添加车辆黑白名单管理信息", e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, "添加车辆", "/xmgl/carInfo/save", MapUtils.getString(map, "instanceId"));
noticeService.addNoticeToManager("【车辆申请】出现异常", "", "30", String.valueOf(map.get("projectSn")));
noticeService.addNoticeToManager("【车辆申请】出现异常", "车牌号【" + map.get("carNumber") + "", "30", String.valueOf(map.get("projectSn")));
}
return Result.ok();
}

View File

@ -22,5 +22,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@DataScope(includeTable = "car_del_record")
public interface CarDelRecordMapper extends BaseMapper<CarDelRecord> {
IPage<CarDelRecord> selectPage(Page<CarDelRecord> page, @Param("param") Map<String, Object> map);
Page<CarDelRecord> selectPage(Page<CarDelRecord> page, @Param("param") Map<String, Object> map);
}

View File

@ -27,15 +27,15 @@
t.xsz,
t.jqx,
t.other_prove,
t.send_success_status,
t.create_by,
t.create_time,
b.car_type_name,
ei.enterprise_name,
p.project_name,
u.real_name createByName
FROM car_del_record t
join project p on p.project_sn = t.project_sn
LEFT JOIN system_user_info u ON t.create_by = u.user_id
LEFT JOIN system_user u ON t.create_by = u.user_id
LEFT JOIN car_type b ON (t.car_type = b.id and t.project_sn = b.project_sn)
left join enterprise_info ei on ei.id = t.enterprise_id
left join worker_info wi
@ -44,7 +44,7 @@
on wi1.id_card = t.outside_driver_id_card and t.car_module_type = 3
</sql>
<sql id="all">
<include refid="com.zhgd.xmgl.modules.car.mapper.CarInfoMapper.selectTable">
<include refid="com.zhgd.xmgl.modules.car.mapper.CarDelRecordMapper.selectTable">
</include>
WHERE t.project_sn = #{param.projectSn}
<if test="param.carNumber != null and param.carNumber != ''">

View File

@ -210,7 +210,7 @@ public class DangerousEngineeringRecordController {
} catch (Exception e) {
log.error("添加现场危大工程信息", e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, "添加现场危大工程信息", "/xmgl/dangerousEngineeringRecord/save", MapUtils.getString(map, "instanceId"));
noticeService.addNoticeToManager("【危大工程申请】出现异常", "", "30", String.valueOf(map.get("projectSn")));
noticeService.addNoticeToManager("【危大工程申请】出现异常", "危大工程【" + MapUtils.getString(map, "engineeringName") +"", "30", String.valueOf(map.get("projectSn")));
}
return Result.ok();
}

View File

@ -227,7 +227,7 @@ public class XzMaterialController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzMaterial/save", MapUtils.getString(obj, "instanceId"));
noticeService.addNoticeToManager("【材料进出场申请】出现异常", "", "30", obj.getString("projectSn"));
noticeService.addNoticeToManager("【材料进出场申请】出现异常", "车牌号为【" + obj.getString("carNumber") + "", "30", obj.getString("projectSn"));
}
return Result.success("添加成功!");
}

View File

@ -147,7 +147,7 @@ public class XzVisitorManageRecordController {
} catch (Exception e) {
log.error("添加访客信息", e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, "添加访客信息", "/xmgl/xzVisitorManageRecord/save", MapUtils.getString(map, "instanceId"));
noticeService.addNoticeToManager("【访客申请】出现异常", "", "30", String.valueOf(map.get("projectSn")));
noticeService.addNoticeToManager("【访客申请】出现异常", "访客姓名【" + MapUtils.getString(map, "visitName") + "", "30", String.valueOf(map.get("projectSn")));
}
return Result.success("添加成功!");
}

View File

@ -128,6 +128,12 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
String alias = "";
QueryWrapper<XzHikvisionCompareData> queryWrapper = QueryGenerator.initPageQueryWrapper(XzHikvisionCompareData.class, param, alias);
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(XzHikvisionCompareData::getId));
if (MapUtils.getInteger(param, "syncResultComplete") == 3) {
queryWrapper.lambda().lt(XzHikvisionCompareData::getSyncResult, 3);
}
if (MapUtils.getInteger(param, "syncResultComplete") == 0) {
queryWrapper.lambda().gt(XzHikvisionCompareData::getSyncResult, 0);
}
return queryWrapper;
}

View File

@ -254,7 +254,7 @@ public class XzBlindPlatePlugSafeController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzBlindPlatePlugSafe/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【盲板抽堵申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【盲板抽堵申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -186,7 +186,7 @@ public class XzGroundSafetController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzGroundSafet/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【动土安全申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【动土安全申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -209,7 +209,7 @@ public class XzHighJobSafeController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzHighJobSafe/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【高处作业安全票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【高处作业安全票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -201,7 +201,7 @@ public class XzHoistSafetyWorkController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzHoistSafetyWork/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【吊装安全作业票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【吊装安全作业票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -259,7 +259,7 @@ public class XzLimitSpaceSafeController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "xmgl/xzLimitSpaceSafe/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【受限空间安全作业票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【受限空间安全作业票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -219,7 +219,7 @@ public class XzSpecialOperationFireSafetyController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzSpecialOperationFireSafety/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【动火安全作业票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【动火安全作业票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -188,7 +188,7 @@ public class XzSpecialOperationFireSafetyNewController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzSpecialOperationFireSafetyNew/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【动火安全作业票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【动火安全作业票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -214,7 +214,7 @@ public class XzTemporaryElectricitySafeController {
} catch (Exception e) {
log.error(interfaceName + e);
emailUtils.saveExceptionAndSendFlowEmail(paramStr, e, interfaceName, "/xmgl/xzTemporaryElectricitySafe/save", MapUtils.getString(paramMap, "instanceId"));
noticeService.addNoticeToManager("【临时用电安全作业票申请】出现异常", "", "30", String.valueOf(paramMap.get("projectSn")));
noticeService.addNoticeToManager("【临时用电安全作业票申请】出现异常", "作业票编号【" + paramMap.getString("safetyWorkTicketCode") + "", "30", String.valueOf(paramMap.get("projectSn")));
}
return Result.ok();
}

View File

@ -176,39 +176,39 @@ public class EmailUtils implements EmailService {
* @param instanceId
*/
public void saveExceptionAndSendFlowEmail(String paramStr, Exception e, String subject, String url, String instanceId) {
// String envName;
// if (EnvironmentUtil.isXingZongProd()) {
// envName = "星纵生产环境";
// } else if (EnvironmentUtil.isXingZongTest()) {
// envName = "星纵测试环境";
// } else {
// envName = "本地环境";
// }
// String detail = StrUtil.format("调用接口:" + url + ",参数:{},审批单编号:{},异常详情:{}", paramStr, instanceId, ExceptionUtil.stacktraceToString(e));
// String sub = envName + "工作流【" + subject + "】出现异常";
// if (instanceId != null) {
// ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(instanceId).singleResult();
// Date startTime = processInstance.getStartTime();
// String processDefinitionName = processInstance.getProcessDefinitionName();
// String startUserId = processInstance.getStartUserId();
// String projectSn = processInstance.getTenantId();
// FlowExceptionLog log = new FlowExceptionLog();
// log.setApprovalNumber(instanceId);
// log.setApprovalType(processDefinitionName);
// log.setProjectSn(projectSn);
// log.setLaunchTime(startTime);
// HashMap<String, Object> map = new HashMap<>(16);
// map.put("userId", startUserId);
// map.put("projectSn", projectSn);
// List<SystemUser> userList = systemUserService.getProjectChildernSystemUserList(map);
// log.setLauncherName(CollUtil.isNotEmpty(userList) ? userList.get(0).getRealName() : null);
// log.setLaunchEnterpriseName(CollUtil.isNotEmpty(userList) ? userList.get(0).getEnterpriseName() : null);
// log.setExceptionDetail(detail);
// flowExceptionLogService.add(log);
// }
// this.sendSimpleMail("ak47_vce@163.com", sub, detail);
// this.sendSimpleMail("du.haipeng@szjxj.com", sub, detail);
// this.sendSimpleMail("2634687239@qq.com", sub, detail);
// this.sendSimpleMail("1923636941@qq.com", sub, detail);
String envName;
if (EnvironmentUtil.isXingZongProd()) {
envName = "星纵生产环境";
} else if (EnvironmentUtil.isXingZongTest()) {
envName = "星纵测试环境";
} else {
envName = "本地环境";
}
String detail = StrUtil.format("调用接口:" + url + ",参数:{},审批单编号:{},异常详情:{}", paramStr, instanceId, ExceptionUtil.stacktraceToString(e));
String sub = envName + "工作流【" + subject + "】出现异常";
if (instanceId != null) {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(instanceId).singleResult();
Date startTime = processInstance.getStartTime();
String processDefinitionName = processInstance.getProcessDefinitionName();
String startUserId = processInstance.getStartUserId();
String projectSn = processInstance.getTenantId();
FlowExceptionLog log = new FlowExceptionLog();
log.setApprovalNumber(instanceId);
log.setApprovalType(processDefinitionName);
log.setProjectSn(projectSn);
log.setLaunchTime(startTime);
HashMap<String, Object> map = new HashMap<>(16);
map.put("userId", startUserId);
map.put("projectSn", projectSn);
List<SystemUser> userList = systemUserService.getProjectChildernSystemUserList(map);
log.setLauncherName(CollUtil.isNotEmpty(userList) ? userList.get(0).getRealName() : null);
log.setLaunchEnterpriseName(CollUtil.isNotEmpty(userList) ? userList.get(0).getEnterpriseName() : null);
log.setExceptionDetail(detail);
flowExceptionLogService.add(log);
}
this.sendSimpleMail("ak47_vce@163.com", sub, detail);
this.sendSimpleMail("du.haipeng@szjxj.com", sub, detail);
this.sendSimpleMail("2634687239@qq.com", sub, detail);
this.sendSimpleMail("1923636941@qq.com", sub, detail);
}
}