From 2f432f52c1cfb1567dadcf6e040c5d38b0a26a79 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 28 十一月 2025 17:31:49 +0800
Subject: [PATCH] 数量检测配置页面
---
fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java | 183 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 183 insertions(+), 0 deletions(-)
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java
new file mode 100644
index 0000000..5190e2f
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java
@@ -0,0 +1,183 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.service.SecCameraService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Component;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/11/28 10:48
+ */
+@Slf4j
+@Component
+public class SecCameraPR {
+
+ @Autowired
+ private SecCameraService secCameraService;
+
+ /**
+ * secCameraPR#listPageCamera 鏍规嵁鏉′欢鑾峰彇鎵�鏈夌殑鎽勫儚鏈洪厤缃俊鎭�
+ *
+ * @param param
+ */
+ @DataProvider
+ public void listPageCamera(Page<Camera> page, Map<String, Object> param) {
+ org.springframework.data.domain.Page<Camera> japPage = pageCamera(page, param);
+ page.setEntityCount((int) japPage.getTotalElements());
+ page.setEntities(japPage.getContent());
+ }
+
+ public org.springframework.data.domain.Page<Camera> pageCamera(Page<Camera> page, Map<String, Object> param) {
+ if (null == param) {
+ param = new HashMap<>();
+ }
+ Map<String, Object> finalParam = param;
+
+ //澶氬弬鏁板垎椤垫煡璇�
+ Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.ASC, Camera.SORT_PROP);
+ Specification<Camera> specification = new Specification<Camera>() {
+ private static final long serialVersionUID = 1L;
+
+ public Predicate toPredicate(Root<Camera> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+ List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+ Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId());
+ predicates.add(predicate1);
+ Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null));
+ predicates.add(predicate2);
+
+ String key = (String) finalParam.get("bizType");
+ if (StringUtils.isNotEmpty(key)) {
+ Predicate predicate3 = cb.equal(root.get("bizType"), key);
+ predicates.add(predicate3);
+ }
+ key = (String) finalParam.get("name");
+ if (StringUtils.isNotEmpty(key)) {
+ Predicate predicate4 = cb.like(root.get("name"), "%" + key + "%");
+ predicates.add(predicate4);
+ }
+ key = (String) finalParam.get("brand");
+ if (StringUtils.isNotEmpty(key)) {
+ Predicate predicate5 = cb.equal(root.get("brand"), key);
+ predicates.add(predicate5);
+ }
+ key = (String) finalParam.get("spjklx");
+ if (StringUtils.isNotEmpty(key)) {
+ Predicate predicate5 = cb.equal(root.get("spjklx"), key);
+ predicates.add(predicate5);
+ }
+ key = (String) finalParam.get("spdwlx");
+ if (StringUtils.isNotEmpty(key)) {
+ Predicate predicate5 = cb.equal(root.get("spdwlx"), key);
+ predicates.add(predicate5);
+ }
+ return cb.and(predicates.toArray(new Predicate[0]));
+ }
+ };
+ org.springframework.data.domain.Page<Camera> japPage = secCameraService.findAll(specification, pageable);
+ return japPage;
+ }
+
+ /**
+ * secCameraPR#listCamera 鑾峰彇鎵�鏈夌殑鎽勫儚鏈洪厤缃俊鎭�
+ * ${dorado.getDataProvider("secCameraPR#listCamera").getResult()}
+ * @return
+ */
+ @DataProvider
+ public List<Camera> listCamera() {
+ return secCameraService.listCamera();
+ }
+
+ /**
+ * secCameraPR#saveCamera
+ *
+ * @param data
+ */
+ @DataResolver
+ public void saveCamera(Camera data) {
+ Camera secCamera = new Camera();
+ BeanUtils.copyProperties(data, secCamera);
+ secCameraService.saveCamera(secCamera);
+ }
+
+ /**
+ * secCameraPR#delCamera
+ *
+ * @param data
+ * @return
+ */
+ @Expose
+ public String delCamera(Camera data) {
+ Camera secCamera = new Camera();
+ BeanUtils.copyProperties(data, secCamera);
+ return secCameraService.delCamera(secCamera);
+ }
+
+ /***
+ * secCameraPR#refreshCache
+ * @return
+ */
+ @Expose
+ public String refreshCache() {
+ secCameraService.refreshCache(ContextUtil.getCompanyId());
+ return null;
+ }
+
+ /***
+ * securityPR#flushByMedia
+ *
+ * 鑾峰彇鎽勫儚澶村垪琛ㄤ俊鎭�
+ * @return
+ */
+ @Expose
+ public String flushByMedia(String playType) {
+
+ if (null == playType){
+ return "娌℃湁閫夋嫨鎾斁鏂瑰紡锛屾墽琛屽け璐�";
+ }
+
+// try {
+// if (CameraUtil.PLAY_TYPE_MEDIA_HIK.equals(playType)) {
+// ApiCameraData apiCameraData = new ApiCameraData();
+// apiCameraData.setCompanyId(ContextUtil.getCompanyId());
+// apiCameraData.setDeptId(ContextUtil.subDeptId(null));
+// apiCameraData.setPlayType(playType);
+// List<SecCameraDto> list = apiCameraManager.getApiCameraService(playType).searchCamera(apiCameraData);
+// if(list == null){
+// return "鍚屾澶辫触锛�";
+// }else {
+// return "鍚屾鎴愬姛锛�";
+// }
+// }
+ return "褰撳墠鎾斁鏂瑰紡娌℃湁姝ゅ姛鑳斤紒";
+//
+// }catch (Exception e){
+// log.error("-----鍚屾鎽勫儚澶村垪琛ㄥけ璐�-----鍘熷洜={}", e.toString());
+// return "杩滅▼鎺ュ彛鏈嶅姟寮傚父锛岃鏍告煡鍚庨噸璇曪紒";
+// }
+
+ }
+
+}
--
Gitblit v1.9.3