Merge remote-tracking branch 'origin/master'
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
commit
1c23320f5a
@ -62,10 +62,16 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
*/
|
||||
@Override
|
||||
public AttendanceArrangementVo queryById(Long id) {
|
||||
AttendanceArrangementVo vo = baseMapper.selectVoById(id);
|
||||
//根据id查询出groupId
|
||||
Long groupId = baseMapper.selectById(id).getGroupId();
|
||||
//根据groupId查询出考勤组信息
|
||||
AttendanceGroup attendanceGroup = attendanceGroupMapper.selectById(groupId);
|
||||
vo.setAttendanceGroup(attendanceGroup);
|
||||
|
||||
//根据id查询排班人员信息
|
||||
List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id));
|
||||
//将排班人员信息添加到排班信息中
|
||||
AttendanceArrangementVo vo = baseMapper.selectVoById(id);
|
||||
vo.setUserGroupList(userGroupList);
|
||||
return vo;
|
||||
}
|
||||
@ -497,8 +503,39 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
||||
*/
|
||||
private void validEntityBeforeSave(AttendanceArrangement entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
//新增时判断在该时间段内是否有排班
|
||||
|
||||
// //新增时判断在该时间段内是否有排班
|
||||
// //1.查询所有的排班信息
|
||||
// List<AttendanceArrangement> arrangementList = baseMapper.selectList();
|
||||
//
|
||||
// //使用between查询排班的开始时间在新增的开始时间和结束时间的排班信息
|
||||
// List<AttendanceArrangementVo> startResult = baseMapper.selectVoList(Wrappers.<AttendanceArrangement>lambdaQuery()
|
||||
// .between(AttendanceArrangement::getStartDate, entity.getStartDate(), entity.getStartDate().plusDays(1))
|
||||
// .eq(AttendanceArrangement::getGroupId, entity.getGroupId()));
|
||||
// //查询排班的结束时间在新增的开始时间和结束时间的排班信息
|
||||
// List<AttendanceArrangement> endResult = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery()
|
||||
// .between(AttendanceArrangement::getEndDate, entity.getStartDate(), entity.getStartDate().plusDays(1))
|
||||
// .eq(AttendanceArrangement::getGroupId, entity.getGroupId()));
|
||||
//
|
||||
// //将两个集合进行合并
|
||||
// List<AttendanceArrangementVo> result = new ArrayList<>(startResult.stream().distinct().toList());
|
||||
// result.addAll(endResult.stream().map(vo -> {
|
||||
// AttendanceArrangementVo newVo = MapstructUtils.convert(vo, AttendanceArrangementVo.class);
|
||||
// newVo.setStartDate(vo.getStartDate());
|
||||
// newVo.setEndDate(vo.getEndDate());
|
||||
// return newVo;
|
||||
// }).toList());
|
||||
//
|
||||
// //去重
|
||||
// result = result.stream().distinct().toList();
|
||||
//
|
||||
//
|
||||
//
|
||||
// //2.遍历排班信息,判断是否有时间冲突
|
||||
// for (AttendanceArrangement arrangement : arrangementList) {
|
||||
// //如果时间
|
||||
// if ()
|
||||
// }
|
||||
//
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,45 @@
|
||||
package org.dromara.sis.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
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.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
||||
/**
|
||||
* 主动推送的同步数据
|
||||
* 前端访问路由地址为:/sis/dataSync
|
||||
*
|
||||
* @author lsm
|
||||
* @since 2025-07-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/dataSync")
|
||||
public class SisDataSyncController extends BaseController {
|
||||
|
||||
// private
|
||||
|
||||
|
||||
@SaCheckPermission("sis:dataSync:add")
|
||||
@Log(title = "人员库授权", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/add")
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAuthRecordBo bo, HttpServletRequest request) {
|
||||
// return toAjax();
|
||||
return R.ok();
|
||||
}
|
||||
}
|
@ -5,8 +5,11 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.property.api.RemoteFloorService;
|
||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||
import org.dromara.sis.domain.AlarmRecord;
|
||||
import org.dromara.sis.domain.SisAlarmEvents;
|
||||
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
|
||||
import org.dromara.sis.service.AlarmRecordService;
|
||||
import org.dromara.sis.service.ApiService;
|
||||
import org.dromara.sis.service.ISisAlarmEventsService;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -24,13 +27,15 @@ public class DataSyncTask {
|
||||
|
||||
private final ApiService apiService;
|
||||
private final AlarmRecordService alarmRecordService;
|
||||
private final ISisAlarmEventsService sisAlarmEventsService;
|
||||
|
||||
@Value("${sync.pageSize:100}")
|
||||
private int pageSize;
|
||||
|
||||
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService) {
|
||||
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService, ISisAlarmEventsService sisAlarmEventsService) {
|
||||
this.apiService = apiService;
|
||||
this.alarmRecordService = alarmRecordService;
|
||||
this.sisAlarmEventsService = sisAlarmEventsService;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,6 +82,23 @@ public class DataSyncTask {
|
||||
if (operators != null && !operators.isEmpty()) {
|
||||
operatorMap.put(recordId, operators);
|
||||
}
|
||||
|
||||
//同步成功后,将两张表的数据合并到alarmEvents表中
|
||||
SisAlarmEventsBo sisAlarmEvents = new SisAlarmEventsBo();
|
||||
sisAlarmEvents.setId(recordId);
|
||||
sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type")));
|
||||
sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level")));
|
||||
// //报警设备ip
|
||||
// sisAlarmEvents.setDeviceIp();
|
||||
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"));
|
||||
sisAlarmEvents.setWorkOrderId(Long.valueOf((Integer) recordMap.get("WorkOrderId")));
|
||||
//保存报警事件
|
||||
sisAlarmEventsService.insertByBo(sisAlarmEvents);
|
||||
|
||||
}
|
||||
|
||||
// 保存数据(包含操作记录)
|
||||
|
Loading…
Reference in New Issue
Block a user