From 964dd88319269c16d4ebb99007a954b51e625ef2 Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期二, 14 五月 2024 09:41:49 +0800 Subject: [PATCH] 旧数据增删改查,导入导出功能初步完成 --- src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentDeviceServiceImpl.java | 15 src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessQueryRespDTO.java | 52 +++ src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/OldRiskAssessRepository.java | 15 src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessImportReqBO.java | 35 ++ src/main/java/com/gkhy/labRiskManage/domain/basic/entity/OldRiskAssess.java | 55 +++ src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicRiskUnitServiceImpl.java | 13 src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java | 155 +++++++++ pom.xml | 26 + src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java | 504 +++++++++++++++++++++++++++++ src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessQueryReqBO.java | 29 + src/main/java/com/gkhy/labRiskManage/domain/riskReport/utils/SearchAuthUtils.java | 19 + src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentStuffServiceImpl.java | 13 src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java | 12 src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessExportRespDTO.java | 37 ++ src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java | 22 + src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentSiteServiceImpl.java | 11 16 files changed, 1,001 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index e6d57e9..0f925bb 100644 --- a/pom.xml +++ b/pom.xml @@ -122,6 +122,32 @@ <artifactId>lombok</artifactId> </dependency> + <!--poi 03版本依赖--> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi</artifactId> + <version>4.1.2</version> + </dependency> + <!--单元测试--> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> + <scope>test</scope> + </dependency> + <!--日期--> + <dependency> + <groupId>joda-time</groupId> + <artifactId>joda-time</artifactId> + <version>2.10.10</version> + </dependency> + + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml</artifactId> + <version>4.1.2</version> + </dependency> + </dependencies> <build> diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java new file mode 100644 index 0000000..52d5f77 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java @@ -0,0 +1,155 @@ +package com.gkhy.labRiskManage.api.controller.basic; + +import cn.hutool.json.JSONObject; +import cn.hutool.poi.excel.ExcelUtil; +import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.BasicExperimentDeviceInsertReqBO; +import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.BasicExperimentDeviceUpdateReqBO; +import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.*; +import com.gkhy.labRiskManage.api.controller.common.BaseController; +import com.gkhy.labRiskManage.application.basic.dto.dto.*; +import com.gkhy.labRiskManage.commons.domain.Result; +import com.gkhy.labRiskManage.commons.domain.SearchResult; +import com.gkhy.labRiskManage.commons.enums.ResultCode; +import com.gkhy.labRiskManage.commons.exception.BusinessException; +import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils; +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; +import com.gkhy.labRiskManage.domain.basic.service.OldRiskAssessService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.FileInputStream; + +/** + * 风险评价因子 + */ +@RestController +@RequestMapping("basic") +public class OldRiskAssessController extends BaseController { + + @Autowired + private OldRiskAssessService oldRiskAssessService; + + + @PostMapping("/insert/insertOldRiskAssess") + public Result insertOldRiskAssess(@RequestBody OldRiskAssess oldRiskAssess){ + + Result result = new Result(); + result.setCode(ResultCode.OK); + result.setMsg("新增成功"); + + int insertResult = oldRiskAssessService.insertOldRiskAssess(getCurrentUserId(), oldRiskAssess); + + result.setCount(insertResult); + if (insertResult < 1){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("新增失败"); + } + result.setCount(insertResult); + + return result; + } + + @PostMapping("/select/getOldRiskAssessPage") + public SearchResult<OldRiskAssessQueryRespDTO> getOldRiskAssessPage(@RequestBody OldRiskAssessQueryReqBO queryReqDO){ + + SearchResult result = new SearchResult(); + result.setCode(ResultCode.OK); + result.setMsg("查询成功"); + + SearchResult<OldRiskAssessQueryRespDTO> queryDTO = oldRiskAssessService.getOldRiskAssessPage(getCurrentUserId(), queryReqDO); + + Object data = queryDTO.getData(); + + result.setPageIndex(queryDTO.getPageIndex()); + result.setPageSize(queryDTO.getPageSize()); + result.setTotal(queryDTO.getTotal()); + result.setCount(queryDTO.getTotal().intValue()); + + result.setData(BeanCopyUtils.copyDeviceQueryRespList(data, BasicExperimentDeviceQueryRespDTO.class)); + + return result; + } + + @PostMapping("/update/updateOldRiskAssess") + public Result updateOldRiskAssess(@RequestBody OldRiskAssess oldRiskAssess){ + + Result result = new Result(); + result.setCode(ResultCode.OK); + result.setMsg("修改成功"); + + int updateResult = oldRiskAssessService.updateOldRiskAssess(getCurrentUserId(), oldRiskAssess); + + if (updateResult < 1){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("修改失败"); + } + result.setCount(updateResult); + + return result; + } + + @PostMapping("/delete/deleteOldRiskAssess") + public Result deleteOldRiskAssess(@RequestBody JSONObject jsonObject){ + + Result result = new Result(); + result.setCode(ResultCode.OK); + result.setMsg("删除成功"); + + int deleteResult = oldRiskAssessService.deleteOldRiskAssess(getCurrentUserId(), jsonObject.getLong("id")); + + if (deleteResult < 1){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("删除失败"); + } + result.setCount(deleteResult); + + return result; + } + + @PostMapping("/insert/importOldRiskAssess") + public Result importOldRiskAssess(@RequestParam("file") MultipartFile file){ + + Result result = new Result(); + result.setCode(ResultCode.OK); + result.setMsg("导入成功"); + + if (file.isEmpty()){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("文件为空"); + return result; + } + + int importResult = oldRiskAssessService.importOldRiskAssess(getCurrentUserId(), file); + + if (importResult < 1){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("导入失败"); + } + result.setCount(importResult); + + return result; + } + + @PostMapping("/select/exportOldRiskAssess") + public Result exportOldRiskAssess(@RequestBody OldRiskAssessQueryReqBO queryReqDO){ + + Result result = new Result(); + result.setCode(ResultCode.OK); + result.setMsg("导出成功"); + + + int importResult = oldRiskAssessService.exportOldRiskAssess(getCurrentUserId(), queryReqDO); + + if (importResult < 1){ + result.setCode(ResultCode.NOT_OK); + result.setMsg("导出失败"); + } + result.setCount(importResult); + + return result; + } + +} diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessImportReqBO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessImportReqBO.java new file mode 100644 index 0000000..bd8a05b --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessImportReqBO.java @@ -0,0 +1,35 @@ +package com.gkhy.labRiskManage.api.controller.basic.dto.repDto; + +import lombok.Data; + +@Data +public class OldRiskAssessImportReqBO { + + private String region; + + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String l; + + private String e; + + private String c; + + private String d; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + + private Long createByUserId; + + private Long updateByUserId; +} diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessQueryReqBO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessQueryReqBO.java new file mode 100644 index 0000000..98bd23c --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/repDto/OldRiskAssessQueryReqBO.java @@ -0,0 +1,29 @@ +package com.gkhy.labRiskManage.api.controller.basic.dto.repDto; + +import lombok.Data; + +@Data +public class OldRiskAssessQueryReqBO { + + private Integer pageIndex; + + private Integer pageSize; + + private String region; + + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + +} + diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessExportRespDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessExportRespDTO.java new file mode 100644 index 0000000..20655ac --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessExportRespDTO.java @@ -0,0 +1,37 @@ +package com.gkhy.labRiskManage.api.controller.basic.dto.respDto; + +import lombok.Data; + +@Data +public class OldRiskAssessExportRespDTO { + + private int id; + + private String region; + + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String l; + + private String e; + + private String c; + + private String d; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + + private Long createByUserId; + + private Long updateByUserId; +} diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessQueryRespDTO.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessQueryRespDTO.java new file mode 100644 index 0000000..1a917e4 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/dto/respDto/OldRiskAssessQueryRespDTO.java @@ -0,0 +1,52 @@ +package com.gkhy.labRiskManage.api.controller.basic.dto.respDto; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Data +public class OldRiskAssessQueryRespDTO implements Serializable { + + + private Long id; + + private String region; + + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String l; + + private String e; + + private String c; + + private String d; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + + private LocalDateTime createTime; + + private Long createByUserId; + + private String createByUserName; + + private LocalDateTime updateTime; + + private Long updateByUserId; + + private String updateByUserName; + +} + diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/entity/OldRiskAssess.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/entity/OldRiskAssess.java new file mode 100644 index 0000000..f893f8a --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/entity/OldRiskAssess.java @@ -0,0 +1,55 @@ +package com.gkhy.labRiskManage.domain.basic.entity; + +import lombok.Data; + +import javax.persistence.*; +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Entity +@Data +@Table(name = "old_risk_assess") +public class OldRiskAssess implements Serializable { + private static final long serialVersionUID = -55333598853895257L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + //区域 + private String region; + // + private String potentialAccident; + + private String dangerReason; + + private String triggerFactor; + + private String accidentResult; + + private String l; + + private String e; + + private String c; + + private String d; + + private String dangerLevel; + + private String controlMeasure; + + private String controlLevel; + + private Byte deleteStatus; + + private LocalDateTime createTime; + + private Long createByUserId; + + private LocalDateTime updateTime; + + private Long updateByUserId; + +} + diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/OldRiskAssessRepository.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/OldRiskAssessRepository.java new file mode 100644 index 0000000..6ce9c9b --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/repository/jpa/OldRiskAssessRepository.java @@ -0,0 +1,15 @@ +package com.gkhy.labRiskManage.domain.basic.repository.jpa; + +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +@Repository +public interface OldRiskAssessRepository extends JpaRepository<OldRiskAssess, Long>, JpaSpecificationExecutor<OldRiskAssess> { + + + @Query(value = "select t from OldRiskAssess t where t.id = :id and t.deleteStatus = 0") + OldRiskAssess getOldRiskAssessById(Long id); +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java new file mode 100644 index 0000000..75e5159 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java @@ -0,0 +1,22 @@ +package com.gkhy.labRiskManage.domain.basic.service; + +import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO; +import com.gkhy.labRiskManage.commons.domain.SearchResult; +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; +import org.springframework.web.multipart.MultipartFile; + +public interface OldRiskAssessService { + + SearchResult<OldRiskAssessQueryRespDTO> getOldRiskAssessPage(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO); + + int insertOldRiskAssess(Long currentUserId, OldRiskAssess oldRiskAssess); + + int updateOldRiskAssess(Long currentUserId, OldRiskAssess oldRiskAssess); + + int deleteOldRiskAssess(Long currentUserId, Long id); + + int importOldRiskAssess(Long currentUserId, MultipartFile file); + + int exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO); +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentDeviceServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentDeviceServiceImpl.java index d116619..9f3afb2 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentDeviceServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentDeviceServiceImpl.java @@ -25,6 +25,7 @@ import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentDeviceService; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentDeviceTypeService; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; +import com.gkhy.labRiskManage.domain.riskReport.utils.SearchAuthUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -175,7 +176,6 @@ UserInfoDomainDTO user = userDomainService.getUserById(currentUserId); int roleTag = GetRoleTagUtils.GetRoleTagUtils(user); - //组装查询条件 Specification<BasicExperimentDevice> specification = new Specification<BasicExperimentDevice>() { @Override @@ -193,8 +193,10 @@ if (deviceQueryBO.getSpecialDevice() != null && !deviceQueryBO.getSpecialDevice().equals("")){ predicateList.add(criteriaBuilder.equal(root.get("specialDevice"), deviceQueryBO.getSpecialDevice())); } - if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ - predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + if (SearchAuthUtils.basicSearchAuth() == 1){ + if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ + predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + } } predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); //返回组装的条件 @@ -363,12 +365,17 @@ int roleTag = GetRoleTagUtils.GetRoleTagUtils(user); List<BasicExperimentDevice> deviceList = new ArrayList<>(); + if (SearchAuthUtils.basicSearchAuth() == 0){ + deviceList = basicExperimentDeviceRepository.listDevice(); + return BeanCopyUtils.copyBeanList(deviceList, BasicExperimentDeviceAppListDTO.class); + } + + if (roleTag != UserTagEnum.USER_TAG_0.getCode()){ deviceList = basicExperimentDeviceRepository.listDevice(); }else { deviceList = basicExperimentDeviceRepository.listDeviceByUserId(currentUserId); } - return BeanCopyUtils.copyBeanList(deviceList, BasicExperimentDeviceAppListDTO.class); } diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java index 2679d08..590a1e4 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentPersonServiceImpl.java @@ -20,6 +20,7 @@ import com.gkhy.labRiskManage.domain.basic.repository.jpa.BasicExperimentPersonRepository; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentPersonService; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; +import com.gkhy.labRiskManage.domain.riskReport.utils.SearchAuthUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -157,8 +158,10 @@ if (queryPageParam.getTraining() != null && !queryPageParam.getTraining().equals("")){ predicateList.add(criteriaBuilder.equal(root.get("training"), queryPageParam.getTraining())); } - if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ - predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + if (SearchAuthUtils.basicSearchAuth() == 1){ + if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ + predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + } } predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); @@ -298,6 +301,11 @@ int roleTag = GetRoleTagUtils.GetRoleTagUtils(user); List<BasicExperimentPerson> peopleList = new ArrayList<>(); + if (SearchAuthUtils.basicSearchAuth() == 0){ + peopleList = personRepository.listPerson(currentUserId); + return BeanCopyUtils.copyBeanList(peopleList, PersonListDTO.class); + } + if (roleTag != UserTagEnum.USER_TAG_0.getCode()){ peopleList = personRepository.listPerson(currentUserId); diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentSiteServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentSiteServiceImpl.java index cf006ec..14ed85d 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentSiteServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentSiteServiceImpl.java @@ -19,6 +19,7 @@ import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentSiteService; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentSiteTypeService; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; +import com.gkhy.labRiskManage.domain.riskReport.utils.SearchAuthUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -168,8 +169,10 @@ if (queryParam.getRoom() != null && !queryParam.getRoom().equals("")){ predicateList.add(criteriaBuilder.equal(root.get("room"), queryParam.getRoom())); } - if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ - predicateList.add(criteriaBuilder.equal(root.get("createByUserId"),currentUserId)); + if (SearchAuthUtils.basicSearchAuth() == 1){ + if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ + predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + } } predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); @@ -324,6 +327,10 @@ int roleTag = GetRoleTagUtils.GetRoleTagUtils(user); List<BasicExperimentSite> basicExperimentSites = new ArrayList<>(); + if (SearchAuthUtils.basicSearchAuth() == 0){ + basicExperimentSites = siteRepository.listSite(); + return BeanCopyUtils.copyBeanList(basicExperimentSites, SiteListDTO.class); + } if (roleTag != UserTagEnum.USER_TAG_0.getCode()){ basicExperimentSites = siteRepository.listSite(); diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentStuffServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentStuffServiceImpl.java index 1ab9b47..310f26a 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentStuffServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicExperimentStuffServiceImpl.java @@ -16,6 +16,7 @@ import com.gkhy.labRiskManage.domain.basic.repository.jpa.BasicExperimentStuffRepository; import com.gkhy.labRiskManage.domain.basic.service.BasicExperimentStuffService; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; +import com.gkhy.labRiskManage.domain.riskReport.utils.SearchAuthUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -142,8 +143,10 @@ predicateList.add(criteriaBuilder.equal(root.get("stuffType"), queryParam.getStuffType())); } - if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ - predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + if (SearchAuthUtils.basicSearchAuth() == 1){ + if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ + predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + } } predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); @@ -270,6 +273,12 @@ List<BasicExperimentStuff> listResult = new ArrayList<>(); + if (SearchAuthUtils.basicSearchAuth() == 0){ + listResult = stuffRepository.listStuff(currentUserId); + return BeanCopyUtils.copyBeanList(listResult, StuffListDTO.class); + } + + if (roleTag != UserTagEnum.USER_TAG_0.getCode()){ listResult = stuffRepository.listStuff(currentUserId); }else { diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicRiskUnitServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicRiskUnitServiceImpl.java index c73e289..f85cce5 100644 --- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicRiskUnitServiceImpl.java +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/BasicRiskUnitServiceImpl.java @@ -21,6 +21,7 @@ import com.gkhy.labRiskManage.domain.basic.service.BasicRiskUnitService; import com.gkhy.labRiskManage.domain.riskReport.entity.RiskUnit; import com.gkhy.labRiskManage.domain.riskReport.utils.GetRoleTagUtils; +import com.gkhy.labRiskManage.domain.riskReport.utils.SearchAuthUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -142,8 +143,10 @@ if (queryParam.getRiskSourceType() != null && !queryParam.getRiskSourceType().equals("")){ predicateList.add(criteriaBuilder.equal(root.get("riskSourceType"), queryParam.getRiskSourceType())); } - if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ - predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + if (SearchAuthUtils.basicSearchAuth() == 1){ + if (roleTag == UserTagEnum.USER_TAG_0.getCode()){ + predicateList.add(criteriaBuilder.equal(root.get("createByUserId"), currentUserId)); + } } predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); @@ -295,6 +298,12 @@ int roleTag = GetRoleTagUtils.GetRoleTagUtils(user); List<BasicRiskUnit> listResult = new ArrayList<>(); + if (SearchAuthUtils.basicSearchAuth() == 0){ + listResult = riskUnitRepository.listRiskUnit(); + return BeanCopyUtils.copyBeanList(listResult, RiskUnitListDTO.class); + } + + if (roleTag != UserTagEnum.USER_TAG_0.getCode()){ listResult = riskUnitRepository.listRiskUnit(); }else { diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java new file mode 100644 index 0000000..517e209 --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java @@ -0,0 +1,504 @@ +package com.gkhy.labRiskManage.domain.basic.service.impl; + +import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO; +import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO; +import com.gkhy.labRiskManage.commons.domain.SearchResult; +import com.gkhy.labRiskManage.commons.enums.ResultCode; +import com.gkhy.labRiskManage.commons.enums.StatusEnum; +import com.gkhy.labRiskManage.commons.exception.BusinessException; +import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils; +import com.gkhy.labRiskManage.domain.account.model.dto.UserInfoDomainDTO; +import com.gkhy.labRiskManage.domain.account.service.UserDomainService; +import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess; +import com.gkhy.labRiskManage.domain.basic.repository.jpa.OldRiskAssessRepository; +import com.gkhy.labRiskManage.domain.basic.service.OldRiskAssessService; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.text.NumberFormat; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + + +/** + * 基础仪器设备表 + */ +@Service +public class OldRiskAssessServiceImpl implements OldRiskAssessService { + + @Autowired + private UserDomainService userDomainService; + + @Autowired + private OldRiskAssessRepository repository; + + + + @Override + public int insertOldRiskAssess(Long currentUserId, OldRiskAssess oldRiskAssess) { + + if (ObjectUtils.isEmpty(oldRiskAssess)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"要保存的数据不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getRegion())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"区域不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getPotentialAccident())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"潜在事故不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getDangerReason())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"危险、危害因素不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getTriggerFactor())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"触发条件不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getAccidentResult())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"事故后果不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getL())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"L数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getD())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"D数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getC())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"C数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getE())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"E数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getDangerLevel())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"危险等级不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getControlMeasure())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"现有安全控制措施不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getControlLevel())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"管控层级不能为空"); + } + + LocalDateTime nowDate = LocalDateTime.now(); + oldRiskAssess.setUpdateTime(nowDate); + oldRiskAssess.setCreateTime(nowDate); + oldRiskAssess.setCreateByUserId(currentUserId); + oldRiskAssess.setUpdateByUserId(currentUserId); + oldRiskAssess.setDeleteStatus((byte)0); + + OldRiskAssess saveResult = repository.save(oldRiskAssess); + if (ObjectUtils.isEmpty(saveResult)){ + return StatusEnum.FAIL.getCode(); + } + + return StatusEnum.SUCCESS.getCode(); + } + + @Override + public int updateOldRiskAssess(Long currentUserId, OldRiskAssess oldRiskAssess) { + + OldRiskAssess oldRiskAssessById = repository.getOldRiskAssessById(oldRiskAssess.getId()); + if (ObjectUtils.isEmpty(oldRiskAssessById)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"要修改的数据不存在,或已被删除"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getRegion())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"区域不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getPotentialAccident())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"潜在事故不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getDangerReason())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"危险、危害因素不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getTriggerFactor())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"触发条件不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getAccidentResult())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"事故后果不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getL())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"L数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getD())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"D数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getC())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"C数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getE())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"E数值不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getDangerLevel())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"危险等级不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getControlMeasure())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"现有安全控制措施不能为空"); + } + if (ObjectUtils.isEmpty(oldRiskAssess.getControlLevel())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"管控层级不能为空"); + } + + LocalDateTime nowDate = LocalDateTime.now(); + oldRiskAssessById.setUpdateTime(nowDate); + oldRiskAssessById.setDeleteStatus((byte)0); + oldRiskAssessById.setUpdateByUserId(currentUserId); + oldRiskAssessById.setUpdateTime(nowDate); + + oldRiskAssessById.setRegion(oldRiskAssess.getRegion()); + oldRiskAssessById.setPotentialAccident(oldRiskAssess.getPotentialAccident()); + oldRiskAssessById.setDangerReason(oldRiskAssess.getDangerReason()); + oldRiskAssessById.setTriggerFactor(oldRiskAssess.getTriggerFactor()); + oldRiskAssessById.setAccidentResult(oldRiskAssess.getAccidentResult()); + oldRiskAssessById.setL(oldRiskAssess.getL()); + oldRiskAssessById.setE(oldRiskAssess.getE()); + oldRiskAssessById.setD(oldRiskAssess.getD()); + oldRiskAssessById.setC(oldRiskAssess.getC()); + oldRiskAssessById.setDangerLevel(oldRiskAssess.getDangerLevel()); + oldRiskAssessById.setControlMeasure(oldRiskAssess.getControlMeasure()); + oldRiskAssessById.setControlLevel(oldRiskAssess.getControlLevel()); + + OldRiskAssess saveResult = repository.save(oldRiskAssessById); + if (ObjectUtils.isEmpty(saveResult)){ + return StatusEnum.FAIL.getCode(); + } + + return StatusEnum.SUCCESS.getCode(); + } + + @Override + public int deleteOldRiskAssess(Long currentUserId, Long id) { + if (currentUserId < 0){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"当前用户无效,请重新登陆"); + } + if (ObjectUtils.isEmpty(id)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode() ,"请选择正常的数据进行删除"); + } + OldRiskAssess oldRiskAssessById = repository.getOldRiskAssessById(id); + if (ObjectUtils.isEmpty(oldRiskAssessById)){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"要删除的数据不存在,或已被删除"); + } + UserInfoDomainDTO userInfoById = userDomainService.getUserInfoById(currentUserId); + + LocalDateTime date = LocalDateTime.now(); + //设置数据为删除 + oldRiskAssessById.setDeleteStatus(StatusEnum.DELETED.getCode().byteValue()); + oldRiskAssessById.setUpdateByUserId(userInfoById.getId()); + oldRiskAssessById.setUpdateTime(date); + + OldRiskAssess deleteResult = repository.save(oldRiskAssessById); + + if (ObjectUtils.isEmpty(deleteResult)){ + return StatusEnum.FAIL.getCode(); + } + + return StatusEnum.SUCCESS.getCode(); + } + + @Transactional + @Override + public int importOldRiskAssess(Long currentUserId, MultipartFile file) { + + if (currentUserId < 0){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"当前用户无效,请重新登陆"); + } + //根据路径获取这个操作excel的实例 + HSSFWorkbook wb = null; + List<OldRiskAssess> list = new ArrayList<>(); + try { + wb = new HSSFWorkbook(file.getInputStream()); + //根据页面index 获取sheet页 + HSSFSheet sheet = wb.getSheetAt(0); + HSSFRow row = null; + //循环sheet页中数据从第二行开始,第一行是标题 + + LocalDateTime nowDate = LocalDateTime.now(); + for (int i = 1; i <= sheet.getPhysicalNumberOfRows()-1; i++) { + //获取每一行数据 + row = sheet.getRow(i); + OldRiskAssess oldRiskAssess = new OldRiskAssess(); + oldRiskAssess.setUpdateTime(nowDate); + oldRiskAssess.setCreateTime(nowDate); + oldRiskAssess.setCreateByUserId(currentUserId); + oldRiskAssess.setUpdateByUserId(currentUserId); + oldRiskAssess.setDeleteStatus((byte)0); + + if (ObjectUtils.isEmpty(row.getCell(1))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() , "第"+ (i+1) +"行:区域不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(2))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:潜在事故不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(3))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:危险、危害因素不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(4))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:触发条件不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(5))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:事故后果不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(6))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:L数值不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(7))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:D数值不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(8))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:C数值不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(9))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:E数值不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(10))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:危险等级不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(11))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:现有安全控制措施不能为空"); + } + if (ObjectUtils.isEmpty(row.getCell(12))){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"第"+ (i+1) +"行:管控层级不能为空"); + } + + oldRiskAssess.setRegion(row.getCell(1).toString()); + oldRiskAssess.setPotentialAccident(row.getCell(2).toString()); + oldRiskAssess.setDangerReason(row.getCell(3).toString()); + oldRiskAssess.setTriggerFactor(row.getCell(4).toString()); + oldRiskAssess.setAccidentResult(row.getCell(5).toString()); + oldRiskAssess.setDangerLevel(row.getCell(10).toString()); + oldRiskAssess.setControlMeasure(row.getCell(11).toString()); + oldRiskAssess.setControlLevel(row.getCell(12).toString()); + + double cellL = row.getCell(6).getNumericCellValue(); + double cellE = row.getCell(7).getNumericCellValue(); + double cellC = row.getCell(8).getNumericCellValue(); + double cellD = row.getCell(9).getNumericCellValue(); + NumberFormat nf = NumberFormat.getInstance(); + String L = nf.format(cellL); + String E = nf.format(cellE); + String C = nf.format(cellC); + String D = nf.format(cellD); +// if (L.indexOf(",") >= 0) { +// L = L.replace(",", ""); +// } + oldRiskAssess.setL(L); + oldRiskAssess.setE(E); + oldRiskAssess.setC(C); + oldRiskAssess.setD(D); + + list.add(oldRiskAssess); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + + for (OldRiskAssess oldRiskAssess : list) { + OldRiskAssess save = repository.save(oldRiskAssess); + if (ObjectUtils.isEmpty(save)){ + throw new BusinessException(this.getClass(), ResultCode.BUSINESS_ERROR_NOT_ALLOWED.getCode() ,"导入出错"); + } + } + + return StatusEnum.SUCCESS.getCode(); + } + + @Override + public int exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO) { + + //组装查询条件 + Specification<OldRiskAssess> specification = new Specification<OldRiskAssess>() { + @Override + public Predicate toPredicate(Root<OldRiskAssess> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicateList = new ArrayList<>(); + if(queryReqDO.getRegion() != null && !queryReqDO.getRegion().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("region"),'%'+ queryReqDO.getRegion() +'%')); + } + if(queryReqDO.getPotentialAccident() != null && !queryReqDO.getPotentialAccident().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("potentialAccident"),'%'+queryReqDO.getPotentialAccident() +'%')); + } + if(queryReqDO.getDangerReason() != null && !queryReqDO.getDangerReason().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("dangerReason"),'%'+queryReqDO.getDangerReason() +'%')); + } + if(queryReqDO.getTriggerFactor() != null && !queryReqDO.getTriggerFactor().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("triggerFactor"),'%'+queryReqDO.getTriggerFactor() +'%')); + } + if(queryReqDO.getAccidentResult() != null && !queryReqDO.getAccidentResult().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("accidentResult"),'%'+queryReqDO.getAccidentResult() +'%')); + } + if(queryReqDO.getDangerLevel() != null && !queryReqDO.getDangerLevel().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("dangerLevel"),'%'+queryReqDO.getDangerLevel() +'%')); + } + if(queryReqDO.getControlMeasure() != null && !queryReqDO.getControlMeasure().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("controlMeasure"),'%'+queryReqDO.getControlMeasure() +'%')); + } + if(queryReqDO.getControlLevel() != null && !queryReqDO.getControlLevel().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("controlLevel"),'%'+queryReqDO.getControlLevel() +'%')); + } + predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); + //返回组装的条件 + return criteriaBuilder.and(predicateList.toArray(predicateList.toArray(new Predicate[0]))); + } + }; + List<OldRiskAssess> list = repository.findAll(specification); + + //创建工作薄 + HSSFWorkbook workbook = new HSSFWorkbook(); + //创建sheet + HSSFSheet sheet=workbook.createSheet("评分标准"); + //创建第一行 + HSSFRow header = sheet.createRow(0); + //创建单元格并插入表头 + HSSFCell cell = null; + String[] infos={"编号","区域","潜在事故","危险、有害因素","触发条件","事故后果","L","E","C","D", + "危险等级","现有安全控制措施(工程技术、管理、培训教育、个体防护、应急处置)","管控层级(公司级、部门级、岗位级)"}; + for(int i = 0; i < infos.length; i++){ + cell = header.createCell(i); + cell.setCellValue(infos[i]); + } + + //写入数据 + for (int j = 1; j < list.size(); j++) { + OldRiskAssess oldRiskAssess = list.get(j - 1); + HSSFRow row = sheet.createRow(j); + cell= row.createCell(0); + cell.setCellValue(j); + cell = row.createCell(1); + cell.setCellValue(oldRiskAssess.getRegion()); + cell = row.createCell(2); + cell.setCellValue(oldRiskAssess.getPotentialAccident()); + cell = row.createCell(3); + cell.setCellValue(oldRiskAssess.getDangerReason()); + cell = row.createCell(4); + cell.setCellValue(oldRiskAssess.getTriggerFactor()); + cell = row.createCell(5); + cell.setCellValue(oldRiskAssess.getAccidentResult()); + cell = row.createCell(6); + cell.setCellValue(oldRiskAssess.getL()); + cell = row.createCell(7); + cell.setCellValue(oldRiskAssess.getE()); + cell = row.createCell(8); + cell.setCellValue(oldRiskAssess.getC()); + cell = row.createCell(9); + cell.setCellValue(oldRiskAssess.getD()); + cell = row.createCell(10); + cell.setCellValue(oldRiskAssess.getDangerLevel()); + cell = row.createCell(11); + cell.setCellValue(oldRiskAssess.getControlMeasure()); + cell = row.createCell(12); + cell.setCellValue(oldRiskAssess.getControlLevel()); + } + + // 保存Excel文件 + try{ + // 获取桌面路径 + String desktopPath = System.getProperty("user.home") + "/Desktop/"; + // 导出文件名 + String fileName = desktopPath + "评分标准.xlsx"; + FileOutputStream fileOutputStream = new FileOutputStream(new File(fileName)); + // 将工作簿写入文件 + workbook.write(fileOutputStream); + workbook.close(); + fileOutputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + }finally{ + if (workbook != null){ + try { + workbook.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return StatusEnum.SUCCESS.getCode(); + } + + @Override + public SearchResult<OldRiskAssessQueryRespDTO> getOldRiskAssessPage(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO) { + + //校验参数 + if (ObjectUtils.isEmpty(queryReqDO.getPageSize())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"分页信息不能为空"); + } + if (ObjectUtils.isEmpty(queryReqDO.getPageIndex())){ + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR.getCode() ,"分页信息不能为空"); + } + SearchResult searchResult = new SearchResult<>(); + + //组装查询条件 + Specification<OldRiskAssess> specification = new Specification<OldRiskAssess>() { + @Override + public Predicate toPredicate(Root<OldRiskAssess> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicateList = new ArrayList<>(); + if(queryReqDO.getRegion() != null && !queryReqDO.getRegion().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("region"),'%'+ queryReqDO.getRegion() +'%')); + } + if(queryReqDO.getPotentialAccident() != null && !queryReqDO.getPotentialAccident().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("potentialAccident"),'%'+queryReqDO.getPotentialAccident() +'%')); + } + if(queryReqDO.getDangerReason() != null && !queryReqDO.getDangerReason().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("dangerReason"),'%'+queryReqDO.getDangerReason() +'%')); + } + if(queryReqDO.getTriggerFactor() != null && !queryReqDO.getTriggerFactor().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("triggerFactor"),'%'+queryReqDO.getTriggerFactor() +'%')); + } + if(queryReqDO.getAccidentResult() != null && !queryReqDO.getAccidentResult().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("accidentResult"),'%'+queryReqDO.getAccidentResult() +'%')); + } + if(queryReqDO.getDangerLevel() != null && !queryReqDO.getDangerLevel().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("dangerLevel"),'%'+queryReqDO.getDangerLevel() +'%')); + } + if(queryReqDO.getControlMeasure() != null && !queryReqDO.getControlMeasure().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("controlMeasure"),'%'+queryReqDO.getControlMeasure() +'%')); + } + if(queryReqDO.getControlLevel() != null && !queryReqDO.getControlLevel().equals("")){ + predicateList.add(criteriaBuilder.like(root.get("controlLevel"),'%'+queryReqDO.getControlLevel() +'%')); + } + predicateList.add(criteriaBuilder.equal(root.get("deleteStatus"),StatusEnum.DELETE_NOT.getCode())); + //返回组装的条件 + return criteriaBuilder.and(predicateList.toArray(predicateList.toArray(new Predicate[0]))); + } + }; + + PageRequest page = PageRequest.of(queryReqDO.getPageIndex() - 1, queryReqDO.getPageSize(), Sort.Direction.DESC, "updateTime"); + + Page<OldRiskAssess> pageResult = repository.findAll(specification, page); + List<OldRiskAssessQueryRespDTO> oldRiskAssessQueryRespDTO = BeanCopyUtils.copyBeanList(pageResult.getContent(), OldRiskAssessQueryRespDTO.class); + + List<UserInfoDomainDTO> userList = userDomainService.getUserList(); + for (OldRiskAssessQueryRespDTO oldRiskAssess : oldRiskAssessQueryRespDTO) { + for (UserInfoDomainDTO userInfo : userList) { + if (userInfo.getId() == oldRiskAssess.getCreateByUserId()){ + oldRiskAssess.setCreateByUserName(userInfo.getRealName()); + } + if (userInfo.getId() == oldRiskAssess.getUpdateByUserId()){ + oldRiskAssess.setUpdateByUserName(userInfo.getRealName()); + } + } + } + + + searchResult.setTotal(pageResult.getTotalElements()); + searchResult.setData(oldRiskAssessQueryRespDTO); + + return searchResult; + } + + + + +} diff --git a/src/main/java/com/gkhy/labRiskManage/domain/riskReport/utils/SearchAuthUtils.java b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/utils/SearchAuthUtils.java new file mode 100644 index 0000000..d02daab --- /dev/null +++ b/src/main/java/com/gkhy/labRiskManage/domain/riskReport/utils/SearchAuthUtils.java @@ -0,0 +1,19 @@ +package com.gkhy.labRiskManage.domain.riskReport.utils; + +import org.springframework.stereotype.Component; + +@Component +public class SearchAuthUtils { + + public static int basicSearchAuth(){ + + /** + * 0:基础信息查询不处理 + * 1:基础信息查询,限制为创建人 + * */ + int authFlag = 0; + + return authFlag; + } + +} -- Gitblit v1.9.2