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