From dfd793f14e51c48c3322f1b36f543179043bd45d Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期日, 22 十月 2023 18:25:27 +0800
Subject: [PATCH] 更新仓内抓拍

---
 igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java       |   14 +
 igds-web/src/main/resources/d7/css/common.css                                |   16 +
 igds-core/src/main/java/com/ld/igds/file/CoreFileService.java                |    9 +
 igds-inout/src/main/java/com/ld/igds/inout/service/HInoutReportService.java  |   10 
 igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java             |    4 
 igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java    |  194 ++++++++++++++-------
 igds-security/src/main/java/com/ld/igds/sec/service/SecSnapDepotService.java |   51 +++++
 igds-web/src/main/resources/static/img/aerial-5000_001.png                   |    0 
 igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepotPR.java         |   44 ++++
 igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml       |  151 ++++++++++++----
 igds-web/src/main/resources/static/images/img-fail.jpg                       |    0 
 igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java          |   17 +
 12 files changed, 398 insertions(+), 112 deletions(-)

diff --git a/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java b/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
index 7ba2429..4398625 100644
--- a/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
+++ b/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
@@ -2,16 +2,20 @@
 
 import com.ld.igds.basic.manager.FileManager;
 import com.ld.igds.data.PageResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
 import java.io.*;
 import java.net.URLEncoder;
 
@@ -25,81 +29,145 @@
 @RequestMapping("basic/file")
 public class FileController {
 
-    @Autowired
-    private FileManager fileManager;
+	@Autowired
+	private FileManager fileManager;
 
-    /**
-     * 闀夸紶 鍑哄叆搴撳浘鐗�
-     *
-     * @param file
-     * @param request
-     * @return
-     * @throws IOException
-     */
-    @RequestMapping("/update-file")
-    public PageResponse<String> updateAreationPos(
-            @RequestParam(value = "file", required = true) MultipartFile file,
-            HttpServletRequest request) throws IOException {
+	/**
+	 * 闀夸紶 鍑哄叆搴撳浘鐗�
+	 *
+	 * @param file
+	 * @param request
+	 * @return
+	 * @throws IOException
+	 */
+	@RequestMapping("/update-file")
+	public PageResponse<String> updateAreationPos(
+			@RequestParam(value = "file", required = true) MultipartFile file,
+			HttpServletRequest request) throws IOException {
 
-        String plateNum = request.getParameter("plateNum");
+		String plateNum = request.getParameter("plateNum");
 
-        return fileManager.upLoadInoutImg(file, plateNum);
-    }
+		return fileManager.upLoadInoutImg(file, plateNum);
+	}
 
+	/**
+	 * 涓嬭浇浠庝复鏃剁洰褰曚笅杞斤紝闇�瑕侀」鐩悕绉板拰褰撳墠缁勭粐
+	 *
+	 * @param request
+	 * @return
+	 * @throws IOException
+	 */
+	@RequestMapping("/download-temp")
+	public int downloadTemp(
+			@RequestParam(value = "fileName", required = false) String fileName,
+			@RequestParam(value = "companyId", required = false) String companyId,
+			HttpServletRequest request, HttpServletResponse response)
+			throws IOException {
 
-    /**
-     * 涓嬭浇浠庝复鏃剁洰褰曚笅杞斤紝闇�瑕侀」鐩悕绉板拰褰撳墠缁勭粐
-     *
-     * @param request
-     * @return
-     * @throws IOException
-     */
-    @RequestMapping("/download-temp")
-    public int downloadTemp(
-            @RequestParam(value = "fileName", required = false) String fileName,
-            @RequestParam(value = "companyId", required = false) String companyId,
-            HttpServletRequest request, HttpServletResponse response) throws IOException {
+		if (StringUtils.isEmpty(fileName) || StringUtils.isEmpty(companyId)) {
+			response.sendError(404, "缂哄皯涓嬭浇鍙傛暟鏉′欢锛屾棤娉曟墽琛屼笅杞姐��");
+			return 404;
+		}
+		File file = fileManager.getTempFilePath(fileName, companyId);
 
-        if (StringUtils.isEmpty(fileName) || StringUtils.isEmpty(companyId)) {
-            response.sendError(404, "缂哄皯涓嬭浇鍙傛暟鏉′欢锛屾棤娉曟墽琛屼笅杞姐��");
-            return 404;
-        }
-        File file = fileManager.getTempFilePath(fileName, companyId);
+		if (!file.exists()) {
+			response.sendError(404, "娌℃湁鑾峰彇鍒伴渶瑕佷笅杞界殑鏂囦欢锛屽彲鑳藉凡琚垹闄�");
+			return 404;
+		}
 
-        if (!file.exists()) {
-            response.sendError(404, "娌℃湁鑾峰彇鍒伴渶瑕佷笅杞界殑鏂囦欢锛屽彲鑳藉凡琚垹闄�");
-            return 404;
-        }
+		response.setContentType("application/octet-stream");
+		response.setHeader("content-type", "application/octet-stream");
+		response.setHeader("Content-Length", String.valueOf(file.length()));
+		response.setHeader("Content-Disposition", "attachment;fileName="
+				+ URLEncoder.encode(fileName, "utf8"));
+		byte[] buffer = new byte[1024];
 
+		OutputStream os;
+		try (FileInputStream fis = new FileInputStream(file);
+				BufferedInputStream bis = new BufferedInputStream(fis)) {
+			os = response.getOutputStream();
+			int i = bis.read(buffer);
+			while (i != -1) {
+				os.write(buffer);
+				i = bis.read(buffer);
+			}
 
-        response.setContentType("application/octet-stream");
-        response.setHeader("content-type", "application/octet-stream");
-        response.setHeader("Content-Length", String.valueOf(file.length()));
-        response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "utf8"));
-        byte[] buffer = new byte[1024];
+			fis.close();
+			bis.close();
+			os.close();
+			os.flush();
+		} catch (Exception e) {
+			response.sendError(500, "鏂囦欢涓嬭浇鍑洪敊锛�" + e.getMessage());
 
-        OutputStream os;
-        try (FileInputStream fis = new FileInputStream(file);
-             BufferedInputStream bis = new BufferedInputStream(fis)) {
-            os = response.getOutputStream();
-            int i = bis.read(buffer);
-            while (i != -1) {
-                os.write(buffer);
-                i = bis.read(buffer);
-            }
+			log.error("------------鏂囦欢涓嬭浇澶辫触--{}", e);
+			return 500;
+		}
 
-            fis.close();
-            bis.close();
-            os.close();
-            os.flush();
-        } catch (Exception e) {
-            response.sendError(500, "鏂囦欢涓嬭浇鍑洪敊锛�" + e.getMessage());
+		return 200;
+	}
 
-            log.error("------------鏂囦欢涓嬭浇澶辫触--{}", e);
-            return 500;
-        }
+	/**
+	 * 鏂囦欢娴佽幏鍙栧浘鐗囨樉绀哄埌椤甸潰--閽堝浠撳唴鎶撴媿
+	 *
+	 * @param fileName
+	 * @param timeStr
+	 *            鎶撴媿鐨勫勾鏈堟棩鏃跺垎绉� yyyyMMddHHmmss
+	 * @param response
+	 * @return
+	 * @throws IOException
+	 */
+	@RequestMapping(value = "/view-snap-depot", method = RequestMethod.GET, produces = { "application/vnd.ms-excel;charset=UTF-8" })
+	public String getDepotSnap(String fileName, String timeStr,
+			HttpServletResponse response) throws IOException {
 
-        return 200;
-    }
+		// 璁剧疆杩斿洖鍐呭鏍煎紡
+		response.setContentType("image/jpeg/jpg/png/gif/bmp/tiff/svg");
+
+		String filePath;
+		// 鍒涘缓涓�涓緭鍏ユ祦
+		InputStream in = null;
+		// 鍒涘缓杈撳嚭娴�
+		OutputStream os = null;
+		try {
+			if (null == fileName || null == timeStr) {
+				filePath = fileManager.getFailImg();
+			}else{
+				filePath = fileManager.getSnapFilePath(fileName, timeStr);
+				
+				File file = new File(filePath);
+				
+				if(file.exists()){
+					log.debug("----鎶撴媿鍥剧墖鍦板潃-------{}", filePath);
+				}else{
+					filePath = fileManager.getFailImg();
+					log.debug("----鏈幏鍙栧埌鍥剧焊锛岄粯璁ゅ湴鍧�-------{}", filePath);
+				}
+			}
+
+			// 鐢ㄨ鏂囦欢鍒涘缓涓�涓緭鍏ユ祦
+			in = new FileInputStream(filePath);
+			// 鍒涘缓杈撳嚭娴�
+			os = response.getOutputStream();
+			byte[] b = new byte[1024];
+			while (in.read(b) != -1) {
+				os.write(b);
+			}
+			in.close();
+			os.close();
+
+			return null;
+
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
+		} finally {
+			if (null != in) {
+				in.close();
+			}
+			if (null != os) {
+				os.close();
+			}
+		}
+	}
 
 }
diff --git a/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java b/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
index 2be929e..671ff63 100644
--- a/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
+++ b/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
@@ -5,13 +5,17 @@
 import com.ld.igds.file.CoreFileService;
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.FilesUtil;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Component;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
@@ -160,4 +164,17 @@
         String path = filesUtil.getTempPath(companyId) + "/" + fileName;
         return new File(path);
     }
+    
+    public String getSnapFilePath(String fileName, String dateStr) {
+       return  fileService.getSnapFilePath(dateStr) + "/" + fileName;
+    }
+
+	public String getFailImg() throws IOException {
+		
+		String failImg = "static/images/img-fail.jpg";
+		
+		ClassPathResource readFile = new ClassPathResource(failImg);
+		
+		return readFile.getFile().getAbsolutePath();
+	}
 }
diff --git a/igds-core/src/main/java/com/ld/igds/file/CoreFileService.java b/igds-core/src/main/java/com/ld/igds/file/CoreFileService.java
index 89be5d4..381f6c7 100644
--- a/igds-core/src/main/java/com/ld/igds/file/CoreFileService.java
+++ b/igds-core/src/main/java/com/ld/igds/file/CoreFileService.java
@@ -48,6 +48,15 @@
      * @return
      */
     public String getSnapFilePath(Date date);
+    
+    /**
+     * 鏍规嵁鏃堕棿鑾峰彇绯荤粺閰嶇疆鐨勪粨鍐呰棰戞姄鎷嶈矾寰�
+     * 绯荤粺闄勪欢璺緞浠yyyMM涓虹洰褰曡繘琛屽垝鍒�
+     *
+     * @param date
+     * @return
+     */
+    public String getSnapFilePath(String date);
 
     /**
      * 鏍规嵁鏃堕棿鑾峰彇绯荤粺閰嶇疆鐨勯檮浠惰矾寰勫湴鍧�
diff --git a/igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java b/igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java
index b8394e4..29ced86 100644
--- a/igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java
+++ b/igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java
@@ -48,6 +48,20 @@
         }
         return basePath;
     }
+    
+    @Override
+    public String getSnapFilePath(String dateStr) {
+        if (null == dateStr) return null;
+        
+        if(dateStr.length()>6) dateStr = dateStr.substring(0, 6);
+        
+        String basePath = configData.getFilePath() + "SNAP/" + dateStr+ "/";
+        File file = new File(basePath);
+        if (!file.exists()) {
+            file.mkdirs();
+        }
+        return basePath;
+    }
 
     @Override
     public String getCommonFilePath(Date date) {
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutReportService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutReportService.java
index 3083052..3a863c0 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutReportService.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutReportService.java
@@ -18,7 +18,7 @@
 
         String hql = " from " + InoutRecord.class.getName()
                 + " where companyId=:companyId ";
-        Map<String, Object> args = new HashMap<String, Object>();
+        Map<String, Object> args = new HashMap<>();
         args.put("companyId", ContextUtil.getCompanyId());
 
         if (null != param) {
@@ -38,14 +38,8 @@
             if (StringUtils.isNotEmpty(str)) {
                 hql += " and type=:type ";
                 args.put("type", str);
-            }
-
-            str = (String) param.get("type");
-            if (StringUtils.isEmpty(str)) {
+            }else{
                 hql += " and type <> 'LOSS' and type <> 'OVER'";
-            } else {
-                hql += " and type=:type ";
-                args.put("type", str);
             }
 
             str = (String) param.get("customerId");
diff --git a/igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java b/igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java
index c15c721..e713b26 100644
--- a/igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java
+++ b/igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java
@@ -44,11 +44,11 @@
     private String result="SUCCESS";
 
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
-    @Column(name = "UPDATE_TIME_", length = 1)
+    @Column(name = "UPDATE_TIME_")
     @PropertyDef(label = "鎶撴媿鏃堕棿")
     private Date updateTime;
 
-    @Column(name = "FILE_SUFFIX_", length = 6)
+    @Column(name = "FILE_SUFFIX_", length = 4)
     @PropertyDef(label = "鍥惧儚鏂囦欢鍚庣紑鍚�")
     private String fileSuffix = "jpg";
 
diff --git a/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapDepotService.java b/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapDepotService.java
new file mode 100644
index 0000000..dc525f6
--- /dev/null
+++ b/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapDepotService.java
@@ -0,0 +1,51 @@
+package com.ld.igds.sec.service;
+
+import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
+import com.bstek.dorado.data.provider.Page;
+import com.ld.igds.models.SecSnapDepot;
+import com.ld.igds.util.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Repository
+public class SecSnapDepotService extends HibernateDao {
+
+
+    public void pageSnapDepot(Page<SecSnapDepot> page, Map<String, Object> param) throws Exception {
+
+        String hql = " from " + SecSnapDepot.class.getName()
+                + " where companyId=:companyId and deptId=:deptId";
+
+        Map<String, Object> args = new HashMap<>();
+
+        args.put("companyId", param.get("companyId"));
+        args.put("deptId", param.get("deptId"));
+
+        String str = (String) param.get("depotId");
+        if (StringUtils.isNotEmpty(str)) {
+            hql += " and depotId =:depotId";
+            args.put("depotId", str);
+        }
+
+        Date date = (Date) param.get("start");
+        if (null != date) {
+            hql += " and updateTime >=:start";
+            args.put("start", DateUtil.getCurZero(date));
+        }
+        date = (Date) param.get("end");
+        if (null != date) {
+            hql += " and updateTime <:end";
+            args.put("end", DateUtil.getNextZero(date));
+        }
+
+        String countHql = "select count(1) " + hql;
+
+        hql += " order by updateTime desc";
+
+        this.pagingQuery(page, hql, countHql, args);
+    }
+}
diff --git a/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml b/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml
index 0a73e8e..e273e91 100644
--- a/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml
+++ b/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml
@@ -73,55 +73,124 @@
         <Property name="label">鏇存柊鏃堕棿</Property>
       </PropertyDef>
     </DataType>
+    <DataType name="dtQuery">
+      <PropertyDef name="depotId">
+        <Property/>
+        <Property name="label">鎵�灞炰粨搴�</Property>
+      </PropertyDef>
+      <PropertyDef name="start">
+        <Property name="label">璧峰鏃ユ湡</Property>
+        <Property name="dataType">Date</Property>
+      </PropertyDef>
+      <PropertyDef name="end">
+        <Property name="label">鎴鏃ユ湡</Property>
+        <Property name="dataType">Date</Property>
+      </PropertyDef>
+    </DataType>
   </Model>
   <View layout="padding:5;regionPadding:5">
     <Property name="packages">font-awesome,css-common</Property>
     <DataSet id="dsMain">
       <Property name="loadMode">lazy</Property>
       <Property name="dataType">[dtMain]</Property>
+      <Property name="dataProvider">secSnapDepotPR#pageSnapDepot</Property>
+      <Property name="pageSize">12</Property>
     </DataSet>
     <DataSet id="dsConf">
       <Property name="dataType">[dtConf]</Property>
     </DataSet>
-    <ToolBar>
-      <ToolBarLabel>
-        <Property name="text">鑿滃崟鏍忥細</Property>
-      </ToolBarLabel>
-      <Fill/>
-      <ToolBarButton>
-        <ClientEvent name="onClick">view.get(&quot;#dialogConf&quot;).show();&#xD;
-</ClientEvent>
-        <Property name="caption">鎶撴媿閰嶇疆</Property>
-      </ToolBarButton>
-    </ToolBar>
-    <Container layout="regionPadding:10" layoutConstraint="center">
-      <Property name="exClassName">bg-color</Property>
-      <DataGrid layoutConstraint="center padding:5px">
-        <Property name="dataSet">dsMain</Property>
-        <Property name="readOnly">true</Property>
-        <RowNumColumn>
-          <Property name="width">50</Property>
-        </RowNumColumn>
-        <DataColumn name="depotId">
-          <Property name="property">depotId</Property>
-        </DataColumn>
-        <DataColumn name="updateTime">
-          <Property name="property">updateTime</Property>
-        </DataColumn>
-        <DataColumn name="zpsj">
-          <Property name="property">zpsj</Property>
-        </DataColumn>
-        <DataColumn name="txwjhzm">
-          <Property name="property">txwjhzm</Property>
-        </DataColumn>
-        <DataColumn name="wjmc">
-          <Property name="property">wjmc</Property>
-        </DataColumn>
-        <DataColumn name="yzwbh">
-          <Property name="property">yzwbh</Property>
-        </DataColumn>
-      </DataGrid>
-    </Container>
+    <DataSet id="dsQuery">
+      <ClientEvent name="onReady">self.insert({});</ClientEvent>
+      <Property name="dataType">dtQuery</Property>
+    </DataSet>
+    <Panel layout="regionPadding:10">
+      <Property name="caption">瑙嗛鍥惧儚淇℃伅绠$悊</Property>
+      <Property name="iconClass">fa fa-bars</Property>
+      <Buttons/>
+      <Children>
+        <Container>
+          <Property name="contentOverflow">hidden</Property>
+          <Property name="exClassName">bg-color</Property>
+          <AutoForm>
+            <Property name="cols">80,*,*,*,*</Property>
+            <Property name="dataSet">dsQuery</Property>
+            <Label>
+              <Property name="text">鏌ヨ鏉′欢锛�</Property>
+            </Label>
+            <AutoFormElement>
+              <Property name="name">depotId</Property>
+              <Property name="property">depotId</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement>
+              <Property name="name">start</Property>
+              <Property name="property">start</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement>
+              <Property name="name">end</Property>
+              <Property name="property">end</Property>
+              <Editor/>
+            </AutoFormElement>
+            <Container layout="regionPadding:10">
+              <Button layoutConstraint="left">
+                <ClientEvent name="onClick">var entity = view.get(&quot;#dsQuery.data:#&quot;);&#xD;
+view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,entity).flushAsync(function(){&#xD;
+	$notify(&quot;鏌ヨ鎴愬姛锛�&quot;);&#xD;
+});</ClientEvent>
+                <Property name="caption">鏌ヨ</Property>
+                <Property name="exClassName">btn-normal</Property>
+                <Property name="iconClass">fa fa-search</Property>
+              </Button>
+              <Button layoutConstraint="left">
+                <ClientEvent name="onClick">view.get(&quot;#dsQuery&quot;).setData({});</ClientEvent>
+                <Property name="caption">閲嶇疆</Property>
+                <Property name="exClassName">btn-warn</Property>
+                <Property name="iconClass">fa fa-refresh</Property>
+              </Button>
+              <Button layoutConstraint="left">
+                <ClientEvent name="onClick">view.get(&quot;#dialogConf&quot;).show();</ClientEvent>
+                <Property name="caption">鎶撴媿閰嶇疆</Property>
+                <Property name="exClassName">btn-default</Property>
+                <Property name="iconClass">fa fa-cogs</Property>
+              </Button>
+            </Container>
+          </AutoForm>
+        </Container>
+        <Container layoutConstraint="center">
+          <Property name="exClassName">bg-color</Property>
+          <DataBlockView>
+            <ClientEvent name="onRenderBlock">&#xD;
+var time = arg.data.get(&quot;zpsj&quot;).formatDate(&quot;Y-m-d H:i&quot;);&#xD;
+var hwdm = arg.data.getText(&quot;hwdm&quot;);&#xD;
+var cfdm = arg.data.getText(&quot;cfdm&quot;);&#xD;
+var kqdm = arg.data.getText(&quot;kqdm&quot;);&#xD;
+var imgSrc = &quot;../../grain/file/get-depot-snap?filePath=&quot;+arg.data.get(&quot;wjdz&quot;);&#xD;
+var htm = &quot;&lt;div>&lt;img src='&quot;+imgSrc+&quot;' style='height:250px; width:100%;'>&lt;div>&lt;span style='padding-left:10px;'>搴撳尯锛�&quot;+kqdm+&quot;&lt;/span>&lt;span style='float:right;padding-right:10px;'>浠撴埧锛�&quot;+cfdm+&quot;&lt;/span>&lt;/div>&lt;div>&lt;span style='padding-left:10px;'>璐т綅锛�&quot;+hwdm+&quot;&lt;/span>&lt;span style='float:right;padding-right:10px;'>鏃堕棿锛�&quot;+time+&quot;&lt;/span>&lt;/div>&lt;/div>&quot;;&#xD;
+&#xD;
+arg.dom.innerHTML = htm;&#xD;
+arg.progressDefault=false;</ClientEvent>
+            <Property name="dataSet">dsMain</Property>
+            <Property name="blockHeight">300</Property>
+            <Property name="blockWidth">390</Property>
+            <Property name="blockLayout">vertical</Property>
+            <Property name="horiPadding">15</Property>
+            <Property name="horiSpacing">15</Property>
+            <Property name="vertPadding">15</Property>
+            <Property name="vertSpacing">15</Property>
+            <Property name="lineSize">4</Property>
+          </DataBlockView>
+        </Container>
+        <ToolBar layoutConstraint="bottom">
+          <Fill/>
+          <DataPilot layoutConstraint="right">
+            <Property name="dataSet">dsMain</Property>
+            <Property name="itemCodes">pageSize,pages</Property>
+          </DataPilot>
+        </ToolBar>
+      </Children>
+      <Tools/>
+    </Panel>
     <Dialog id="dialogConf">
       <Buttons/>
       <Children>
@@ -145,5 +214,9 @@
       </Children>
       <Tools/>
     </Dialog>
+    <AjaxAction id="ajaxDel">
+      <Property name="service">videoImgPR#delData</Property>
+      <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property>
+    </AjaxAction>
   </View>
 </ViewConfig>
diff --git a/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepotPR.java b/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepotPR.java
new file mode 100644
index 0000000..e99feef
--- /dev/null
+++ b/igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepotPR.java
@@ -0,0 +1,44 @@
+package com.ld.igds.sec.view;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.data.provider.Page;
+import com.ld.igds.models.SecSnapDepot;
+import com.ld.igds.sec.service.SecSnapDepotService;
+import com.ld.igds.util.ContextUtil;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author: andy.jia
+ * @description: 浠撳唴鎶撴媿淇℃伅鑾峰彇绠$悊
+ * @version:
+ */
+@Component
+public class SecSnapDepotPR {
+
+    @Resource
+    private SecSnapDepotService snapDepotService;
+
+
+    /**
+     * secSnapDepotPR#pageSnapDepot
+     *
+     * @param param
+     * @throws Exception
+     */
+    @DataProvider
+    public void pageSnapDepot(Page<SecSnapDepot> page, Map<String, Object> param)
+            throws Exception {
+
+        if(null == param) param = new HashMap<>();
+        param.put("companyId", ContextUtil.getCompanyId());
+        param.put("deptId", ContextUtil.subDeptId(null));
+
+		snapDepotService.pageSnapDepot(page,param);
+    }
+
+
+}
diff --git a/igds-web/src/main/resources/d7/css/common.css b/igds-web/src/main/resources/d7/css/common.css
index 87d45aa..0ef0389 100644
--- a/igds-web/src/main/resources/d7/css/common.css
+++ b/igds-web/src/main/resources/d7/css/common.css
@@ -2,6 +2,22 @@
 
 /** 閲嶅啓D7鐨勯厤缃�**/
 
+/** block **/
+
+/** 娉ㄦ剰寮哄埗涓�4鍒� **/
+.block{
+    width:24.2% !important;
+}
+
+.d-block-view .block{
+    border: 1px solid #39aef5;
+}
+
+.d-block-view .block-current{
+    border: 1px solid #39aef5;
+}
+
+
 /** dataGrid鐨勮〃澶� **/
 .d-grid .header-table .header .caption {
     margin-left: 4px;
diff --git a/igds-web/src/main/resources/static/images/img-fail.jpg b/igds-web/src/main/resources/static/images/img-fail.jpg
new file mode 100644
index 0000000..b642daf
--- /dev/null
+++ b/igds-web/src/main/resources/static/images/img-fail.jpg
Binary files differ
diff --git a/igds-web/src/main/resources/static/img/aerial-5000_001.png b/igds-web/src/main/resources/static/img/aerial-5000_001.png
new file mode 100644
index 0000000..ad4e6ee
--- /dev/null
+++ b/igds-web/src/main/resources/static/img/aerial-5000_001.png
Binary files differ

--
Gitblit v1.9.3