1
This commit is contained in:
parent
29ba1ab5c6
commit
2deb9b96f9
@ -62,10 +62,16 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AttendanceArrangementVo queryById(Long id) {
|
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查询排班人员信息
|
//根据id查询排班人员信息
|
||||||
List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id));
|
List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id));
|
||||||
//将排班人员信息添加到排班信息中
|
//将排班人员信息添加到排班信息中
|
||||||
AttendanceArrangementVo vo = baseMapper.selectVoById(id);
|
|
||||||
vo.setUserGroupList(userGroupList);
|
vo.setUserGroupList(userGroupList);
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
@ -497,8 +503,39 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
|
|||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(AttendanceArrangement entity) {
|
private void validEntityBeforeSave(AttendanceArrangement entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//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.RemoteFloorService;
|
||||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||||
import org.dromara.sis.domain.AlarmRecord;
|
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.AlarmRecordService;
|
||||||
import org.dromara.sis.service.ApiService;
|
import org.dromara.sis.service.ApiService;
|
||||||
|
import org.dromara.sis.service.ISisAlarmEventsService;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -24,13 +27,15 @@ public class DataSyncTask {
|
|||||||
|
|
||||||
private final ApiService apiService;
|
private final ApiService apiService;
|
||||||
private final AlarmRecordService alarmRecordService;
|
private final AlarmRecordService alarmRecordService;
|
||||||
|
private final ISisAlarmEventsService sisAlarmEventsService;
|
||||||
|
|
||||||
@Value("${sync.pageSize:100}")
|
@Value("${sync.pageSize:100}")
|
||||||
private int pageSize;
|
private int pageSize;
|
||||||
|
|
||||||
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService) {
|
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService, ISisAlarmEventsService sisAlarmEventsService) {
|
||||||
this.apiService = apiService;
|
this.apiService = apiService;
|
||||||
this.alarmRecordService = alarmRecordService;
|
this.alarmRecordService = alarmRecordService;
|
||||||
|
this.sisAlarmEventsService = sisAlarmEventsService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,6 +82,23 @@ public class DataSyncTask {
|
|||||||
if (operators != null && !operators.isEmpty()) {
|
if (operators != null && !operators.isEmpty()) {
|
||||||
operatorMap.put(recordId, operators);
|
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