From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 06 十一月 2023 23:40:59 +0800 Subject: [PATCH] 更新仓内抓拍2 --- igds-security/src/main/java/com/ld/igds/sec/service/SecurityService.java | 1 igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java | 4 igds-core/src/main/java/com/ld/igds/data/ConfigData.java | 6 igds-security/src/main/java/com/ld/igds/sec/service/impl/CoreSecFireServiceImpl.java | 1 igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepot.view.xml | 187 +++++++++++--- igds-security/src/main/java/com/ld/igds/timer/JobLampService.java | 1 igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java | 189 +++++++------ igds-inout/src/main/java/com/ld/igds/timer/DepotBookStoreScheduled.java | 3 igds-parent-pom/pom.xml | 6 /dev/null | 62 ---- igds-security/src/main/java/com/ld/igds/models/SecSnapConf.java | 17 + igds-security/src/main/java/com/ld/igds/models/SecSnapDepot.java | 27 + igds-web/src/main/resources/templates/index/index.html | 2 igds-web/src/main/resources/templates/admin/home.html | 6 igds-security/src/main/java/com/ld/igds/sec/service/SecSnapDepotService.java | 98 +++++++ igds-security/src/main/java/com/ld/igds/sec/view/SecSnapDepotPR.java | 105 +++++++ igds-web/src/main/resources/media.properties | 1 igds-web/pom.xml | 23 + 18 files changed, 504 insertions(+), 235 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 4398625..1ce6b66 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 @@ -111,12 +111,12 @@ * * @param fileName * @param timeStr - * 鎶撴媿鐨勫勾鏈堟棩鏃跺垎绉� yyyyMMddHHmmss + * 鎶撴媿鐨勫勾鏈堟棩鏃跺垎绉� yyyyMMdd * @param response * @return * @throws IOException */ - @RequestMapping(value = "/view-snap-depot", method = RequestMethod.GET, produces = { "application/vnd.ms-excel;charset=UTF-8" }) + @RequestMapping(value = "/get-snap-depot", method = RequestMethod.GET, produces = { "application/vnd.ms-excel;charset=UTF-8" }) public String getDepotSnap(String fileName, String timeStr, HttpServletResponse response) throws IOException { diff --git a/igds-core/src/main/java/com/ld/igds/data/ConfigData.java b/igds-core/src/main/java/com/ld/igds/data/ConfigData.java index b0a3065..8d6318b 100644 --- a/igds-core/src/main/java/com/ld/igds/data/ConfigData.java +++ b/igds-core/src/main/java/com/ld/igds/data/ConfigData.java @@ -36,10 +36,4 @@ @Value("${igds.weather-path}") private String weatherPath; - /** - * 鎶撴媿鏃堕棿閰嶇疆 - */ - @Value("${igds.default.snap-time}") - private int snapTime = -1; - } diff --git a/igds-inout/src/main/java/com/ld/igds/timer/DepotBookStoreScheduled.java b/igds-inout/src/main/java/com/ld/igds/timer/DepotBookStoreScheduled.java index 7889cae..90a74d0 100644 --- a/igds-inout/src/main/java/com/ld/igds/timer/DepotBookStoreScheduled.java +++ b/igds-inout/src/main/java/com/ld/igds/timer/DepotBookStoreScheduled.java @@ -32,9 +32,6 @@ public static final String BEAN_ID = "inout.depotBookStoreScheduled"; @Resource - private InoutService inoutService; - - @Resource private CoreCommonService commonService; /** diff --git a/igds-parent-pom/pom.xml b/igds-parent-pom/pom.xml index 3e6bdec..cfdd261 100644 --- a/igds-parent-pom/pom.xml +++ b/igds-parent-pom/pom.xml @@ -39,12 +39,6 @@ </exclusion> </exclusions> </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-websocket</artifactId> - <version>${spring.boot.version}</version> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/igds-security/src/main/java/com/ld/igds/models/SecSnapConf.java b/igds-security/src/main/java/com/ld/igds/models/SecSnapConf.java index bf58aeb..1432f61 100644 --- a/igds-security/src/main/java/com/ld/igds/models/SecSnapConf.java +++ b/igds-security/src/main/java/com/ld/igds/models/SecSnapConf.java @@ -16,7 +16,6 @@ @Entity @Table(name = "D_SEC_SNAP_CONF") public class SecSnapConf { - @Id @Column(name = "ID_", length = 40) @PropertyDef(label = "涓婚敭") @@ -29,7 +28,7 @@ @Column(name = "DEPT_ID_", length = 30) @PropertyDef(label = "鎵�灞炲垎搴�") private String deptId; - + @Column(name = "DEPOT_ID_", length = 50) @PropertyDef(label = "鎵�灞炰粨搴�") private String depotId; @@ -38,7 +37,19 @@ @PropertyDef(label = "鍏宠仈鎽勫儚澶�") private String cameraId; - @Column(name = "UPDATE_TIME_", length = 1) + @Column(name = "ACT_HOUR1_") + @PropertyDef(label = "鎵ц鏃堕棿1") + private int actHour1; + + @Column(name = "ACT_HOUR2_") + @PropertyDef(label = "鎵ц鏃堕棿2") + private int actHour2; + + @Column(name = "ACT_HOUR3_") + @PropertyDef(label = "鎵ц鏃堕棿3") + private int actHour3; + + @Column(name = "UPDATE_TIME_") @PropertyDef(label = "鏇存柊鏃堕棿") private Date updateTime; } 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 e713b26..5e528d0 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 @@ -38,10 +38,10 @@ @Column(name = "CAMERA_ID_", length = 50) @PropertyDef(label = "鍏宠仈鎽勫儚澶�") private String cameraId; - + @Column(name = "RESULT_", length = 30) @PropertyDef(label = "鎶撴媿缁撴灉") - private String result="SUCCESS"; + private String result = "SUCCESS"; @JSONField(format = "yyyy-MM-dd HH:mm:ss") @Column(name = "UPDATE_TIME_") @@ -60,4 +60,27 @@ @PropertyDef(label = "棰勭疆浣嶇紪鍙�") private String preset; + public SecSnapDepot() { + } + + public SecSnapDepot(String id, String companyId, String deptId, String depotId, String cameraId, String result, Date updateTime, String fileSuffix, String fileName, String preset) { + this.id = id; + this.companyId = companyId; + this.deptId = deptId; + this.depotId = depotId; + this.cameraId = cameraId; + this.result = result; + this.updateTime = updateTime; + this.fileSuffix = fileSuffix; + this.fileName = fileName; + this.preset = preset; + } + + public SecSnapDepot(String tag) { + if ("TEST".equals(tag)) { + this.id = "TEST"; + this.fileName = "./static/images/img-fail.jpg"; + this.updateTime = new Date(); + } + } } 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 index dc525f6..f5e606b 100644 --- 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 @@ -2,13 +2,19 @@ import com.bstek.bdf2.core.orm.hibernate.HibernateDao; import com.bstek.dorado.data.provider.Page; +import com.ld.igds.models.SecSnapConf; import com.ld.igds.models.SecSnapDepot; +import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; + import org.apache.commons.lang3.StringUtils; +import org.hibernate.Query; +import org.hibernate.Session; import org.springframework.stereotype.Repository; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Repository @@ -48,4 +54,96 @@ this.pagingQuery(page, hql, countHql, args); } + + + /** + * 鏍规嵁鏉′欢鑾峰彇閰嶇疆绫诲埆 + * + * @param companyId 缁勭粐缂栫爜锛屼笉鍙负绌� + * @param deptId 鎵�灞炲垎搴擄紝鍙负绌� + * @return 鏌ヨ缁撴灉 + */ + public List<SecSnapConf> listSnapConf(String companyId, String deptId) { + String hql = " from " + SecSnapConf.class.getName() + + " where companyId=:companyId"; + + Map<String, Object> args = new HashMap<>(); + args.put("companyId", companyId); + if (StringUtils.isNotEmpty(deptId)) { + hql += " and deptId =:deptId"; + args.put("deptId", deptId); + } + + return this.query(hql, args); + } + + public void addData(SecSnapConf snapConf, String fileName, String result) { + Session session = this.getSessionFactory().openSession(); + try { + SecSnapDepot data = new SecSnapDepot(); + data.setId(ContextUtil.getUUID()); + data.setCompanyId(snapConf.getCompanyId()); + data.setDeptId(snapConf.getDeptId()); + data.setResult(result); + data.setUpdateTime(new Date()); + data.setFileSuffix("jpg"); + data.setFileName(fileName); + session.save(data); + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } + + + public void addConf(SecSnapConf conf) { + Session session = this.getSessionFactory().openSession(); + try { + conf.setId(ContextUtil.getUUID()); + conf.setUpdateTime(new Date()); + session.save(conf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } + + + public void updateConf(SecSnapConf conf) { + Session session = this.getSessionFactory().openSession(); + try { + conf.setUpdateTime(new Date()); + session.save(conf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } + + + public void updateActHour(SecSnapConf conf) { + String hql = " update "+SecSnapConf.class.getName()+" set actHour1=:actHour1,actHour2=:actHour2,actHour3=:actHour3 where companyId=:companyId and deptId=:deptId"; + + Session session = this.getSessionFactory().openSession(); + try { + Query q = session.createQuery(hql); + q.setInteger("actHour1", conf.getActHour1()); + q.setInteger("actHour2", conf.getActHour2()); + q.setInteger("actHour3", conf.getActHour3()); + q.setString("companyId", conf.getCompanyId()); + q.setString("deptId", conf.getDeptId()); + q.executeUpdate(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } } diff --git a/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapService.java b/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapService.java deleted file mode 100644 index 7dce8b4..0000000 --- a/igds-security/src/main/java/com/ld/igds/sec/service/SecSnapService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ld.igds.sec.service; - -import com.bstek.bdf2.core.orm.hibernate.HibernateDao; -import com.ld.igds.models.SecSnapConf; -import com.ld.igds.models.SecSnapDepot; -import com.ld.igds.util.ContextUtil; -import org.apache.commons.lang3.StringUtils; -import org.hibernate.Session; -import org.springframework.stereotype.Component; - -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@Component -public class SecSnapService extends HibernateDao { - - - /** - * 鏍规嵁鏉′欢鑾峰彇閰嶇疆绫诲埆 - * - * @param companyId 缁勭粐缂栫爜锛屼笉鍙负绌� - * @param deptId 鎵�灞炲垎搴擄紝鍙负绌� - * @return 鏌ヨ缁撴灉 - */ - public List<SecSnapConf> listSnapConf(String companyId, String deptId) { - String hql = " from " + SecSnapConf.class.getName() - + " where companyId=:companyId"; - - Map<String, Object> args = new HashMap<>(); - args.put("companyId", companyId); - if (StringUtils.isNotEmpty(deptId)) { - hql += " and deptId =:deptId"; - args.put("deptId", deptId); - } - - return this.query(hql, args); - } - - public void addData(SecSnapConf snapConf, String fileName, String result) { - Session session = this.getSessionFactory().openSession(); - try { - SecSnapDepot data = new SecSnapDepot(); - data.setId(ContextUtil.getUUID()); - data.setCompanyId(snapConf.getCompanyId()); - data.setDeptId(snapConf.getDeptId()); - data.setCameraId(snapConf.getCameraId()); - data.setResult(result); - data.setUpdateTime(new Date()); - data.setFileSuffix("jpg"); - data.setFileName(fileName); - - session.save(data); - } catch (Exception e) { - e.printStackTrace(); - } finally { - session.flush(); - session.close(); - } - } -} diff --git a/igds-security/src/main/java/com/ld/igds/sec/service/SecurityService.java b/igds-security/src/main/java/com/ld/igds/sec/service/SecurityService.java index 15878a8..7293220 100644 --- a/igds-security/src/main/java/com/ld/igds/sec/service/SecurityService.java +++ b/igds-security/src/main/java/com/ld/igds/sec/service/SecurityService.java @@ -8,7 +8,6 @@ import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/igds-security/src/main/java/com/ld/igds/sec/service/impl/CoreSecFireServiceImpl.java b/igds-security/src/main/java/com/ld/igds/sec/service/impl/CoreSecFireServiceImpl.java index 1430e27..16132ae 100644 --- a/igds-security/src/main/java/com/ld/igds/sec/service/impl/CoreSecFireServiceImpl.java +++ b/igds-security/src/main/java/com/ld/igds/sec/service/impl/CoreSecFireServiceImpl.java @@ -4,7 +4,6 @@ import com.ld.igds.sec.dto.SecurityParam; import com.ld.igds.sec.mapper.SecFireServiceMapper; import com.ld.igds.sec.service.CoreSecFireService; -import com.ld.igds.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; 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 e273e91..c26d1d1 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 @@ -20,6 +20,11 @@ <PropertyDef name="depotId"> <Property></Property> <Property name="label">鎵�灞炰粨搴�</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> + <Property name="keyProperty">id</Property> + <Property name="valueProperty">name</Property> + </Property> </PropertyDef> <PropertyDef name="cameraId"> <Property></Property> @@ -29,19 +34,19 @@ <Property name="dataType">Date</Property> <Property name="label">鏇存柊鏃堕棿</Property> </PropertyDef> - <PropertyDef name="zpsj"> - <Property name="dataType">Date</Property> - <Property name="label">鎶撴媿鏃堕棿</Property> + <PropertyDef name="result"> + <Property></Property> + <Property name="label">鎶撴媿缁撴灉</Property> </PropertyDef> - <PropertyDef name="txwjhzm"> + <PropertyDef name="fileSuffix"> <Property></Property> <Property name="label">鍥惧儚鏂囦欢鍚庣紑鍚�</Property> </PropertyDef> - <PropertyDef name="wjmc"> + <PropertyDef name="fileName"> <Property></Property> <Property name="label">鏂囦欢鍚嶇О</Property> </PropertyDef> - <PropertyDef name="yzwbh"> + <PropertyDef name="preset"> <Property></Property> <Property name="label">棰勭疆浣嶇紪鍙�</Property> </PropertyDef> @@ -60,22 +65,47 @@ <Property></Property> <Property name="label">鎵�灞炲垎搴�</Property> </PropertyDef> - <PropertyDef name="depotId"> - <Property></Property> - <Property name="label">鎵�灞炰粨搴�</Property> - </PropertyDef> - <PropertyDef name="cameraId"> - <Property></Property> - <Property name="label">鍏宠仈鎽勫儚澶�</Property> - </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">Date</Property> <Property name="label">鏇存柊鏃堕棿</Property> </PropertyDef> + <PropertyDef name="depotId"> + <Property></Property> + <Property name="label">鎵�灞炰粨搴�</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> + <Property name="keyProperty">id</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="cameraId"> + <Property></Property> + <Property name="label">鍏宠仈鎽勫儚澶�</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("securityPR#listCamera").getResult()}</Property> + <Property name="keyProperty">id</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="actHour1"> + <Property name="dataType">int</Property> + <Property name="label">绗竴娆�</Property> + <Property name="displayFormat"># 鐐�</Property> + </PropertyDef> + <PropertyDef name="actHour2"> + <Property name="dataType">int</Property> + <Property name="label">绗簩娆�</Property> + <Property name="displayFormat"># 鐐�</Property> + </PropertyDef> + <PropertyDef name="actHour3"> + <Property name="dataType">int</Property> + <Property name="label">绗笁娆�</Property> + <Property name="displayFormat"># 鐐�</Property> + </PropertyDef> </DataType> <DataType name="dtQuery"> <PropertyDef name="depotId"> - <Property/> + <Property></Property> <Property name="label">鎵�灞炰粨搴�</Property> </PropertyDef> <PropertyDef name="start"> @@ -85,6 +115,18 @@ <PropertyDef name="end"> <Property name="label">鎴鏃ユ湡</Property> <Property name="dataType">Date</Property> + </PropertyDef> + <PropertyDef name="actHour1"> + <Property name="dataType">int</Property> + <Property name="label">绗竴娆�</Property> + </PropertyDef> + <PropertyDef name="actHour2"> + <Property name="dataType">int</Property> + <Property name="label">绗簩娆�</Property> + </PropertyDef> + <PropertyDef name="actHour3"> + <Property name="dataType">int</Property> + <Property name="label">绗笁娆�</Property> </PropertyDef> </DataType> </Model> @@ -98,10 +140,15 @@ </DataSet> <DataSet id="dsConf"> <Property name="dataType">[dtConf]</Property> + <Property name="dataProvider">secSnapDepotPR#listConf</Property> </DataSet> <DataSet id="dsQuery"> <ClientEvent name="onReady">self.insert({});</ClientEvent> <Property name="dataType">dtQuery</Property> + </DataSet> + <DataSet id="dsParam"> + <Property name="dataType">dtConf</Property> + <Property name="dataProvider">secSnapDepotPR#getConfActHour</Property> </DataSet> <Panel layout="regionPadding:10"> <Property name="caption">瑙嗛鍥惧儚淇℃伅绠$悊</Property> @@ -160,14 +207,15 @@ <Container layoutConstraint="center"> <Property name="exClassName">bg-color</Property> <DataBlockView> - <ClientEvent name="onRenderBlock">
 -var time = arg.data.get("zpsj").formatDate("Y-m-d H:i");
 -var hwdm = arg.data.getText("hwdm");
 -var cfdm = arg.data.getText("cfdm");
 -var kqdm = arg.data.getText("kqdm");
 -var imgSrc = "../../grain/file/get-depot-snap?filePath="+arg.data.get("wjdz");
 -var htm = "<div><img src='"+imgSrc+"' style='height:250px; width:100%;'><div><span style='padding-left:10px;'>搴撳尯锛�"+kqdm+"</span><span style='float:right;padding-right:10px;'>浠撴埧锛�"+cfdm+"</span></div><div><span style='padding-left:10px;'>璐т綅锛�"+hwdm+"</span><span style='float:right;padding-right:10px;'>鏃堕棿锛�"+time+"</span></div></div>";
 -
 + <ClientEvent name="onRenderBlock">var id = arg.data.get("id");
 +var time = arg.data.get("updateTime").formatDate("Y-m-d H:i");
 +var timeStr = arg.data.get("updateTime").formatDate("Ymd");
 +var depotId = arg.data.getText("depotId");
 +var imgSrc = "../../basic/file/get-snap-depot?fileName="+arg.data.get("fileName")+"&timeStr="+timeStr;
 +var htm = "<div><img src='./static/images/img-fail.jpg' style='height:250px; width:100%;'><div><span style='padding-left:10px;'>浠撳簱锛氭湭鏌ヨ鍒版暟鎹�</span><span style='float:right;padding-right:10px;'>鏃堕棿锛�"+time+"</span></div></div>";
 +if("TEST" != id){
 + htm = "<div><img src='"+imgSrc+"' style='height:250px; width:100%;'><div><span style='padding-left:10px;'>浠撳簱锛�"+depotId+"</span><span style='float:right;padding-right:10px;'>鏃堕棿锛�"+time+"</span></div></div>";
 +}
 arg.dom.innerHTML = htm;
 arg.progressDefault=false;</ClientEvent> <Property name="dataSet">dsMain</Property> @@ -192,25 +240,72 @@ <Tools/> </Panel> <Dialog id="dialogConf"> + <Property name="width">750</Property> + <Property name="caption">浠撳唴鎶撴媿閰嶇疆</Property> <Buttons/> <Children> - <ToolBar> - <ToolBarButton> - <Property name="caption">鏂板</Property> - </ToolBarButton> - </ToolBar> - <DataGrid> - <Property name="dataSet">dsConf</Property> - <DataColumn name="depotId"> - <Property name="property">depotId</Property> - </DataColumn> - <DataColumn name="cameraId"> - <Property name="property">cameraId</Property> - </DataColumn> - <DataColumn name="updateTime"> - <Property name="property">updateTime</Property> - </DataColumn> - </DataGrid> + <FieldSet> + <Property name="caption">鎶撴媿鎽勫儚澶撮厤缃�</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">view.get("#dsConf").insert();</ClientEvent> + <Property name="caption">鏂板閰嶇疆</Property> + </Button> + <Button> + <Property name="caption">淇濆瓨閰嶇疆</Property> + <Property name="action">updateConf</Property> + </Button> + </Buttons> + <Children> + <DataGrid layoutConstraint="padding:10px"> + <Property name="dataSet">dsConf</Property> + <Property name="height">400</Property> + <RowNumColumn/> + <DataColumn name="depotId"> + <Property name="property">depotId</Property> + </DataColumn> + <DataColumn name="cameraId"> + <Property name="property">cameraId</Property> + </DataColumn> + </DataGrid> + </Children> + </FieldSet> + <FieldSet> + <Property name="caption">鎶撴媿鏃堕棿閰嶇疆</Property> + <Property name="height">150</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">var data = view.get("#dsParam.data");
 +view.get("#ajaxSnapTime").set("parameter",data).execute();</ClientEvent> + <Property name="caption">淇濆瓨鎶撴椂闂�</Property> + </Button> + </Buttons> + <Children> + <AutoForm> + <Property name="dataSet">dsParam</Property> + <Property name="cols">*,*,*</Property> + <Property name="labelAlign">right</Property> + <AutoFormElement> + <Property name="name">actHour1</Property> + <Property name="property">actHour1</Property> + <Property name="trigger">listHour</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">actHour2</Property> + <Property name="property">actHour2</Property> + <Property name="trigger">listHour</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">actHour3</Property> + <Property name="property">actHour3</Property> + <Property name="trigger">listHour</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + </FieldSet> </Children> <Tools/> </Dialog> @@ -218,5 +313,17 @@ <Property name="service">videoImgPR#delData</Property> <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> </AjaxAction> + <UpdateAction id="updateConf"> + <Property name="dataResolver">secSnapDepotPR#updateConf</Property> + <UpdateItem> + <Property name="dataSet">dsConf</Property> + </UpdateItem> + </UpdateAction> + <AjaxAction id="ajaxSnapTime"> + <Property name="service">secSnapDepotPR#updateActHour</Property> + </AjaxAction> + <ListDropDown id="listHour"> + <Property name="items">0,7,8,9,10,11,12,13,14,15,16,17,18</Property> + </ListDropDown> </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 index e99feef..313da6a 100644 --- 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 @@ -1,14 +1,22 @@ package com.ld.igds.sec.view; 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.ld.igds.models.SecSnapConf; 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.ArrayList; +import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -33,12 +41,101 @@ public void pageSnapDepot(Page<SecSnapDepot> page, Map<String, Object> param) throws Exception { - if(null == param) param = new HashMap<>(); + if (null == param) param = new HashMap<>(); param.put("companyId", ContextUtil.getCompanyId()); param.put("deptId", ContextUtil.subDeptId(null)); - snapDepotService.pageSnapDepot(page,param); + snapDepotService.pageSnapDepot(page, param); + + //娣诲姞4鏉℃祴璇曟暟鎹� + if (null == page.getEntities() || page.getEntities().isEmpty()) { + Collection<SecSnapDepot> list = new ArrayList<>(); + list.add(new SecSnapDepot("TEST")); + list.add(new SecSnapDepot("TEST")); + list.add(new SecSnapDepot("TEST")); + list.add(new SecSnapDepot("TEST")); + + page.setEntities(list); + } } - - + + + + /** + * secSnapDepotPR#getConfActHour + * + * 榛樿鑾峰彇绗竴鏉℃暟鎹殑閰嶇疆淇℃伅锛屽鏋滄病鏈夊氨杩斿洖涓�涓┖鐨勫璞� + * @param page + * @param param + * @return + * @throws Exception + */ + @DataProvider + public SecSnapConf getConfActHour()throws Exception { + List<SecSnapConf> list = snapDepotService.listSnapConf(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null)); + if(null == list || list.isEmpty()) return new SecSnapConf(); + return list.get(0); + } + + + /** + * secSnapDepotPR#listConf + * + * 榛樿鑾峰彇绗竴鏉℃暟鎹殑閰嶇疆淇℃伅锛屽鏋滄病鏈夊氨杩斿洖涓�涓┖鐨勫璞� + * @param page + * @param param + * @return + * @throws Exception + */ + @DataProvider + public List<SecSnapConf> listConf()throws Exception { + return snapDepotService.listSnapConf(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null)); + } + + + /** + * secSnapDepotPR#updateConf + * @param items + * @throws Exception + */ + @DataResolver + public void updateConf(List<SecSnapConf> items)throws Exception { + if(null ==items || items.isEmpty() ) return; + for(SecSnapConf conf:items){ + if(null == conf.getId()){ + if(null == conf.getCompanyId()){ + conf.setCompanyId(ContextUtil.getCompanyId()); + } + if(null == conf.getDeptId()){ + conf.setDeptId(ContextUtil.subDeptId(null)); + } + + snapDepotService.addConf(conf); + }else{ + snapDepotService.updateConf(conf); + } + } + + } + + + /** + * secSnapDepotPR#updateActHour + * @param items + * @throws Exception + */ + @Expose + public void updateActHour(SecSnapConf conf)throws Exception { + + if(null == conf.getCompanyId()){ + conf.setCompanyId(ContextUtil.getCompanyId()); + } + if(null == conf.getDeptId()){ + conf.setDeptId(ContextUtil.subDeptId(null)); + } + + //鍚屾鏇存柊鎵�鏈夌殑鎵ц鏃堕棿涓�鑷� + snapDepotService.updateActHour(conf); + + } } diff --git a/igds-security/src/main/java/com/ld/igds/timer/JobLampService.java b/igds-security/src/main/java/com/ld/igds/timer/JobLampService.java index b4725a5..0cdeb60 100644 --- a/igds-security/src/main/java/com/ld/igds/timer/JobLampService.java +++ b/igds-security/src/main/java/com/ld/igds/timer/JobLampService.java @@ -13,7 +13,6 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java b/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java index faa3667..1a3720d 100644 --- a/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java +++ b/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java @@ -1,30 +1,27 @@ package com.ld.igds.timer; -import com.bstek.bdf2.core.model.DefaultCompany; import com.ld.igds.camera.ApiCameraManager; import com.ld.igds.camera.CameraUtil; import com.ld.igds.camera.data.ApiCameraResp; import com.ld.igds.camera.data.ApiSnapReq; -import com.ld.igds.common.CoreCommonService; import com.ld.igds.data.ConfigData; import com.ld.igds.file.CoreFileService; import com.ld.igds.models.SecCamera; import com.ld.igds.models.SecSnapConf; -import com.ld.igds.models.SecSnapDepot; import com.ld.igds.models.SnapSer; import com.ld.igds.sec.service.CoreSecCameraService; -import com.ld.igds.sec.service.SecSnapService; -import com.ld.igds.sec.service.SecurityService; +import com.ld.igds.sec.service.SecSnapDepotService; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; -import com.ld.igds.view.manager.TempManager; import com.ld.igds.view.service.SnapSerService; + import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.time.DateUtils; + import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; + import java.util.Date; import java.util.HashMap; import java.util.List; @@ -37,109 +34,123 @@ @Component(ScheduledSec.BEAN_ID) public class ScheduledSec { - public static final String BEAN_ID = "sec.scheduled"; + public static final String BEAN_ID = "sec.scheduled"; - @Resource - private ConfigData configData; - @Resource - private SecSnapService secSnapService; - @Resource - private CoreSecCameraService coreSecCameraService; - @Resource - private SnapSerService snapSerService; - @Resource - private CoreFileService fileService; - @Resource - private ApiCameraManager apiCameraManager; + @Resource + private ConfigData configData; + @Resource + private SecSnapDepotService secSnapService; + @Resource + private CoreSecCameraService coreSecCameraService; + @Resource + private SnapSerService snapSerService; + @Resource + private CoreFileService fileService; + @Resource + private ApiCameraManager apiCameraManager; - /** - * 姣忛棿闅�30鍒嗛挓鎵ц涓�娆� - */ - @Scheduled(cron = "0 0/30 * * * ?") - public void scheduled30() { + /** + * 浠�6-18鐐瑰紑濮嬫墽琛� + */ + @Scheduled(cron = "0 0 6,7,8,9,10,11,12,13,14,15,16,17,18 * * ? ") + public void scheduled30() { - //鎵ц鎶撴媿鍒ゆ柇 - doExeSnap(new Date()); - } + Date exeDate = new Date(); - /** - * 瀹氭椂鎵ц鎶撴媿 - */ - private void doExeSnap(Date date) { + // 鎵ц鎶撴媿鍒ゆ柇 + doExeSnap(exeDate); + } - if (configData.getSnapTime() < 0) return; + /** + * 瀹氭椂鎵ц鎶撴媿 + */ + private void doExeSnap(Date date) { + try { + // 鑾峰彇鎵�鏈夐厤缃姄鎷嶆憚鍍忓ご + List<SecSnapConf> list = secSnapService.listSnapConf( + configData.getDefaultCompanyId(), null); - //鑾峰彇褰撳墠绯荤粺鏃堕棿 - int curHour = DateUtil.getHour(date); - if (curHour != configData.getSnapTime()) return; + if (null == list || list.isEmpty()) { + return; + } + SecSnapConf exeConf = list.get(0); - log.info("===================绯荤粺鎵ц瀹氭椂浠撳唴瑙嗛鎶撴媿=================="); + // 鑾峰彇鎶撴媿鏃堕棿 + int exeHour1 = exeConf.getActHour1(); + int exeHour2 = exeConf.getActHour2(); + int exeHour3 = exeConf.getActHour3(); + if (exeHour1 == 0 && exeHour1 == 0 && exeHour1 == 0) + return; - try { + // 鑾峰彇褰撳墠绯荤粺鏃堕棿 + int curHour = DateUtil.getHour(date); + + if(curHour != exeHour1 && curHour != exeHour2 && curHour !=exeHour3){ + return; + } - List<SecSnapConf> list = secSnapService.listSnapConf(configData.getDefaultCompanyId(), null); + log.info("===================绯荤粺鎵ц瀹氭椂浠撳唴瑙嗛鎶撴媿=================="); - if (null == list || list.isEmpty()) return; + SecCamera secCamera; + Map<String, SnapSer> snapSerMap = new HashMap<>(); + SnapSer snapSer; + for (SecSnapConf snapConf : list) { - SecCamera secCamera; - Map<String, SnapSer> snapSerMap = new HashMap<>(); - SnapSer snapSer; - for (SecSnapConf snapConf : list) { + secCamera = coreSecCameraService.getCameraById( + snapConf.getCompanyId(), snapConf.getCameraId()); + + if (null == secCamera) continue; - if (null == snapConf.getDepotId()) continue; + snapSer = snapSerMap.get(snapConf.getDeptId()); + if (null == snapSer) { + snapSer = snapSerService.getCacheByDeptId(snapConf.getDeptId()); + snapSerMap.put(snapConf.getDeptId(), snapSer); + } - secCamera = coreSecCameraService.getCameraById(snapConf.getCompanyId(), snapConf.getCameraId()); + if (null == snapSer) { + log.error("------------鎶撴媿涓洪厤缃姄鎷嶅垎鏈�----------"); + continue; + } - if (null == secCamera) continue; + doExeSnapToData(secCamera, snapSer, snapConf); - snapSer = snapSerMap.get(snapConf.getDeptId()); - if (null == snapSer) { - snapSer = snapSerService.getCacheByDeptId(snapConf.getDeptId()); - snapSerMap.put(snapConf.getDeptId(), snapSer); - } + Thread.sleep(500); + } + } catch (Exception e) { + log.error("----------鎶撴媿鍚庡彴鍑洪敊---------{}", e); + } + } - if (null == snapSer) { - log.error("------------鎶撴媿涓洪厤缃姄鎷嶅垎鏈�----------"); - continue; - } + private void doExeSnapToData(SecCamera secCamera, SnapSer snapSer,SecSnapConf snapConf) { + ApiSnapReq req = new ApiSnapReq(); + req.setCompanyId(secCamera.getCompanyId()); + req.setDeptId(secCamera.getDeptId()); + req.setSn(secCamera.getSn()); + req.setSnapType(secCamera.getSnapType()); + req.setPlayType(secCamera.getPlayType()); + req.setSerSn(snapSer.getSn()); + req.setCameraName(secCamera.getName()); + req.setBizId(null); - doExeSnapToData(secCamera, snapSer, snapConf); + req.setMediaAddr(CameraUtil.updateMediaAddr(secCamera.getMediaAddr(), + secCamera.getLoginId(), secCamera.getPwd(), + secCamera.getIpIn(), secCamera.getPortInC(), + secCamera.getChanNum())); - Thread.sleep(500); - } - } catch (Exception e) { - log.error("----------鎶撴媿鍚庡彴鍑洪敊---------{}", e); - } - } + String filePath = fileService.getSnapFilePath(new Date()); - private void doExeSnapToData(SecCamera secCamera, SnapSer snapSer, SecSnapConf snapConf) { - ApiSnapReq req = new ApiSnapReq(); - req.setCompanyId(secCamera.getCompanyId()); - req.setDeptId(secCamera.getDeptId()); - req.setSn(secCamera.getSn()); - req.setSnapType(secCamera.getSnapType()); - req.setPlayType(secCamera.getPlayType()); - req.setSerSn(snapSer.getSn()); - req.setCameraName(secCamera.getName()); - req.setBizId(null); + req.setFilePath(filePath); - req.setMediaAddr(CameraUtil.updateMediaAddr(secCamera.getMediaAddr(), secCamera.getLoginId(), - secCamera.getPwd(), secCamera.getIpIn(), secCamera.getPortInC(), secCamera.getChanNum())); + // 璋冩暣闄勪欢鍚嶇О锛岄伩鍏嶅嚭鐜颁腑鏂� + String fileName = snapConf.getDeptId() + "_" + ContextUtil.getTimeId(1000) + ".jpg"; + req.setFileName(fileName); - String filePath = fileService.getSnapFilePath(new Date()); + // 鎵ц鎶撴媿 + ApiCameraResp resp = apiCameraManager.getApiCameraService(secCamera.getPlayType()).snapImg(req); + resp.setFileName(fileName); - req.setFilePath(filePath); - - //璋冩暣闄勪欢鍚嶇О锛岄伩鍏嶅嚭鐜颁腑鏂� - String fileName = snapConf.getDepotId() + "_" + ContextUtil.getTimeId(1000) + ".jpg"; - req.setFileName(fileName); - - //鎵ц鎶撴媿 - ApiCameraResp resp = apiCameraManager.getApiCameraService(secCamera.getPlayType()).snapImg(req); - resp.setFileName(fileName); - - //鎵ц璁板綍淇濆瓨 - secSnapService.addData(snapConf, fileName, resp.getCode()); - } + // 鎵ц璁板綍淇濆瓨 + secSnapService.addData(snapConf, fileName, resp.getCode()); + } } diff --git a/igds-web/pom.xml b/igds-web/pom.xml index 7809de5..d4e3164 100644 --- a/igds-web/pom.xml +++ b/igds-web/pom.xml @@ -119,12 +119,13 @@ <version>${igds.version}</version> </dependency> - <!-- APP -鍙��--> + <!-- APP -鍙�� <dependency> <groupId>com.ld.igds</groupId> <artifactId>igds-api-phone</artifactId> <version>${igds.version}</version> </dependency> + --> <!-- 鍏朵粬閫氱敤鍝佺墝鍗忚 --> <dependency> @@ -144,15 +145,15 @@ </dependency> - <!-- 鎺ュ彛鍖咃紝鍖呮嫭涓婃捣鎺ュ彛鍜屻�佹皵璞℃帴鍙c�佷笁缁存帴鍙�--> + <!-- 鎺ュ彛鍖咃紝鍖呮嫭涓婃捣鎺ュ彛鍜屻�佹皵璞℃帴鍙c�佷笁缁存帴鍙� <dependency> <groupId>com.ld.igds</groupId> <artifactId>igds-api-inte</artifactId> <version>${igds.version}</version> - </dependency> + </dependency>--> - <!-- 绉佹湁鍗忚-椋庢鑷磋繙--> + <!-- 绉佹湁鍗忚-椋庢鑷磋繙 <dependency> <groupId>com.ld.igds</groupId> <artifactId>igds-protocol-fzzy3</artifactId> @@ -168,6 +169,7 @@ </exclusion> </exclusions> </dependency> + --> <!-- MODBUS-TCP <dependency> @@ -202,7 +204,8 @@ <groupId>log4j</groupId> </exclusion> </exclusions> - </dependency>--> + </dependency> + --> <!-- 绉佹湁鍗忚-璐濆崥绮儏--> <dependency> @@ -253,7 +256,8 @@ <groupId>log4j</groupId> </exclusion> </exclusions> - </dependency>--> + </dependency> + --> <!-- 绉佹湁鍗忚-姝f潵鐢靛瓙 <dependency> @@ -270,7 +274,8 @@ <groupId>log4j</groupId> </exclusion> </exclusions> - </dependency>--> + </dependency> + --> <!-- 娴峰悍杞︾墝璇嗗埆-SDK <dependency> @@ -287,7 +292,9 @@ <groupId>log4j</groupId> </exclusion> </exclusions> - </dependency>--> + </dependency> + --> + </dependencies> <dependencyManagement> diff --git a/igds-web/src/main/resources/media.properties b/igds-web/src/main/resources/media.properties index a29a86d..68d7255 100644 --- a/igds-web/src/main/resources/media.properties +++ b/igds-web/src/main/resources/media.properties @@ -34,6 +34,7 @@ hik.mapMedia.5318.appSecret=2SrVYEybgnLYYBjvv08l hik.mapMedia.5318.contextPath=/artemis hik.mapMedia.5318.regionIndexCodes=[] + #-----演示环境-----# hik.mapMedia.5000.ip=192.168.66.200 hik.mapMedia.5000.wanIp=221.8.37.106 diff --git a/igds-web/src/main/resources/templates/admin/home.html b/igds-web/src/main/resources/templates/admin/home.html index a0499e0..1f20896 100644 --- a/igds-web/src/main/resources/templates/admin/home.html +++ b/igds-web/src/main/resources/templates/admin/home.html @@ -130,12 +130,6 @@ <!-- <span class="text-muted text-xs block" th:text="${loginUser.cname}">绠$悊鍛�<b class="caret"></b></span>--> </span> </a> -<!-- <ul class="dropdown-menu animated fadeInRight m-t-xs">--> -<!-- <li><a class="J_menuItem"--> -<!-- href="./com.ld.igds.sys.UserCenter.d">涓汉涓績</a></li>--> -<!-- <li class="divider"></li>--> -<!-- <li><a href="./log-out">瀹夊叏閫�鍑�</a></li>--> -<!-- </ul>--> </div> <div class="logo-element">绮簱</div> </li> diff --git a/igds-web/src/main/resources/templates/index/index.html b/igds-web/src/main/resources/templates/index/index.html index 96aae90..a14ecce 100644 --- a/igds-web/src/main/resources/templates/index/index.html +++ b/igds-web/src/main/resources/templates/index/index.html @@ -47,7 +47,7 @@ <div class="i-top-r"> <a id="menu-group" href="./home-group" target="_self" class="i-top-btn dis-none"> <i class="i-icon"> - <img th:src="@{/static/images/i-icon-sy.png}" style="height: 28px;width: 28px;"/> + <img th:src="@{/static/images/i-icon-sy.png}" style="height:28px;width: 28px;"/> </i> 棣栭〉 </a> -- Gitblit v1.9.3