Merge remote-tracking branch 'origin/master'
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
zcxlsm 2025-08-07 22:34:57 +08:00
commit 989421e244
21 changed files with 177 additions and 38 deletions

View File

@ -107,7 +107,6 @@ public class ServiceWorkOrdersTypeController extends BaseController {
/** /**
* 查询工单类型树结构 * 查询工单类型树结构
*/ */
@SaCheckPermission("system:workOrdersType:list")
@GetMapping("/typeTree") @GetMapping("/typeTree")
public R<List<ServiceWorkOrdersTypeVo>> typeTree() { public R<List<ServiceWorkOrdersTypeVo>> typeTree() {
return R.ok(serviceWorkOrdersTypeService.typeTree()); return R.ok(serviceWorkOrdersTypeService.typeTree());
@ -119,7 +118,6 @@ public class ServiceWorkOrdersTypeController extends BaseController {
* @param bo 工单类型 * @param bo 工单类型
* @return 工单类型列表 * @return 工单类型列表
*/ */
@SaCheckPermission("system:workOrdersType:list")
@GetMapping("/queryList") @GetMapping("/queryList")
public R<List<ServiceWorkOrdersTypeVo>> queryList(ServiceWorkOrdersTypeBo bo) { public R<List<ServiceWorkOrdersTypeVo>> queryList(ServiceWorkOrdersTypeBo bo) {
return R.ok(serviceWorkOrdersTypeService.queryList(bo)); return R.ok(serviceWorkOrdersTypeService.queryList(bo));

View File

@ -60,6 +60,14 @@ public class CleanOrder extends TenantEntity {
* 保洁类型 * 保洁类型
*/ */
private String type; private String type;
/**
* 签到方式(1现场拍照2摄像头签到)
*/
private String signType;
/**
* 签到图片
*/
private String signImgUrl;
/** /**
* 评价 * 评价
*/ */
@ -69,7 +77,7 @@ public class CleanOrder extends TenantEntity {
*/ */
private String serviceEvaluaText; private String serviceEvaluaText;
/** /**
* 图片 * 评价图片
*/ */
private String imgUrl; private String imgUrl;
/** /**

View File

@ -1,5 +1,7 @@
package org.dromara.property.domain; package org.dromara.property.domain;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
@ -55,9 +57,10 @@ public class InspectionRoutePoint extends TenantEntity {
private String remark; private String remark;
/** /**
* 搜索值 * 排序
*/ */
private String searchValue; @NotNull(message = "排序不能为空", groups = { EditGroup.class })
private Integer sort;
} }

View File

@ -40,7 +40,7 @@ public class ServiceWorkOrders extends TenantEntity {
*/ */
private String orderName; private String orderName;
/** /**
* 权重 * 权重(1一般2紧急3危急)
*/ */
private String processingWeight; private String processingWeight;
/** /**
@ -67,11 +67,11 @@ public class ServiceWorkOrders extends TenantEntity {
/** /**
* 处理人姓名 * 处理人姓名
*/ */
private long handler; private Long handler;
/** /**
* 抄送人 * 抄送人
*/ */
private long ccPeople; private Long ccPeople;
/** /**
* 地址 * 地址

View File

@ -43,6 +43,10 @@ public class TbVisitorManagement extends TenantEntity {
* 访客电话 * 访客电话
*/ */
private String visitorPhone; private String visitorPhone;
/**
* 身份证/
*/
private String idCard;
/** /**
* 拜访事由 * 拜访事由

View File

@ -49,6 +49,14 @@ public class CleanOrderBo extends BaseEntity {
*/ */
@NotBlank(message = "保洁类型不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "保洁类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String type; private String type;
/**
* 签到方式(1现场拍照2摄像头签到)
*/
private String signType;
/**
* 签到图片
*/
private String signImgUrl;
/** /**
* 保洁id * 保洁id
*/ */

View File

@ -33,6 +33,11 @@ public class InspectionRoutePointBo extends BaseEntity {
*/ */
// @NotNull(message = "巡检路线id不能为空", groups = { AddGroup.class, EditGroup.class }) // @NotNull(message = "巡检路线id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long routeId; private Long routeId;
/**
* 排序
*/
@NotNull(message = "排序不能为空", groups = { EditGroup.class })
private Integer sort;
/** /**
* 巡检点id * 巡检点id

View File

@ -51,7 +51,10 @@ public class TbVisitorManagementBo extends BaseEntity {
*/ */
@NotBlank(message = "访客电话不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "访客电话不能为空", groups = { AddGroup.class, EditGroup.class })
private String visitorPhone; private String visitorPhone;
/**
* 身份证/
*/
private String idCard;
/** /**
* 拜访事由 * 拜访事由
*/ */

View File

@ -55,6 +55,14 @@ public class CleanOrderVo implements Serializable {
* 保洁类型 * 保洁类型
*/ */
private String type; private String type;
/**
* 签到方式(1现场拍照2摄像头签到)
*/
private String signType;
/**
* 签到图片
*/
private String signImgUrl;
/** /**
* 评价 * 评价
*/ */

View File

@ -2,6 +2,8 @@ package org.dromara.property.domain.vo;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.property.domain.InspectionRoutePoint; import org.dromara.property.domain.InspectionRoutePoint;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
@ -76,10 +78,10 @@ public class InspectionRoutePointVo implements Serializable {
private String remark; private String remark;
/** /**
* 搜索值 * 排序
*/ */
@ExcelProperty(value = "搜索值") @NotNull(message = "排序不能为空", groups = { EditGroup.class })
private String searchValue; private Integer sort;
} }

View File

@ -56,7 +56,10 @@ public class TbVisitorManagementVo implements Serializable {
*/ */
@ExcelProperty(value = "访客电话") @ExcelProperty(value = "访客电话")
private String visitorPhone; private String visitorPhone;
/**
* 身份证/
*/
private String idCard;
/** /**
* 拜访事由 * 拜访事由
*/ */

View File

@ -97,7 +97,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
Page<AttendanceArrangementVo> attendanceArrangementVoPage = result.setRecords(result.getRecords().stream().map(vo -> { Page<AttendanceArrangementVo> attendanceArrangementVoPage = result.setRecords(result.getRecords().stream().map(vo -> {
//根据当前日期查询在开始时间和结束时间之间的排班信息 //根据当前日期查询在开始时间和结束时间之间的排班信息
//从前端查询出来的当前日期判断是否在排班时间内 //从前端查询出来的当前日期判断是否在排班时间内
if (bo.getCurrentDate().isAfter(vo.getStartDate()) && bo.getCurrentDate().isBefore(vo.getEndDate())) { if ((bo.getCurrentDate().isAfter(vo.getStartDate()) || bo.getCurrentDate().isEqual(vo.getStartDate())) && (bo.getCurrentDate().isBefore(vo.getEndDate()) || bo.getCurrentDate().isEqual(vo.getEndDate()))) {
//1.查询人员表信息 //1.查询人员表信息
//根据查询出来的result取出shceduleId //根据查询出来的result取出shceduleId
Long scheduleId = vo.getId(); Long scheduleId = vo.getId();
@ -437,11 +437,8 @@ 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();
@ -479,21 +476,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

@ -51,7 +51,6 @@ import java.util.stream.Collectors;
public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
private final ServiceWorkOrdersMapper baseMapper; private final ServiceWorkOrdersMapper baseMapper;
private final ServiceWorkOrdersTypeMapper serviceWorkOrdersTypeMapper;
private final ServiceWorkOrdersTypeMapper typesMapper; private final ServiceWorkOrdersTypeMapper typesMapper;
private final ResidentPersonMapper residentPersonMapper; private final ResidentPersonMapper residentPersonMapper;
private final ServiceWorkOrdersRecordMapper workOrdersRecordMapper; private final ServiceWorkOrdersRecordMapper workOrdersRecordMapper;
@ -160,11 +159,19 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
} }
private LambdaQueryWrapper<ServiceWorkOrders> buildQueryWrapper(ServiceWorkOrdersBo bo) { private LambdaQueryWrapper<ServiceWorkOrders> buildQueryWrapper(ServiceWorkOrdersBo bo) {
//查询类型下子类型id
LambdaQueryWrapper<ServiceWorkOrdersType> OrdersTypeWrapper = new LambdaQueryWrapper<>();
OrdersTypeWrapper.eq(ServiceWorkOrdersType::getParentId,bo.getType());
List<ServiceWorkOrdersType> serviceWorkOrdersTypes = typesMapper.selectList(OrdersTypeWrapper);
List<Long> typeIds = serviceWorkOrdersTypes.stream()
.map(ServiceWorkOrdersType::getId)
.collect(Collectors.toList());
typeIds.add(bo.getType());
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ServiceWorkOrders> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<ServiceWorkOrders> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(ServiceWorkOrders::getId); lqw.orderByAsc(ServiceWorkOrders::getId);
lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), ServiceWorkOrders::getOrderNo, bo.getOrderNo()); lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), ServiceWorkOrders::getOrderNo, bo.getOrderNo());
lqw.eq(ObjectUtil.isNotEmpty(bo.getStatus()), ServiceWorkOrders::getStatus, bo.getStatus()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ServiceWorkOrders::getStatus, bo.getStatus());
lqw.like(StringUtils.isNotBlank(bo.getOrderName()), ServiceWorkOrders::getOrderName, bo.getOrderName()); lqw.like(StringUtils.isNotBlank(bo.getOrderName()), ServiceWorkOrders::getOrderName, bo.getOrderName());
lqw.eq(bo.getDispatchTime() != null, ServiceWorkOrders::getDispatchTime, bo.getDispatchTime()); lqw.eq(bo.getDispatchTime() != null, ServiceWorkOrders::getDispatchTime, bo.getDispatchTime());
lqw.like(StringUtils.isNotBlank(bo.getInitiatorName()), ServiceWorkOrders::getInitiatorPeople, bo.getInitiatorName()); lqw.like(StringUtils.isNotBlank(bo.getInitiatorName()), ServiceWorkOrders::getInitiatorPeople, bo.getInitiatorName());
@ -173,7 +180,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
lqw.eq(bo.getPlanCompleTime() != null, ServiceWorkOrders::getPlanCompleTime, bo.getPlanCompleTime()); lqw.eq(bo.getPlanCompleTime() != null, ServiceWorkOrders::getPlanCompleTime, bo.getPlanCompleTime());
lqw.eq(bo.getCompleTime() != null, ServiceWorkOrders::getCompleTime, bo.getCompleTime()); lqw.eq(bo.getCompleTime() != null, ServiceWorkOrders::getCompleTime, bo.getCompleTime());
lqw.eq(Objects.nonNull(bo.getServiceEvalua()), ServiceWorkOrders::getServiceEvalua, bo.getServiceEvalua()); lqw.eq(Objects.nonNull(bo.getServiceEvalua()), ServiceWorkOrders::getServiceEvalua, bo.getServiceEvalua());
lqw.eq(Objects.nonNull(bo.getType()), ServiceWorkOrders::getType, bo.getType()); lqw.in(Objects.nonNull(bo.getType()), ServiceWorkOrders::getType, typeIds);
lqw.eq(StringUtils.isNotBlank(bo.getProcessingWeight()), ServiceWorkOrders::getProcessingWeight, bo.getProcessingWeight()); lqw.eq(StringUtils.isNotBlank(bo.getProcessingWeight()), ServiceWorkOrders::getProcessingWeight, bo.getProcessingWeight());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrders::getSearchValue, bo.getSearchValue()); lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrders::getSearchValue, bo.getSearchValue());
return lqw; return lqw;
@ -459,7 +466,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
Integer count = entry.getValue().intValue(); Integer count = entry.getValue().intValue();
// 查询类型名称 // 查询类型名称
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypeMapper.selectById(typeId); ServiceWorkOrdersType serviceWorkOrdersType = typesMapper.selectById(typeId);
String type = serviceWorkOrdersType != null ? serviceWorkOrdersType.getOrderTypeName() : "未知类型"; String type = serviceWorkOrdersType != null ? serviceWorkOrdersType.getOrderTypeName() : "未知类型";
// 添加到结果中 // 添加到结果中

View File

@ -1,6 +1,7 @@
package org.dromara.property.service.impl; package org.dromara.property.service.impl;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
@ -80,9 +81,11 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
LambdaQueryWrapper<ServiceWorkOrdersType> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<ServiceWorkOrdersType> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(ServiceWorkOrdersType::getSort); lqw.orderByAsc(ServiceWorkOrdersType::getSort);
lqw.eq(StringUtils.isNotBlank(bo.getOrderTypeNo()), ServiceWorkOrdersType::getOrderTypeNo, bo.getOrderTypeNo()); lqw.eq(StringUtils.isNotBlank(bo.getOrderTypeNo()), ServiceWorkOrdersType::getOrderTypeNo, bo.getOrderTypeNo());
lqw.eq(StringUtils.isNotBlank(bo.getOrderTypeNo()), ServiceWorkOrdersType::getOrderTypeNo, bo.getOrderTypeNo());
lqw.like(StringUtils.isNotBlank(bo.getOrderTypeName()), ServiceWorkOrdersType::getOrderTypeName, bo.getOrderTypeName()); lqw.like(StringUtils.isNotBlank(bo.getOrderTypeName()), ServiceWorkOrdersType::getOrderTypeName, bo.getOrderTypeName());
lqw.eq(StringUtils.isNotBlank(bo.getOperationMode()), ServiceWorkOrdersType::getOperationMode, bo.getOperationMode()); lqw.eq(StringUtils.isNotBlank(bo.getOperationMode()), ServiceWorkOrdersType::getOperationMode, bo.getOperationMode());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrdersType::getSearchValue, bo.getSearchValue()); lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrdersType::getSearchValue, bo.getSearchValue());
lqw.eq(ObjectUtil.isNotEmpty(bo.getParentId()), ServiceWorkOrdersType::getParentId, bo.getParentId());
lqw.isNull(bo.getFilterSubNodes() != null && bo.getFilterSubNodes(), ServiceWorkOrdersType::getParentId); lqw.isNull(bo.getFilterSubNodes() != null && bo.getFilterSubNodes(), ServiceWorkOrdersType::getParentId);
lqw.ne(bo.getExcludeId()!=null,ServiceWorkOrdersType::getId,bo.getExcludeId()); lqw.ne(bo.getExcludeId()!=null,ServiceWorkOrdersType::getId,bo.getExcludeId());
return lqw; return lqw;

View File

@ -18,6 +18,9 @@ import org.dromara.property.mapper.MachineMaintainPlanStaffMapper;
import org.dromara.property.mapper.MachineMaintainTaskMapper; import org.dromara.property.mapper.MachineMaintainTaskMapper;
import org.dromara.property.mapper.ResidentPersonMapper; import org.dromara.property.mapper.ResidentPersonMapper;
import org.dromara.property.service.IMachineMaintainPlanService; import org.dromara.property.service.IMachineMaintainPlanService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -39,17 +42,21 @@ import static org.dromara.common.mybatis.core.mapper.BaseMapperPlus.log;
* @Date:2025/7/17 09:25 * @Date:2025/7/17 09:25
* @Description: * @Description:
**/ **/
@Validated @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController //@Validated
@RequestMapping("/machineTask") //@RequiredArgsConstructor
//@RestController
//@RequestMapping("/machineTask")
public class MachineTasks { public class MachineTasks {
private final IMachineMaintainPlanService machineMaintainPlanService; private final IMachineMaintainPlanService machineMaintainPlanService;
private final MachineMaintainTaskMapper machineMaintainTaskMapper; private final MachineMaintainTaskMapper machineMaintainTaskMapper;
private final MachineMaintainPlanStaffMapper machineMaintainPlanStaffMapper; private final MachineMaintainPlanStaffMapper machineMaintainPlanStaffMapper;
private final ResidentPersonMapper residentPersonMapper; private final ResidentPersonMapper residentPersonMapper;
@GetMapping("/taskId") //@GetMapping("/taskId")
@Scheduled(cron = "0 0 3 * * ?")
@Transactional(rollbackFor = Exception.class)
public void doMachineMaintainPianTask() { public void doMachineMaintainPianTask() {
// 查询所有启用状态的巡检计划 // 查询所有启用状态的巡检计划
MachineMaintainPlanBo machineMaintainPlanBo= new MachineMaintainPlanBo(); MachineMaintainPlanBo machineMaintainPlanBo= new MachineMaintainPlanBo();

View File

@ -0,0 +1,42 @@
package org.dromara.property.tasks;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.property.domain.ServiceWorkOrders;
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
import org.springframework.stereotype.Component;
import java.util.List;
import org.dromara.common.log.annotation.Log;
/**
* @Author:yuyongle
* @Date:2025/8/7 14:21
* @Description:自动派单
**/
@Slf4j
@Component
@RequiredArgsConstructor
public class ServiceWorkOrderTasks {
private ServiceWorkOrdersMapper workOrdersMapper;
//查询状态为创建工单的工单
private void handleServiceWorkOrder() {
List<ServiceWorkOrders> serviceWorkOrderList = workOrdersMapper.selectList(
new LambdaQueryWrapper<ServiceWorkOrders>()
.eq(ServiceWorkOrders::getStatus, "0"));
if(CollUtil.isNotEmpty(serviceWorkOrderList)){
serviceWorkOrderList.stream().forEach(s->{
});
}else {
log.info("派单工单为:{}",serviceWorkOrderList.size());
}
}
}

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);