From 5cc86ac9bc9d24e947d28542a1023e9c063a2a12 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 11 十二月 2025 16:24:26 +0800
Subject: [PATCH] 抓拍配置页面修改

---
 /dev/null                                                                |   66 -----------
 fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConf.view.xml            |   97 ++++++++++++++++
 fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js     |   12 +
 fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConfPR.java              |   95 +++++++++++++++
 fzzy-igdss-view/src/main/java/models/core.model.xml                      |   14 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapConfService.java |   74 ++++++++---
 6 files changed, 264 insertions(+), 94 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapConfService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapConfService.java
index 2da2fd1..c5219bb 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapConfService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapConfService.java
@@ -41,13 +41,13 @@
      */
     public QueryWrapper<SnapConf> getQueryWrapper(SnapConf param) {
         QueryWrapper<SnapConf> queryWrapper = new QueryWrapper<>();
-
+        if(null == param) param= new SnapConf();
         // 璁剧疆鍏徃ID骞朵綔涓烘煡璇㈡潯浠�
         param.setCompanyId(ContextUtil.getCompanyId());
         queryWrapper.eq("company_id", param.getCompanyId());
 
-        // 鎸夊垱寤烘椂闂村�掑簭鎺掑簭
-        queryWrapper.orderByDesc("create_time");
+        // 鎸夋洿鏂版椂闂村�掑簭鎺掑簭
+        queryWrapper.orderByDesc("update_time");
 
         return queryWrapper;
     }
@@ -66,39 +66,67 @@
      * 鎻掑叆鏂版暟鎹�
      *
      * @param param 鏁版嵁瀹炰綋
-     * @return 褰卞搷琛屾暟
+     * @return 鎿嶄綔缁撴灉
      */
-    public int insertData(SnapConf param) {
-        param.setId(ContextUtil.generateId());
-        param.setCompanyId(ContextUtil.getCompanyId());
-        param.setUpdateBy(ContextUtil.getLoginUserName());
-        param.setUpdateTime(new Date());
-        param.setCreateBy(ContextUtil.getLoginUserName());
-        param.setCreateTime(new Date());
-        return snapConfMapper.insert(param);
+    public BaseResp insertData(SnapConf param) {
+        try {
+            param.setId(ContextUtil.generateId());
+            param.setCompanyId(ContextUtil.getCompanyId());
+            param.setCreateBy(ContextUtil.getLoginUserName());
+            param.setCreateTime(new Date());
+            return snapConfMapper.insert(param) > 0 ? BaseResp.success() : BaseResp.error("娣诲姞澶辫触");
+        } catch (Exception e) {
+            log.error("鎻掑叆蹇媿閰嶇疆鏁版嵁寮傚父", e);
+            return BaseResp.error("娣诲姞澶辫触锛�" + e.getMessage());
+        }
     }
 
     /**
      * 鏇存柊宸叉湁鏁版嵁
      *
      * @param param 鏁版嵁瀹炰綋
-     * @return 褰卞搷琛屾暟
+     * @return 鎿嶄綔缁撴灉
      */
-    public int updateData(SnapConf param) {
-        param.setUpdateBy(ContextUtil.getLoginUserName());
-        param.setUpdateTime(new Date());
-        return snapConfMapper.updateById(param);
+    public BaseResp updateData(SnapConf param) {
+        try {
+            param.setUpdateBy(ContextUtil.getLoginUserName());
+            param.setUpdateTime(new Date());
+            return snapConfMapper.updateById(param) > 0 ? BaseResp.success() : BaseResp.error("鏇存柊澶辫触");
+        } catch (Exception e) {
+            log.error("鏇存柊蹇媿閰嶇疆鏁版嵁寮傚父", e);
+            return BaseResp.error("鏇存柊澶辫触锛�" + e.getMessage());
+        }
     }
 
     /**
      * 鍒犻櫎鎸囧畾ID鐨勬暟鎹�
      *
-     * @param ids 瑕佸垹闄ょ殑璁板綍ID闆嗗悎锛堥�楀彿鍒嗛殧锛�
+     * @param param 瑕佸垹闄ょ殑璁板綍
+     * @return 鎿嶄綔缁撴灉
      */
-    public void deleteDataById(String ids) {
-        String[] recordIds = Convert.toStrArray(ids);
-        for (String recordId : recordIds) {
-            snapConfMapper.deleteById(recordId);
-        }
+    public BaseResp deleteData(SnapConf param) {
+        return snapConfMapper.deleteById(param) > 0 ? BaseResp.success() : BaseResp.error("鍒犻櫎澶辫触");
     }
+
+
+    /**
+     * 鏇存柊鎵ц鏃堕棿
+     *
+     */
+    public void updateActHour(SnapConf param) {
+        // 鍒涘缓鏇存柊鏉′欢鍖呰鍣�
+        QueryWrapper<SnapConf> queryWrapper = new QueryWrapper<>();
+        // 璁剧疆缁勭粐ID鏉′欢
+        queryWrapper.eq("company_id", param.getCompanyId());
+        // 鍒涘缓鏇存柊瀹炰綋锛屽彧鏇存柊鎵ц鏃堕棿鐩稿叧瀛楁
+        SnapConf updateEntity = new SnapConf();
+        updateEntity.setActHour1(param.getActHour1());
+        updateEntity.setActHour2(param.getActHour2());
+        updateEntity.setActHour3(param.getActHour3());
+        updateEntity.setUpdateTime(new Date());
+        updateEntity.setUpdateBy(ContextUtil.getLoginUserName());
+        // 鎵ц鎵归噺鏇存柊
+        snapConfMapper.update(updateEntity, queryWrapper);
+    }
+
 }
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConf.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConf.view.xml
new file mode 100644
index 0000000..b451345
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConf.view.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+  <Arguments/>
+  <Context/>
+  <Model/>
+  <View layout="padding:10">
+    <Property name="packages">font-awesome,css-common</Property>
+    <DataSet id="dsConf">
+      <Property name="loadMode">lazy</Property>
+      <Property name="dataType">[dtSnapConf]</Property>
+      <Property name="dataProvider">snapConfPR#selectList</Property>
+    </DataSet>
+    <DataSet id="dsParam">
+      <Property name="loadMode">lazy</Property>
+      <Property name="dataType">dtSnapConf</Property>
+      <Property name="dataProvider">snapConfPR#getConfActHour</Property>
+    </DataSet>
+    <Container>
+      <Property name="className">c-param</Property>
+      <FieldSet>
+        <Property name="caption">鎶撴媿鎽勫儚澶撮厤缃�</Property>
+        <Buttons>
+          <Button>
+            <ClientEvent name="onClick">view.get(&quot;#dsConf&quot;).insert();</ClientEvent>
+            <Property name="caption">鏂板閰嶇疆</Property>
+            <Property name="exClassName">bt1</Property>
+          </Button>
+          <Button>
+            <Property name="caption">淇濆瓨閰嶇疆</Property>
+            <Property name="action">updateConf</Property>
+            <Property name="exClassName">bt2</Property>
+          </Button>
+        </Buttons>
+        <Children>
+          <DataGrid id="dgMain">
+            <Property name="dataSet">dsConf</Property>
+            <Property name="height">400</Property>
+            <RowNumColumn/>
+            <DataColumn name="deptId">
+              <Property name="property">deptId</Property>
+            </DataColumn>
+            <DataColumn name="cameraId">
+              <Property name="property">cameraId</Property>
+            </DataColumn>
+          </DataGrid>
+        </Children>
+      </FieldSet>
+      <FieldSet>
+        <Property name="caption">鎶撴媿鏃堕棿閰嶇疆</Property>
+        <Buttons>
+          <Button>
+            <ClientEvent name="onClick">var data = view.get(&quot;#dsParam.data&quot;);&#xD;
+view.get(&quot;#ajaxSnapTime&quot;).set(&quot;parameter&quot;,data).execute();</ClientEvent>
+            <Property name="caption">淇濆瓨鎶撴椂闂�</Property>
+            <Property name="exClassName">bt4</Property>
+          </Button>
+        </Buttons>
+        <Children>
+          <AutoForm>
+            <Property name="dataSet">dsParam</Property>
+            <Property name="cols">*,*,*</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>
+    </Container>
+    <UpdateAction id="updateConf">
+      <Property name="dataResolver">snapConfPR#updateConf</Property>
+      <UpdateItem>
+        <Property name="dataSet">dsConf</Property>
+      </UpdateItem>
+    </UpdateAction>
+    <AjaxAction id="ajaxSnapTime">
+      <Property name="service">snapConfPR#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/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConfPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConfPR.java
new file mode 100644
index 0000000..eab1749
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/SnapConfPR.java
@@ -0,0 +1,95 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.fzzy.igds.domain.SnapConf;
+import com.fzzy.igds.service.SnapConfService;
+import com.fzzy.igds.utils.ContextUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 蹇媿閰嶇疆绠$悊
+ * Created by fzzy on 2017/5/23.
+ */
+@Component
+public class SnapConfPR {
+
+    @Resource
+    private SnapConfService snapConfService;
+
+    /**
+     * snapConfPR#selectList
+     * 蹇媿閰嶇疆鍒楄〃
+     */
+    @DataProvider
+    public List<SnapConf> selectList(SnapConf param) {
+        if (null == param) {
+            param = new SnapConf();
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        return snapConfService.selectList(param);
+    }
+
+    /**
+     * snapConfPR#getConfActHour
+     * 榛樿鑾峰彇绗竴鏉℃暟鎹殑閰嶇疆淇℃伅锛屽鏋滄病鏈夊氨杩斿洖涓�涓┖鐨勫璞�
+     *
+     * @return
+     */
+    @DataProvider
+    public SnapConf getConfActHour() {
+        SnapConf param = new SnapConf();
+        param.setCompanyId(ContextUtil.getCompanyId());
+        List<SnapConf> list = snapConfService.selectList(param);
+        if (null == list || list.isEmpty()) {
+            return new SnapConf();
+        }
+        return list.get(0);
+    }
+
+
+    /**
+     * snapConfPR#updateConf
+     *
+     * @param items
+     */
+    @DataResolver
+    public void updateConf(List<SnapConf> items) {
+        if (null == items || items.isEmpty()) {
+            return;
+        }
+        for (SnapConf conf : items) {
+            if (StringUtils.isEmpty(conf.getId())) {
+                snapConfService.insertData(conf);
+            } else {
+                snapConfService.updateData(conf);
+            }
+        }
+    }
+
+
+    /**
+     * snapConfPR#updateActHour
+     *
+     * @param conf
+     */
+    @Expose
+    public void updateActHour(SnapConf conf) {
+
+        if (null == conf.getCompanyId()) {
+            conf.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (null == conf.getDeptId()) {
+            conf.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        //鍚屾鏇存柊鎵�鏈夌殑鎵ц鏃堕棿涓�鑷�
+        snapConfService.updateActHour(conf);
+
+    }
+}
diff --git a/fzzy-igdss-view/src/main/java/models/core.model.xml b/fzzy-igdss-view/src/main/java/models/core.model.xml
index acf4bd5..0d377d7 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1195,18 +1195,26 @@
     <PropertyDef name="cameraId">
       <Property></Property>
       <Property name="label">鎶撴媿鐩戞帶</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;secCameraPR#listCamera&quot;).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">鎵ц鏃堕棿1</Property>
+      <Property name="label">绗竴娆�</Property>
+      <Property name="displayFormat"># 鐐�</Property>
     </PropertyDef>
     <PropertyDef name="actHour2">
       <Property name="dataType">int</Property>
-      <Property name="label">鎵ц鏃堕棿2</Property>
+      <Property name="label">绗簩娆�</Property>
+      <Property name="displayFormat"># 鐐�</Property>
     </PropertyDef>
     <PropertyDef name="actHour3">
       <Property name="dataType">int</Property>
-      <Property name="label">鎵ц鏃堕棿3</Property>
+      <Property name="label">绗笁娆�</Property>
+      <Property name="displayFormat"># 鐐�</Property>
     </PropertyDef>
   </DataType>
   <DataType name="dtNoticeDto">
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SnapConfController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SnapConfController.java
deleted file mode 100644
index 50d48f8..0000000
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SnapConfController.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package com.fzzy.sys.controller.security;
-
-import com.fzzy.igds.domain.SnapConf;
-import com.fzzy.igds.utils.ContextUtil;
-import com.fzzy.sys.manager.security.SnapConfManager;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.ShiroUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-
-@Controller
-@RequestMapping("/security/snap/snapConf")
-public class SnapConfController extends BaseController {
-
-    private static final String prefix = "security/snap/snapConf";
-
-    @Resource
-    private SnapConfManager snapConfManager;
-
-    /**
-     * 鎶撴媿閰嶇疆椤甸潰
-     */
-    @GetMapping()
-    public String snapConf() {
-        return prefix + "/snapConf";
-    }
-
-    /**
-     * 鏌ヨ鎶撴媿閰嶇疆鍒楄〃
-     */
-    @PostMapping("/list")
-    @ResponseBody
-    public TableDataInfo list(SnapConf param) {
-        if (null == param.getCompanyId()) {
-            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
-        }
-        startPage();
-        List<SnapConf> list = snapConfManager.selectList(param);
-        return getDataTable(list);
-    }
-
-    /**
-     * 瀵煎嚭鎶撴媿閰嶇疆鍒楄〃
-     */
-    @Log(title = "鎶撴媿閰嶇疆绠$悊", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    @ResponseBody
-    public AjaxResult export(SnapConf param) {
-        if (null == param.getCompanyId()) {
-            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
-        }
-        List<SnapConf> list = snapConfManager.selectList(param);
-        ExcelUtil<SnapConf> util = new ExcelUtil<>(SnapConf.class);
-        return util.exportExcel(list, "鎶撴媿閰嶇疆鏁版嵁");
-    }
-
-    /**
-     * 鏂板鎶撴媿閰嶇疆椤甸潰
-     */
-    @GetMapping("/add")
-    public String add(ModelMap mmap) {
-        return prefix + "/add";
-    }
-
-    /**
-     * 鏂板鎶撴媿閰嶇疆鏁版嵁
-     */
-    @Log(title = "鎶撴媿閰嶇疆绠$悊", businessType = BusinessType.INSERT)
-    @PostMapping("/add")
-    @ResponseBody
-    public AjaxResult addSave(@Validated SnapConf param) {
-        if (null == param.getCompanyId()) {
-            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
-        }
-        param.setCreateBy(getLoginName());
-        param.setCreateTime(new Date());
-        if (StringUtils.isEmpty(param.getId())) {
-            param.setId(ContextUtil.generateId());
-        }
-        return toAjax(snapConfManager.insertData(param));
-    }
-
-    /**
-     * 淇敼鎶撴媿閰嶇疆椤甸潰
-     */
-    @GetMapping("/edit/{id}")
-    public String edit(@PathVariable("id") String id, ModelMap mmap) {
-        SnapConf record = snapConfManager.selectById(id);
-        mmap.put("snapConf", record);
-        return prefix + "/edit";
-    }
-
-    /**
-     * 淇敼鎶撴媿閰嶇疆鏁版嵁
-     */
-    @Log(title = "鎶撴媿閰嶇疆绠$悊", businessType = BusinessType.UPDATE)
-    @PostMapping("/edit")
-    @ResponseBody
-    public AjaxResult editSave(@Validated SnapConf param) {
-        if (null == param.getCompanyId()) {
-            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
-        }
-        param.setUpdateBy(getLoginName());
-        param.setUpdateTime(new Date());
-        SnapConf snapConf = snapConfManager.selectById(param.getId());
-        if (snapConf == null) {
-            param.setId(ContextUtil.generateId());
-            return toAjax(snapConfManager.insertData(param));
-        }
-
-        return toAjax(snapConfManager.updateData(param));
-    }
-
-    /**
-     * 鍒犻櫎鎶撴媿閰嶇疆鏁版嵁
-     */
-    @Log(title = "鎶撴媿閰嶇疆绠$悊", businessType = BusinessType.DELETE)
-    @PostMapping("/remove")
-    @ResponseBody
-    public AjaxResult remove(String ids) {
-        snapConfManager.deleteDataById(ids);
-        return success();
-    }
-}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SnapConfManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SnapConfManager.java
deleted file mode 100644
index 3266ba4..0000000
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SnapConfManager.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.fzzy.sys.manager.security;
-
-import com.fzzy.igds.domain.SnapConf;
-import com.fzzy.igds.service.SnapConfService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@Slf4j
-@Component
-public class SnapConfManager {
-
-    @Resource
-    private SnapConfService snapConfService;
-
-    /**
-     * 鏌ヨ鏁版嵁
-     *
-     * @param param 鏌ヨ鍙傛暟
-     * @return 鏁版嵁鍒楄〃
-     */
-    public List<SnapConf> selectList(SnapConf param) {
-        return snapConfService.selectList(param);
-    }
-
-    /**
-     * 鏍规嵁ID鏌ヨ鏁版嵁
-     *
-     * @param id 涓婚敭ID
-     * @return SnapConf瀹炰綋瀵硅薄
-     */
-    public SnapConf selectById(String id) {
-        return snapConfService.selectById(id);
-    }
-
-    /**
-     * 鎻掑叆鏁版嵁
-     *
-     * @param param 鏁版嵁瀹炰綋
-     * @return 褰卞搷琛屾暟
-     */
-    public int insertData(SnapConf param) {
-        return snapConfService.insertData(param);
-    }
-
-    /**
-     * 鏇存柊鏁版嵁
-     *
-     * @param param 鏁版嵁瀹炰綋
-     * @return 褰卞搷琛屾暟
-     */
-    public int updateData(SnapConf param) {
-        return snapConfService.updateData(param);
-    }
-
-    /**
-     * 鍒犻櫎鏁版嵁
-     *
-     * @param ids 瑕佸垹闄ょ殑璁板綍ID闆嗗悎锛堥�楀彿鍒嗛殧锛�
-     */
-    public void deleteDataById(String ids) {
-        snapConfService.deleteDataById(ids);
-    }
-}
diff --git a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
index 9e3ebb2..1e7983c 100644
--- a/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
+++ b/fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
@@ -288,6 +288,14 @@
     });
 }
 function openConf() {
-    var url = ctx + "security/snap/snapConf";
-    $.modal.openTab("鎶撴媿閰嶇疆", url);
+    var url = ctx + "com.fzzy.igds.SnapConf.d";
+    var options = {
+        title: "鎶撴媿閰嶇疆",
+        url: url,
+        btn: 0,
+        yes: function (index, layero) {
+            $.modal.close(index);
+        }
+    };
+    $.modal.openOptions(options);
 }

--
Gitblit v1.9.3