排班删除和同步告警数据

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);
// AttendanceArrangementGroup attendanceArrangementGroup = new AttendanceArrangementGroup();
// //向排班和考勤组中间表中插入数据
// attendanceArrangementGroup.setGroupId(add.getGroupId());
// attendanceArrangementGroup.setArrangementId(bo.getId());
// arrangementGroupMapper.insert(attendanceArrangementGroup);
//取出当前新增的排班的id
Long ArrangementId = add.getId();
//用获取到的排班id向attendanceUserGroup表中插入数据
@ -479,21 +472,28 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
* @param bo 排班
* @return 是否修改成功
*/
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean updateByBo(AttendanceArrangementBo bo) {
AttendanceArrangement update = MapstructUtils.convert(bo, AttendanceArrangement.class);
validEntityBeforeSave(update);
judgeDate(bo, update);
// judgeDate(bo, update);
//取出当前排班的id
assert update != null;
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();
for (AttendanceUserGroup userGroup : userGroupList) {
userGroup.setScheduleId(ArrangementId);
userGroupMapper.updateById(userGroup);
}
userGroupMapper.insertBatch(userGroupList);
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.HttpSession;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
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.web.core.BaseController;
import org.dromara.sis.domain.bo.SisAuthRecordBo;
import org.dromara.sis.service.ISisDataSyncService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -26,12 +28,13 @@ import org.springframework.web.bind.annotation.RestController;
* @since 2025-07-14
*/
@Validated
@Slf4j
@RequiredArgsConstructor
@RestController
@RequestMapping("/dataSync")
public class SisDataSyncController extends BaseController {
// private
private final ISisDataSyncService sisDataSyncService;
@SaCheckPermission("sis:dataSync:add")
@ -39,6 +42,7 @@ public class SisDataSyncController extends BaseController {
@RepeatSubmit()
@PostMapping("/add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAuthRecordBo bo, HttpServletRequest request) {
log.info("开始同步报警记录数据...");
// return toAjax();
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

@ -88,14 +88,15 @@ public class DataSyncTask {
sisAlarmEvents.setId(recordId);
sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type")));
sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level")));
// //报警设备ip
// sisAlarmEvents.setDeviceIp();
sisAlarmEvents.setDeviceIp((String) recordMap.get("DeviceSipNum"));
sisAlarmEvents.setDeviceName(recordMap.get("DeviceName").toString());
sisAlarmEvents.setDeviceGroupId(Long.valueOf((Integer) recordMap.get("GroupId")));
sisAlarmEvents.setDeviceGroupName(recordMap.get("GroupName").toString());
sisAlarmEvents.setReportTime((Date) recordMap.get("StartTime"));
sisAlarmEvents.setState((Integer) recordMap.get("State"));
if ((Integer) recordMap.get("State") == 3) {
sisAlarmEvents.setWorkOrderId(Long.valueOf((Integer) recordMap.get("WorkOrderId")));
}
//保存报警事件
sisAlarmEventsService.insertByBo(sisAlarmEvents);