排班删除和同步告警数据

This commit is contained in:
dy 2025-08-07 14:56:57 +08:00
parent 6023f35674
commit 1a2a9a1035
6 changed files with 52 additions and 18 deletions

View File

@ -436,13 +436,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
} }
judgeDate(bo, add); judgeDate(bo, add);
// AttendanceArrangementGroup attendanceArrangementGroup = new AttendanceArrangementGroup();
// //向排班和考勤组中间表中插入数据
// attendanceArrangementGroup.setGroupId(add.getGroupId());
// attendanceArrangementGroup.setArrangementId(bo.getId());
// arrangementGroupMapper.insert(attendanceArrangementGroup);
//取出当前新增的排班的id //取出当前新增的排班的id
Long ArrangementId = add.getId(); Long ArrangementId = add.getId();
//用获取到的排班id向attendanceUserGroup表中插入数据 //用获取到的排班id向attendanceUserGroup表中插入数据
@ -479,21 +472,28 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
* @param bo 排班 * @param bo 排班
* @return 是否修改成功 * @return 是否修改成功
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean updateByBo(AttendanceArrangementBo bo) { public Boolean updateByBo(AttendanceArrangementBo bo) {
AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class); AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
judgeDate(bo, update); // judgeDate(bo, update);
//取出当前排班的id //取出当前排班的id
assert update != null;
Long ArrangementId = update.getId(); Long ArrangementId = update.getId();
//用获取到的排班id向attendanceUserGroup表中更新数据 //根据arrangementId查询出人员组的所有employeeId
List<Long> employeeIdList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, ArrangementId))
.stream().map(AttendanceUserGroup::getEmployeeId).toList();
//根据employeeId和ArrangementId删除attendanceUserGroup表中的数据
userGroupMapper.delete(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getEmployeeId, employeeIdList)
.eq(AttendanceUserGroup::getScheduleId, ArrangementId));
//用获取到的排班id向attendanceUserGroup表中批量插入数据
List<AttendanceUserGroup> userGroupList = bo.getUserGroupList(); List<AttendanceUserGroup> userGroupList = bo.getUserGroupList();
for (AttendanceUserGroup userGroup : userGroupList) { userGroupMapper.insertBatch(userGroupList);
userGroup.setScheduleId(ArrangementId);
userGroupMapper.updateById(userGroup);
}
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -11,6 +12,7 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.sis.domain.bo.SisAuthRecordBo; import org.dromara.sis.domain.bo.SisAuthRecordBo;
import org.dromara.sis.service.ISisDataSyncService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -26,12 +28,13 @@ import org.springframework.web.bind.annotation.RestController;
* @since 2025-07-14 * @since 2025-07-14
*/ */
@Validated @Validated
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/dataSync") @RequestMapping("/dataSync")
public class SisDataSyncController extends BaseController { public class SisDataSyncController extends BaseController {
// private private final ISisDataSyncService sisDataSyncService;
@SaCheckPermission("sis:dataSync:add") @SaCheckPermission("sis:dataSync:add")
@ -39,6 +42,7 @@ public class SisDataSyncController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/add") @PostMapping("/add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAuthRecordBo bo, HttpServletRequest request) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAuthRecordBo bo, HttpServletRequest request) {
log.info("开始同步报警记录数据...");
// return toAjax(); // return toAjax();
return R.ok(); return R.ok();
} }

View File

@ -0,0 +1,7 @@
package org.dromara.sis.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.sis.domain.SisAlarmEvents;
public interface SisDataSyncMapper extends BaseMapper<SisAlarmEvents> {
}

View File

@ -0,0 +1,7 @@
package org.dromara.sis.service;
/**
* 告警数据同步Service接口
*/
public interface ISisDataSyncService {
}

View File

@ -0,0 +1,15 @@
package org.dromara.sis.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sis.service.ISisDataSyncService;
import org.springframework.stereotype.Service;
/**
* 告警数据同步Service业务层处理
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class SisDataSyncServiceImpl implements ISisDataSyncService {
}

View File

@ -77,7 +77,7 @@ public class DataSyncTask {
// 提取操作记录数据 // 提取操作记录数据
Map<Long, List<Map<String, Object>>> operatorMap = new HashMap<>(); Map<Long, List<Map<String, Object>>> operatorMap = new HashMap<>();
for (Map<String, Object> recordMap : recordList) { for (Map<String, Object> recordMap : recordList) {
Long recordId = Long.valueOf((Integer)recordMap.get("Id")); Long recordId = Long.valueOf((Integer) recordMap.get("Id"));
List<Map<String, Object>> operators = (List<Map<String, Object>>) recordMap.get("TaskOperators"); List<Map<String, Object>> operators = (List<Map<String, Object>>) recordMap.get("TaskOperators");
if (operators != null && !operators.isEmpty()) { if (operators != null && !operators.isEmpty()) {
operatorMap.put(recordId, operators); operatorMap.put(recordId, operators);
@ -88,14 +88,15 @@ public class DataSyncTask {
sisAlarmEvents.setId(recordId); sisAlarmEvents.setId(recordId);
sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type"))); sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type")));
sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level"))); sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level")));
// //报警设备ip sisAlarmEvents.setDeviceIp((String) recordMap.get("DeviceSipNum"));
// sisAlarmEvents.setDeviceIp();
sisAlarmEvents.setDeviceName(recordMap.get("DeviceName").toString()); sisAlarmEvents.setDeviceName(recordMap.get("DeviceName").toString());
sisAlarmEvents.setDeviceGroupId(Long.valueOf((Integer) recordMap.get("GroupId"))); sisAlarmEvents.setDeviceGroupId(Long.valueOf((Integer) recordMap.get("GroupId")));
sisAlarmEvents.setDeviceGroupName(recordMap.get("GroupName").toString()); sisAlarmEvents.setDeviceGroupName(recordMap.get("GroupName").toString());
sisAlarmEvents.setReportTime((Date) recordMap.get("StartTime")); sisAlarmEvents.setReportTime((Date) recordMap.get("StartTime"));
sisAlarmEvents.setState((Integer) recordMap.get("State")); sisAlarmEvents.setState((Integer) recordMap.get("State"));
sisAlarmEvents.setWorkOrderId(Long.valueOf((Integer) recordMap.get("WorkOrderId"))); if ((Integer) recordMap.get("State") == 3) {
sisAlarmEvents.setWorkOrderId(Long.valueOf((Integer) recordMap.get("WorkOrderId")));
}
//保存报警事件 //保存报警事件
sisAlarmEventsService.insertByBo(sisAlarmEvents); sisAlarmEventsService.insertByBo(sisAlarmEvents);