提交 d99981ab 作者: 17607474349

feat:

1、新增首页:人员数据、报警数据
上级 73567f49
...@@ -36,7 +36,7 @@ public class RiskPush extends BasicEntity implements Serializable { ...@@ -36,7 +36,7 @@ public class RiskPush extends BasicEntity implements Serializable {
private static final long serialVersionUID = -4532411898085672339L; private static final long serialVersionUID = -4532411898085672339L;
@Comment("工区") @Comment("工区")
@OneToOne @ManyToOne
WorkArea workArea; WorkArea workArea;
@Comment("风险等级") @Comment("风险等级")
......
...@@ -3,6 +3,7 @@ package com.yiring.app.service.key; ...@@ -3,6 +3,7 @@ package com.yiring.app.service.key;
import com.yiring.app.param.key.KeyAlarmFindParam; import com.yiring.app.param.key.KeyAlarmFindParam;
import com.yiring.app.vo.key.KeyAlarmVo; import com.yiring.app.vo.key.KeyAlarmVo;
import com.yiring.app.vo.user.UserListInfoVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -36,4 +37,11 @@ public interface KeyAlarmService { ...@@ -36,4 +37,11 @@ public interface KeyAlarmService {
* @return Result<PageVo<KeyAlarmVo>> * @return Result<PageVo<KeyAlarmVo>>
*/ */
Result<PageVo<KeyAlarmVo>> find(KeyAlarmFindParam param); Result<PageVo<KeyAlarmVo>> find(KeyAlarmFindParam param);
/**
*
* @param param KeyAlarmFindParam
* @return Result<PageVo<UserListInfoVo>>
*/
Result<PageVo<UserListInfoVo>> listInfo(KeyAlarmFindParam param);
} }
...@@ -4,8 +4,7 @@ package com.yiring.app.service.risk.impl; ...@@ -4,8 +4,7 @@ package com.yiring.app.service.risk.impl;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.yiring.app.domain.risk.RiskPush; import com.yiring.app.domain.risk.*;
import com.yiring.app.domain.risk.RiskPushRepository;
import com.yiring.app.domain.workArea.WorkArea; import com.yiring.app.domain.workArea.WorkArea;
import com.yiring.app.domain.workArea.WorkAreaRepository; import com.yiring.app.domain.workArea.WorkAreaRepository;
import com.yiring.app.param.risk.RiskPushConditionParam; import com.yiring.app.param.risk.RiskPushConditionParam;
...@@ -26,6 +25,7 @@ import javax.annotation.Resource; ...@@ -26,6 +25,7 @@ import javax.annotation.Resource;
import javax.persistence.criteria.Order; import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
...@@ -49,6 +49,12 @@ public class RiskPushServiceImpl implements RiskPushService { ...@@ -49,6 +49,12 @@ public class RiskPushServiceImpl implements RiskPushService {
RiskPushRepository riskPushRepository; RiskPushRepository riskPushRepository;
@Resource @Resource
RiskHandlePushRepository riskHandlePushRepository;
@Resource
RiskWithdrawalPushRepository riskWithdrawalPushRepository;
@Resource
WorkAreaRepository workAreaRepository; WorkAreaRepository workAreaRepository;
@Override @Override
...@@ -91,6 +97,19 @@ public class RiskPushServiceImpl implements RiskPushService { ...@@ -91,6 +97,19 @@ public class RiskPushServiceImpl implements RiskPushService {
WorkAreaVo workAreaVo = Convert.convert(WorkAreaVo.class, workArea); WorkAreaVo workAreaVo = Convert.convert(WorkAreaVo.class, workArea);
riskPushVo.setWorkAreaVo(workAreaVo); riskPushVo.setWorkAreaVo(workAreaVo);
} }
// 查询处置推送总数
List<RiskHandlePush> riskHandlePushes = riskHandlePushRepository.findAll(
Example.of(RiskHandlePush.builder().riskPush(riskPush).build())
);
riskPushVo.setHandlePush(Convert.toStr(riskHandlePushes.size()));
// 查询撤离推送总数
List<RiskWithdrawalPush> riskWithdrawalPushes = riskWithdrawalPushRepository.findAll(
Example.of(RiskWithdrawalPush.builder().riskPush(riskPush).build())
);
riskPushVo.setWithdrawalPush(Convert.toStr(riskWithdrawalPushes.size()));
return riskPushVo; return riskPushVo;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
......
...@@ -3,6 +3,7 @@ package com.yiring.app.service.user; ...@@ -3,6 +3,7 @@ package com.yiring.app.service.user;
import com.yiring.app.param.user.*; import com.yiring.app.param.user.*;
import com.yiring.app.vo.user.UserInfoVo; import com.yiring.app.vo.user.UserInfoVo;
import com.yiring.app.vo.user.UserListInfoVo;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.auth.param.IdsParam; import com.yiring.auth.param.IdsParam;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
...@@ -110,4 +111,10 @@ public interface UserAppService { ...@@ -110,4 +111,10 @@ public interface UserAppService {
* @return Result<String> * @return Result<String>
*/ */
Result<String> batchSendCard(MultipartFile file); Result<String> batchSendCard(MultipartFile file);
/**
* 首页数据
* @return Result<PageVo<UserListInfoVo>>
*/
Result<PageVo<UserListInfoVo>> listInfo();
} }
...@@ -24,6 +24,7 @@ import com.yiring.app.service.dept.DepartmentService; ...@@ -24,6 +24,7 @@ import com.yiring.app.service.dept.DepartmentService;
import com.yiring.app.service.user.UserAppService; import com.yiring.app.service.user.UserAppService;
import com.yiring.app.util.zy.ZyUtil; import com.yiring.app.util.zy.ZyUtil;
import com.yiring.app.vo.user.UserInfoVo; import com.yiring.app.vo.user.UserInfoVo;
import com.yiring.app.vo.user.UserListInfoVo;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.auth.domain.dept.Department; import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.domain.dept.DepartmentRepository; import com.yiring.auth.domain.dept.DepartmentRepository;
...@@ -46,6 +47,7 @@ import java.net.URLEncoder; ...@@ -46,6 +47,7 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
...@@ -645,6 +647,62 @@ public class UserAppServiceImpl implements UserAppService { ...@@ -645,6 +647,62 @@ public class UserAppServiceImpl implements UserAppService {
return Result.ok(); return Result.ok();
} }
@Override
public Result<PageVo<UserListInfoVo>> listInfo() {
List<User> users = userRepository.findAll();
ArrayList<UserListInfoVo> userListInfoVos = ListUtil.toList();
// 员工、访客
Map<User.Type, List<User>> mapTypes = users.stream().collect(Collectors.groupingBy(User::getType));
// 员工
List<User> userList = mapTypes.get(User.Type.EMPLOYEES);
// 普通人员
AtomicInteger oPer = new AtomicInteger(0);
// 内部特殊工作人员
AtomicInteger intSpPer = new AtomicInteger(0);
// 外部特殊工作人员
AtomicInteger extSpPer = new AtomicInteger(0);
// 巡检人员
AtomicInteger inspectionPer = new AtomicInteger(0);
userList.forEach(user -> {
// 特殊人员处理
if (user.getIsSpecial()) {
if (StrUtil.isNotEmpty(user.getUnit())) {
// 外部特殊人员+
extSpPer.addAndGet(1);
} else {
intSpPer.addAndGet(1);
}
return;
}
if (ObjectUtil.equal(User.Status.INSPECTION, user.getStatus())) {
inspectionPer.addAndGet(1);
return;
}
oPer.addAndGet(1);
});
// 普通人员+
userListInfoVos.add(UserListInfoVo.builder().type("普通人员").numOfPeo(oPer.get()).build());
// 内部特殊工作人员+
userListInfoVos.add(UserListInfoVo.builder().type("内部特殊工作人员").numOfPeo(intSpPer.get()).build());
// 外部特殊工作人员+
userListInfoVos.add(UserListInfoVo.builder().type("外部特殊工作人员").numOfPeo(extSpPer.get()).build());
// 巡检人员+
userListInfoVos.add(UserListInfoVo.builder().type("巡检人员").numOfPeo(inspectionPer.get()).build());
// 访客+
userListInfoVos.add(
UserListInfoVo.builder().type("访客").numOfPeo(mapTypes.get(User.Type.GUEST).size()).build()
);
PageVo<UserListInfoVo> pageVo = PageVo.build(userListInfoVos, users.size());
return Result.ok(pageVo);
}
@NotNull @NotNull
private CriteriaQuery<UserVo> getUserVoCriteriaQuery(UserFindParam param) { private CriteriaQuery<UserVo> getUserVoCriteriaQuery(UserFindParam param) {
CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaBuilder cb = em.getCriteriaBuilder();
......
...@@ -41,6 +41,12 @@ public class RiskPushVo implements Serializable { ...@@ -41,6 +41,12 @@ public class RiskPushVo implements Serializable {
@ApiModelProperty(value = "风险等级", example = "红、橙、黄、蓝") @ApiModelProperty(value = "风险等级", example = "红、橙、黄、蓝")
String level; String level;
@ApiModelProperty(value = "撤离推送总数", example = "1")
String withdrawalPush;
@ApiModelProperty(value = "处置推送总数", example = "1")
String handlePush;
public static RiskPushVo transform(RiskPush riskPush) { public static RiskPushVo transform(RiskPush riskPush) {
return RiskPushVo.builder().id(riskPush.getId()).level(riskPush.getLevel().text()).build(); return RiskPushVo.builder().id(riskPush.getId()).level(riskPush.getLevel().text()).build();
} }
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.user;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 首页数据
*
* @author LJ-2204
* @date 2022/5/25
*/
@ApiModel("UserListInfoVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserListInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 7533061903975538781L;
@ApiModelProperty(value = "人员类型", example = "普通人员")
String type;
@ApiModelProperty(value = "相关人数")
Integer numOfPeo;
}
...@@ -4,6 +4,7 @@ package com.yiring.app.web.key; ...@@ -4,6 +4,7 @@ package com.yiring.app.web.key;
import com.yiring.app.param.key.KeyAlarmFindParam; import com.yiring.app.param.key.KeyAlarmFindParam;
import com.yiring.app.service.key.KeyAlarmService; import com.yiring.app.service.key.KeyAlarmService;
import com.yiring.app.vo.key.KeyAlarmVo; import com.yiring.app.vo.key.KeyAlarmVo;
import com.yiring.app.vo.user.UserListInfoVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -11,6 +12,7 @@ import io.swagger.annotations.Api; ...@@ -11,6 +12,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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;
...@@ -35,19 +37,25 @@ public class KeyAlarmController { ...@@ -35,19 +37,25 @@ public class KeyAlarmController {
@ApiOperation("表格查询") @ApiOperation("表格查询")
@GetMapping("page") @GetMapping("page")
public Result<PageVo<KeyAlarmVo>> page(KeyAlarmFindParam param, PageParam pageParam) { public Result<PageVo<KeyAlarmVo>> page(@Valid KeyAlarmFindParam param, @Valid PageParam pageParam) {
return keyAlarmService.page(param, pageParam); return keyAlarmService.page(param, pageParam);
} }
@ApiOperation("条件查询") @ApiOperation("条件查询")
@GetMapping("find") @GetMapping("find")
public Result<PageVo<KeyAlarmVo>> find(KeyAlarmFindParam param) { public Result<PageVo<KeyAlarmVo>> find(@Valid KeyAlarmFindParam param) {
return keyAlarmService.find(param); return keyAlarmService.find(param);
} }
@ApiOperation("导出") @ApiOperation("导出")
@GetMapping("export") @GetMapping("export")
public void export(KeyAlarmFindParam param, HttpServletResponse response) { public void export(@Valid KeyAlarmFindParam param, HttpServletResponse response) {
keyAlarmService.export(param, response); keyAlarmService.export(param, response);
} }
@ApiOperation("首页数据")
@GetMapping("listInfo")
public Result<PageVo<UserListInfoVo>> listInfo(@Valid KeyAlarmFindParam param) {
return keyAlarmService.listInfo(param);
}
} }
...@@ -36,7 +36,7 @@ public class KeyAlarmLogController { ...@@ -36,7 +36,7 @@ public class KeyAlarmLogController {
@ApiOperation("表格查询") @ApiOperation("表格查询")
@GetMapping("page") @GetMapping("page")
public Result<PageVo<KeyAlarmLogVo>> page(KeyAlarmLogFindParam param, PageParam pageParam) { public Result<PageVo<KeyAlarmLogVo>> page(@Valid KeyAlarmLogFindParam param, @Valid PageParam pageParam) {
return keyAlarmLogService.page(param, pageParam); return keyAlarmLogService.page(param, pageParam);
} }
......
...@@ -15,6 +15,7 @@ import io.swagger.annotations.Api; ...@@ -15,6 +15,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -37,31 +38,34 @@ public class KeyAlarmRuleController { ...@@ -37,31 +38,34 @@ public class KeyAlarmRuleController {
@ApiOperation("新增报警规则") @ApiOperation("新增报警规则")
@PostMapping("add") @PostMapping("add")
public Result<String> add(KeyAlarmRuleAddParam keyAlarmRuleAddParam) { public Result<String> add(@Valid KeyAlarmRuleAddParam keyAlarmRuleAddParam) {
return keyAlarmRuleService.add(keyAlarmRuleAddParam); return keyAlarmRuleService.add(keyAlarmRuleAddParam);
} }
@ApiOperation("删除报警规则") @ApiOperation("删除报警规则")
@DeleteMapping("delete") @DeleteMapping("delete")
public Result<String> delete(IdParam idParam) { public Result<String> delete(@Valid IdParam idParam) {
return keyAlarmRuleService.delete(idParam); return keyAlarmRuleService.delete(idParam);
} }
@ApiOperation("更新报警规则") @ApiOperation("更新报警规则")
@PutMapping("modify") @PutMapping("modify")
public Result<String> modify(KeyAlarmRuleModifyParam keyAlarmRuleModifyParam) { public Result<String> modify(@Valid KeyAlarmRuleModifyParam keyAlarmRuleModifyParam) {
return keyAlarmRuleService.modify(keyAlarmRuleModifyParam); return keyAlarmRuleService.modify(keyAlarmRuleModifyParam);
} }
@ApiOperation("导出") @ApiOperation("导出")
@GetMapping("export") @GetMapping("export")
public void export(KeyAlarmRuleExportParam keyAlarmRuleExportParam, HttpServletResponse response) { public void export(@Valid KeyAlarmRuleExportParam keyAlarmRuleExportParam, HttpServletResponse response) {
keyAlarmRuleService.export(keyAlarmRuleExportParam, response); keyAlarmRuleService.export(keyAlarmRuleExportParam, response);
} }
@ApiOperation("表格查询") @ApiOperation("表格查询")
@GetMapping("page") @GetMapping("page")
public Result<PageVo<KeyAlarmRuleVo>> page(KeyAlarmRulePageParam keyAlarmRulePageParam, PageParam pageParam) { public Result<PageVo<KeyAlarmRuleVo>> page(
@Valid KeyAlarmRulePageParam keyAlarmRulePageParam,
@Valid PageParam pageParam
) {
return keyAlarmRuleService.page(keyAlarmRulePageParam, pageParam); return keyAlarmRuleService.page(keyAlarmRulePageParam, pageParam);
} }
} }
...@@ -4,6 +4,7 @@ package com.yiring.app.web.user; ...@@ -4,6 +4,7 @@ package com.yiring.app.web.user;
import com.yiring.app.param.user.*; import com.yiring.app.param.user.*;
import com.yiring.app.service.user.UserAppService; import com.yiring.app.service.user.UserAppService;
import com.yiring.app.vo.user.UserInfoVo; import com.yiring.app.vo.user.UserInfoVo;
import com.yiring.app.vo.user.UserListInfoVo;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.auth.param.IdsParam; import com.yiring.auth.param.IdsParam;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
...@@ -118,4 +119,10 @@ public class UserAppController { ...@@ -118,4 +119,10 @@ public class UserAppController {
public Result<String> batchSendCard(@RequestParam("file") MultipartFile file) { public Result<String> batchSendCard(@RequestParam("file") MultipartFile file) {
return userService.batchSendCard(file); return userService.batchSendCard(file);
} }
@ApiOperation("首页数据")
@GetMapping("listInfo")
public Result<PageVo<UserListInfoVo>> listInfo() {
return userService.listInfo();
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论