فهرست منبع

Merge remote-tracking branch 'origin/master'

Administrator 10 ماه پیش
والد
کامیت
916d5d63b5

+ 43 - 1
ruoyi-admin/src/main/java/com/ruoyi/alarm/Alarm.java

@@ -109,7 +109,8 @@ public class Alarm implements CommandLineRunner {
         Pointer pStrNET_DVR_LOCAL_GENERAL_CFG = struNET_DVR_LOCAL_GENERAL_CFG.getPointer();
         hCNetSDK.NET_DVR_SetSDKLocalCfg(17, pStrNET_DVR_LOCAL_GENERAL_CFG);
 
-        int userId = login_V40( "60.171.161.56", (short) 18000, "admin", "zxy@7000");  //登录设备
+        int userId = login_V40( "60.171.161.56", (short) 9800, "admin", "zxy@7000");  //登录设备
+        System.out.println("设备通道号"+userId);
 
         Alarm.setAlarm();//报警布防,和报警监听二选一即可
 
@@ -301,6 +302,47 @@ public class Alarm implements CommandLineRunner {
         }
     }
 
+    /**
+     * 控制道闸
+     *  boolean a=HCNetSDK.NET_DVR_RemoteControl(tdh, 3128,  name, cfg.size());
+     */
+    public static boolean controlsDz(int lUserID, int dwCommand, Pointer lpInBuffer, int dwInBufferSize){
+        return hCNetSDK.NET_DVR_RemoteControl(lUserID, dwCommand,  lpInBuffer, dwInBufferSize);
+    }
+
+
+    /**
+     * 控制门禁
+     *  boolean a=HCNetSDK.NET_DVR_RemoteControl(tdh, 3128,  name, cfg.size());
+     */
+    public static boolean controlGateway(int lUserID, int dwCommand,  int dwInBufferSize){
+        return hCNetSDK.NET_DVR_ControlGateway(lUserID, dwCommand,  dwInBufferSize);
+    }
+
+    /**
+     * 控制道闸失败
+     *
+     */
+    public static int controlsDzError(){
+        return hCNetSDK.NET_DVR_GetLastError();
+    }
+
+    /**
+     * 注销用户
+     *
+     */
+    public static boolean logout(int lUserID){
+        return hCNetSDK.NET_DVR_Logout(lUserID);
+    }
+
+    /**
+     * 释放SDK资源
+     *
+     */
+    public static boolean cleanup(){
+        return hCNetSDK.NET_DVR_Cleanup();
+    }
+
     /**
      * 设备登录V30
      *

+ 91 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/camera/CameraController.java

@@ -1,16 +1,21 @@
 package com.ruoyi.web.controller.camera;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.ruoyi.alarm.Alarm;
 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.poi.ExcelUtil;
+import com.ruoyi.hksdk.HCNetSDK;
+import com.ruoyi.system.domain.EquipmentConfiguration;
 import com.ruoyi.system.domain.PersonnelManagement;
 import com.ruoyi.system.domain.vo.CameraInfoVo;
 import com.ruoyi.system.service.CameraService;
+import com.ruoyi.system.service.IEquipmentConfigurationService;
 import com.ruoyi.system.service.IPersonnelManagementService;
+import com.sun.jna.Pointer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -19,7 +24,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
- * 人员管理Controller
+ * 安防管理Controller
  *
  * @author ruoyi
  * @date 2024-02-28
@@ -30,6 +35,8 @@ public class CameraController extends BaseController {
 
     @Autowired
     private CameraService cameraService;
+    @Autowired
+    private IEquipmentConfigurationService equipmentConfigurationService;
 
     /**
      * 查询安防设备列表
@@ -50,5 +57,88 @@ public class CameraController extends BaseController {
         return cameraService.video(cameraIndexCode);
     }
 
+    /**
+     * 设备关闭
+     */
+    @GetMapping("/video/closeDz")
+    public AjaxResult closeDz(EquipmentConfiguration equipmentConfiguration) {
+        equipmentConfiguration = equipmentConfigurationService.selectEquipmentConfigurationByEquipmentName(equipmentConfiguration.getEquipmentName());
+        String ip = equipmentConfiguration.getEquipmentIp();
+        short prot = (short) Short.parseShort(equipmentConfiguration.getEquipmentPort());
+        String login = equipmentConfiguration.getLoginName();
+        String pwd = equipmentConfiguration.getLoginPwd();
+
+        int tdh = Alarm.login_V40( ip, prot, login, pwd);;  //登录设备
+        String ret="落竿失败!";
+        try {
+            HCNetSDK.NET_DVR_BARRIERGATE_CFG cfg = new HCNetSDK.NET_DVR_BARRIERGATE_CFG();
+            // cfg.read();
+            cfg.dwChannel=tdh;  //通道号
+            cfg.dwSize=cfg.size(); //结构体大小
+            cfg.byLaneNo=1; //道闸号:0-表示无效值(设备需要做有效值判断),1-道闸1
+            cfg.byBarrierGateCtrl=0; // 控制参数:0-关闭道闸,1-开启道闸,2-停止道闸,3-锁定道闸
+            cfg.byRes[0]=0; //保留,置为0
+            //起竿操作
+            Pointer name = cfg.getPointer();
+            cfg.write();
+            boolean a=Alarm.controlsDz(tdh, 3128,  name, cfg.size());
+            if(a) {
+                ret="落竿成功!";
+            }else {
+                ret="落竿失败!"+Alarm.controlsDzError();
+                //失败重新布防, 可以不布防
+                //new HikVisionService().run();
+            }
+            System.out.println("关闸结果--"+a+"-- 提示内容:"+ret);
+            //注销用户
+            boolean b=Alarm.logout(tdh);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return AjaxResult.success(ret);
+    }
+
+    /**
+     * 设备打开
+     */
+    @GetMapping("/video/openDz")
+    public AjaxResult openDz(EquipmentConfiguration equipmentConfiguration) {
+        equipmentConfiguration = equipmentConfigurationService.selectEquipmentConfigurationByEquipmentName(equipmentConfiguration.getEquipmentName());
+        String ip = equipmentConfiguration.getEquipmentIp();
+        short prot = (short) Short.parseShort(equipmentConfiguration.getEquipmentPort());
+        String login = equipmentConfiguration.getLoginName();
+        String pwd = equipmentConfiguration.getLoginPwd();
+
+        int tdh = Alarm.login_V40( ip, prot, login, pwd);;  //登录设备
+        //Alarm.setAlarm();
+        String ret="起竿失败!";
+        try {
+            HCNetSDK.NET_DVR_BARRIERGATE_CFG cfg = new HCNetSDK.NET_DVR_BARRIERGATE_CFG();
+            // cfg.read();
+            cfg.dwChannel=tdh;  //通道号
+            cfg.dwSize=cfg.size(); //结构体大小
+            cfg.byLaneNo=1; //道闸号:0-表示无效值(设备需要做有效值判断),1-道闸1
+            cfg.byBarrierGateCtrl=1; // 控制参数:0-关闭道闸,1-开启道闸,2-停止道闸,3-锁定道闸
+            cfg.byRes[0]=0; //保留,置为0
+            //起竿操作
+            Pointer name = cfg.getPointer();
+            cfg.write();
+            boolean a=Alarm.controlsDz(tdh, 3128,  name, cfg.size());
+            if(a) {
+                ret="起竿成功!";
+            }else {
+                ret="起竿失败!"+Alarm.controlsDzError();
+                //失败重新布防, 可以不布防
+                //new HikVisionService().run();
+            }
+            System.out.println("开闸结果--"+a+"-- 提示内容:"+ret);
+            //注销用户
+            boolean b=Alarm.logout(tdh);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return AjaxResult.success(ret);
+    }
+
 
 }

+ 98 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/camera/EquipmentConfigurationController.java

@@ -0,0 +1,98 @@
+package com.ruoyi.web.controller.camera;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.EquipmentConfiguration;
+import com.ruoyi.system.service.IEquipmentConfigurationService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 设备配置(控制抓拍一体机)Controller
+ *
+ * @author ruoyi
+ * @date 2024-08-13
+ */
+@RestController
+@RequestMapping("/system/configuration")
+public class EquipmentConfigurationController extends BaseController {
+    @Autowired
+    private IEquipmentConfigurationService equipmentConfigurationService;
+
+    /**
+     * 查询设备配置(控制抓拍一体机)列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(EquipmentConfiguration equipmentConfiguration) {
+        startPage();
+        List<EquipmentConfiguration> list = equipmentConfigurationService.selectEquipmentConfigurationList(equipmentConfiguration);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出设备配置(控制抓拍一体机)列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:export')")
+    @Log(title = "设备配置(控制抓拍一体机)", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EquipmentConfiguration equipmentConfiguration) {
+        List<EquipmentConfiguration> list = equipmentConfigurationService.selectEquipmentConfigurationList(equipmentConfiguration);
+        ExcelUtil<EquipmentConfiguration> util = new ExcelUtil<EquipmentConfiguration>(EquipmentConfiguration.class);
+        util.exportExcel(response, list, "设备配置(控制抓拍一体机)数据");
+    }
+
+    /**
+     * 获取设备配置(控制抓拍一体机)详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:query')")
+    @GetMapping(value = "/{equipmentId}")
+    public AjaxResult getInfo(@PathVariable("equipmentId") Long equipmentId) {
+        return success(equipmentConfigurationService.selectEquipmentConfigurationByEquipmentId(equipmentId));
+    }
+
+    /**
+     * 新增设备配置(控制抓拍一体机)
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:add')")
+    @Log(title = "设备配置(控制抓拍一体机)", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EquipmentConfiguration equipmentConfiguration) {
+        return toAjax(equipmentConfigurationService.insertEquipmentConfiguration(equipmentConfiguration));
+    }
+
+    /**
+     * 修改设备配置(控制抓拍一体机)
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:edit')")
+    @Log(title = "设备配置(控制抓拍一体机)", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody EquipmentConfiguration equipmentConfiguration) {
+        return toAjax(equipmentConfigurationService.updateEquipmentConfiguration(equipmentConfiguration));
+    }
+
+    /**
+     * 删除设备配置(控制抓拍一体机)
+     */
+    @PreAuthorize("@ss.hasPermi('system:configuration:remove')")
+    @Log(title = "设备配置(控制抓拍一体机)", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{equipmentIds}")
+    public AjaxResult remove(@PathVariable Long[] equipmentIds) {
+        return toAjax(equipmentConfigurationService.deleteEquipmentConfigurationByEquipmentIds(equipmentIds));
+    }
+}

+ 9 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/StatisticsController.java

@@ -37,4 +37,13 @@ public class StatisticsController {
         return clockRecordService.kqdc();
     }
 
+    /**
+     * APP首页统计预约和订餐
+     */
+    @GetMapping(value = "/app/yydc")
+    public AjaxResult yydc()
+    {
+        return bomanReservatService.yydc();
+    }
+
 }

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 过滤请求
                 .authorizeRequests()
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
-                .antMatchers("/login", "/register", "/captchaImage").permitAll()
+                .antMatchers("/login", "/register", "/captchaImage","/camera/**").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/system/app/new").permitAll()

+ 112 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/EquipmentConfiguration.java

@@ -0,0 +1,112 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 设备配置(控制抓拍一体机)对象 equipment_configuration
+ * 
+ * @author ruoyi
+ * @date 2024-08-13
+ */
+public class EquipmentConfiguration extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 设备ID */
+    private Long equipmentId;
+
+    /** 登录账号 */
+    @Excel(name = "登录账号")
+    private String loginName;
+
+    /** 登录密码 */
+    @Excel(name = "登录密码")
+    private String loginPwd;
+
+    /** 设备名称(必须和设备实际配置一样) */
+    @Excel(name = "设备名称", readConverterExp = "必=须和设备实际配置一样")
+    private String equipmentName;
+
+    /** 设备端口(设备8000端口的外网映射端口) */
+    @Excel(name = "设备端口", readConverterExp = "设=备8000端口的外网映射端口")
+    private String equipmentPort;
+
+    /** 设备ip(映射的外网ip) */
+    @Excel(name = "设备ip", readConverterExp = "映=射的外网ip")
+    private String equipmentIp;
+
+    public void setEquipmentId(Long equipmentId) 
+    {
+        this.equipmentId = equipmentId;
+    }
+
+    public Long getEquipmentId() 
+    {
+        return equipmentId;
+    }
+    public void setLoginName(String loginName) 
+    {
+        this.loginName = loginName;
+    }
+
+    public String getLoginName() 
+    {
+        return loginName;
+    }
+    public void setLoginPwd(String loginPwd) 
+    {
+        this.loginPwd = loginPwd;
+    }
+
+    public String getLoginPwd() 
+    {
+        return loginPwd;
+    }
+    public void setEquipmentName(String equipmentName) 
+    {
+        this.equipmentName = equipmentName;
+    }
+
+    public String getEquipmentName() 
+    {
+        return equipmentName;
+    }
+    public void setEquipmentPort(String equipmentPort) 
+    {
+        this.equipmentPort = equipmentPort;
+    }
+
+    public String getEquipmentPort() 
+    {
+        return equipmentPort;
+    }
+    public void setEquipmentIp(String equipmentIp) 
+    {
+        this.equipmentIp = equipmentIp;
+    }
+
+    public String getEquipmentIp() 
+    {
+        return equipmentIp;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("equipmentId", getEquipmentId())
+            .append("loginName", getLoginName())
+            .append("loginPwd", getLoginPwd())
+            .append("equipmentName", getEquipmentName())
+            .append("equipmentPort", getEquipmentPort())
+            .append("equipmentIp", getEquipmentIp())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 63 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/EquipmentConfigurationMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.EquipmentConfiguration;
+
+/**
+ * 设备配置(控制抓拍一体机)Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-13
+ */
+public interface EquipmentConfigurationMapper 
+{
+    /**
+     * 查询设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 设备配置(控制抓拍一体机)
+     */
+    public EquipmentConfiguration selectEquipmentConfigurationByEquipmentId(Long equipmentId);
+
+    /**
+     * 查询设备配置(控制抓拍一体机)列表
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 设备配置(控制抓拍一体机)集合
+     */
+    public List<EquipmentConfiguration> selectEquipmentConfigurationList(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 新增设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    public int insertEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 修改设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    public int updateEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 删除设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 结果
+     */
+    public int deleteEquipmentConfigurationByEquipmentId(Long equipmentId);
+
+    /**
+     * 批量删除设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteEquipmentConfigurationByEquipmentIds(Long[] equipmentIds);
+
+    EquipmentConfiguration selectEquipmentConfigurationByEquipmentName(String equipmentName);
+}

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IBomanReservatService.java

@@ -65,4 +65,5 @@ public interface IBomanReservatService
 
     AjaxResult weekAppointment();
 
+    AjaxResult yydc();
 }

+ 63 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IEquipmentConfigurationService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.EquipmentConfiguration;
+
+/**
+ * 设备配置(控制抓拍一体机)Service接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-13
+ */
+public interface IEquipmentConfigurationService 
+{
+    /**
+     * 查询设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 设备配置(控制抓拍一体机)
+     */
+    public EquipmentConfiguration selectEquipmentConfigurationByEquipmentId(Long equipmentId);
+
+    /**
+     * 查询设备配置(控制抓拍一体机)列表
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 设备配置(控制抓拍一体机)集合
+     */
+    public List<EquipmentConfiguration> selectEquipmentConfigurationList(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 新增设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    public int insertEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 修改设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    public int updateEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration);
+
+    /**
+     * 批量删除设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentIds 需要删除的设备配置(控制抓拍一体机)主键集合
+     * @return 结果
+     */
+    public int deleteEquipmentConfigurationByEquipmentIds(Long[] equipmentIds);
+
+    /**
+     * 删除设备配置(控制抓拍一体机)信息
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 结果
+     */
+    public int deleteEquipmentConfigurationByEquipmentId(Long equipmentId);
+
+    EquipmentConfiguration selectEquipmentConfigurationByEquipmentName(String equipmentName);
+}

+ 71 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BomanReservatServiceImpl.java

@@ -4,6 +4,8 @@ import java.util.*;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.domain.OrderFood;
+import com.ruoyi.system.mapper.OrderFoodMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.BomanReservatMapper;
@@ -21,6 +23,8 @@ public class BomanReservatServiceImpl implements IBomanReservatService
 {
     @Autowired
     private BomanReservatMapper bomanReservatMapper;
+    @Autowired
+    private OrderFoodMapper orderFoodMapper;
 
     /**
      * 查询预约
@@ -125,15 +129,15 @@ public class BomanReservatServiceImpl implements IBomanReservatService
         //预约人数
         int yy = 0;
         BomanReservat bomanReservat = new BomanReservat();
-        bomanReservat.setStartTime(lastMonday);
-        bomanReservat.setEndTime(lastSunday);
+        bomanReservat.setStartTime(monday);
+        bomanReservat.setEndTime(day);
         List<BomanReservat> lastList = bomanReservatMapper.selectBomanReservatTimeList(bomanReservat);
         //访客人数
         int fk = 0;
         if(lastList!=null && lastList.size()>0){
             yy = lastList.size();
         }
-        //周一到周日的访客人数
+        //周一到周日的预约人数
         List<String> yyList = new ArrayList<>();
         //周一到周日的到访人数
         List<String> fkList = new ArrayList<>();
@@ -144,7 +148,7 @@ public class BomanReservatServiceImpl implements IBomanReservatService
             //周几的访客人数
             int weekfk = 0;
             for (BomanReservat reservat : lastList) {
-                if(string.equals(reservat.getVisitDate())){
+                if(string.equals(DateUtils.dateTime(reservat.getVisitDate()))){
                     weekyy++;
                     if("2".equals(reservat.getVisitStatus())){
                         weekfk++;
@@ -163,4 +167,67 @@ public class BomanReservatServiceImpl implements IBomanReservatService
         return AjaxResult.success(resultMap);
     }
 
+    @Override
+    public AjaxResult yydc() {
+        Map<String, Object> resultMap = new HashMap<>();
+        //获取当前日期
+        String day = DateUtils.getDate();
+
+        BomanReservat bomanReservat = new BomanReservat();
+        bomanReservat.setVisitTime(day);
+        List<BomanReservat> lastList = bomanReservatMapper.selectBomanReservatTimeList(bomanReservat);
+        //本月来访数
+        int bylf = 0;
+        //本月预约数
+        int byyy = 0;
+        //今日来访
+        int jrlf = 0;
+        //今日预约
+        int jryy = 0;
+        if(lastList!=null && lastList.size()>0){
+            byyy = lastList.size();
+            for (BomanReservat reservat : lastList) {
+                if("2".equals(reservat.getVisitStatus())){
+                    bylf++;
+                    if(day.contains(DateUtils.dateTime(reservat.getVisitDate()))){
+                        jrlf++;
+                    }
+                }
+                if(day.contains(DateUtils.dateTime(reservat.getVisitDate()))){
+                    jryy++;
+                }
+            }
+        }
+
+        //订餐统计
+        OrderFood orderFood = new OrderFood();
+        orderFood.setOrderFoodTime(DateUtils.parseDate(day));
+        List<OrderFood> orderFoods = orderFoodMapper.selectOrderFoodListR(orderFood);
+        //订餐总人数
+        int dczs = 0;
+        //订餐午餐人数
+        int dcwc = 0;
+        //订餐晚餐人数
+        int dcDinner = 0;
+        if(orderFoods!=null && orderFoods.size()>0){
+            dczs = orderFoods.size();
+            for (OrderFood food : orderFoods) {
+                if("1".equals(food.getOrderFoodType())){
+                    dcwc++;
+                }
+                if("2".equals(food.getOrderFoodType())){
+                    dcDinner++;
+                }
+            }
+        }
+        resultMap.put("bylf",bylf);
+        resultMap.put("byyy",byyy);
+        resultMap.put("jrlf",jrlf);
+        resultMap.put("jryy",jryy);
+        resultMap.put("dczs",dczs);
+        resultMap.put("dcwc",dcwc);
+        resultMap.put("dcDinner",dcDinner);
+        return AjaxResult.success(resultMap);
+    }
+
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClockRecordServiceImpl.java

@@ -190,7 +190,7 @@ public class ClockRecordServiceImpl implements IClockRecordService
         //订餐统计
         OrderFood orderFood = new OrderFood();
         orderFood.setOrderFoodTime(DateUtils.parseDate(day));
-        List<OrderFood> orderFoods = orderFoodMapper.selectOrderFoodList(orderFood);
+        List<OrderFood> orderFoods = orderFoodMapper.selectOrderFoodListR(orderFood);
         //订餐总人数
         int dczs = 0;
         //订餐午餐人数

+ 101 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/EquipmentConfigurationServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.EquipmentConfigurationMapper;
+import com.ruoyi.system.domain.EquipmentConfiguration;
+import com.ruoyi.system.service.IEquipmentConfigurationService;
+
+/**
+ * 设备配置(控制抓拍一体机)Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-08-13
+ */
+@Service
+public class EquipmentConfigurationServiceImpl implements IEquipmentConfigurationService 
+{
+    @Autowired
+    private EquipmentConfigurationMapper equipmentConfigurationMapper;
+
+    /**
+     * 查询设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 设备配置(控制抓拍一体机)
+     */
+    @Override
+    public EquipmentConfiguration selectEquipmentConfigurationByEquipmentId(Long equipmentId)
+    {
+        return equipmentConfigurationMapper.selectEquipmentConfigurationByEquipmentId(equipmentId);
+    }
+
+    /**
+     * 查询设备配置(控制抓拍一体机)列表
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 设备配置(控制抓拍一体机)
+     */
+    @Override
+    public List<EquipmentConfiguration> selectEquipmentConfigurationList(EquipmentConfiguration equipmentConfiguration)
+    {
+        return equipmentConfigurationMapper.selectEquipmentConfigurationList(equipmentConfiguration);
+    }
+
+    /**
+     * 新增设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    @Override
+    public int insertEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration)
+    {
+        equipmentConfiguration.setCreateTime(DateUtils.getNowDate());
+        return equipmentConfigurationMapper.insertEquipmentConfiguration(equipmentConfiguration);
+    }
+
+    /**
+     * 修改设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentConfiguration 设备配置(控制抓拍一体机)
+     * @return 结果
+     */
+    @Override
+    public int updateEquipmentConfiguration(EquipmentConfiguration equipmentConfiguration)
+    {
+        equipmentConfiguration.setUpdateTime(DateUtils.getNowDate());
+        return equipmentConfigurationMapper.updateEquipmentConfiguration(equipmentConfiguration);
+    }
+
+    /**
+     * 批量删除设备配置(控制抓拍一体机)
+     * 
+     * @param equipmentIds 需要删除的设备配置(控制抓拍一体机)主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEquipmentConfigurationByEquipmentIds(Long[] equipmentIds)
+    {
+        return equipmentConfigurationMapper.deleteEquipmentConfigurationByEquipmentIds(equipmentIds);
+    }
+
+    /**
+     * 删除设备配置(控制抓拍一体机)信息
+     * 
+     * @param equipmentId 设备配置(控制抓拍一体机)主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEquipmentConfigurationByEquipmentId(Long equipmentId)
+    {
+        return equipmentConfigurationMapper.deleteEquipmentConfigurationByEquipmentId(equipmentId);
+    }
+
+    @Override
+    public EquipmentConfiguration selectEquipmentConfigurationByEquipmentName(String equipmentName) {
+        return equipmentConfigurationMapper.selectEquipmentConfigurationByEquipmentName(equipmentName);
+    }
+}

+ 5 - 0
ruoyi-system/src/main/resources/mapper/system/BomanReservatMapper.xml

@@ -71,6 +71,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectBomanReservatVo"/>
         <where>
             <if test="visitStatus != null  and visitStatus != ''"> and visit_status = #{visitStatus}</if>
+
+            <if test="visitDate != null  and visitDate != ''">
+                AND date_format(visit_date,'%y%m') = date_format(#{visitDate},'%y%m')
+            </if>
+
             <if test="startTime != null and startTime != ''"><!-- 开始时间检索 -->
                 AND visit_date &gt;= #{startTime}
             </if>

+ 100 - 0
ruoyi-system/src/main/resources/mapper/system/EquipmentConfigurationMapper.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.EquipmentConfigurationMapper">
+    
+    <resultMap type="EquipmentConfiguration" id="EquipmentConfigurationResult">
+        <result property="equipmentId"    column="equipment_id"    />
+        <result property="loginName"    column="login_name"    />
+        <result property="loginPwd"    column="login_pwd"    />
+        <result property="equipmentName"    column="equipment_name"    />
+        <result property="equipmentPort"    column="equipment_port"    />
+        <result property="equipmentIp"    column="equipment_ip"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectEquipmentConfigurationVo">
+        select equipment_id, login_name, login_pwd, equipment_name, equipment_port, equipment_ip, create_by, create_time, update_by, update_time, remark from equipment_configuration
+    </sql>
+
+    <select id="selectEquipmentConfigurationList" parameterType="EquipmentConfiguration" resultMap="EquipmentConfigurationResult">
+        <include refid="selectEquipmentConfigurationVo"/>
+        <where>  
+            <if test="loginName != null  and loginName != ''"> and login_name like concat('%', #{loginName}, '%')</if>
+            <if test="loginPwd != null  and loginPwd != ''"> and login_pwd = #{loginPwd}</if>
+            <if test="equipmentName != null  and equipmentName != ''"> and equipment_name like concat('%', #{equipmentName}, '%')</if>
+            <if test="equipmentPort != null  and equipmentPort != ''"> and equipment_port = #{equipmentPort}</if>
+            <if test="equipmentIp != null  and equipmentIp != ''"> and equipment_ip = #{equipmentIp}</if>
+        </where>
+    </select>
+    
+    <select id="selectEquipmentConfigurationByEquipmentId" parameterType="Long" resultMap="EquipmentConfigurationResult">
+        <include refid="selectEquipmentConfigurationVo"/>
+        where equipment_id = #{equipmentId}
+    </select>
+    <select id="selectEquipmentConfigurationByEquipmentName" parameterType="Long" resultMap="EquipmentConfigurationResult">
+        <include refid="selectEquipmentConfigurationVo"/>
+        where equipment_name =  #{equipmentName} limit 1
+    </select>
+
+    <insert id="insertEquipmentConfiguration" parameterType="EquipmentConfiguration" useGeneratedKeys="true" keyProperty="equipmentId">
+        insert into equipment_configuration
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="loginName != null and loginName != ''">login_name,</if>
+            <if test="loginPwd != null and loginPwd != ''">login_pwd,</if>
+            <if test="equipmentName != null">equipment_name,</if>
+            <if test="equipmentPort != null">equipment_port,</if>
+            <if test="equipmentIp != null">equipment_ip,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="loginName != null and loginName != ''">#{loginName},</if>
+            <if test="loginPwd != null and loginPwd != ''">#{loginPwd},</if>
+            <if test="equipmentName != null">#{equipmentName},</if>
+            <if test="equipmentPort != null">#{equipmentPort},</if>
+            <if test="equipmentIp != null">#{equipmentIp},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEquipmentConfiguration" parameterType="EquipmentConfiguration">
+        update equipment_configuration
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="loginName != null and loginName != ''">login_name = #{loginName},</if>
+            <if test="loginPwd != null and loginPwd != ''">login_pwd = #{loginPwd},</if>
+            <if test="equipmentName != null">equipment_name = #{equipmentName},</if>
+            <if test="equipmentPort != null">equipment_port = #{equipmentPort},</if>
+            <if test="equipmentIp != null">equipment_ip = #{equipmentIp},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where equipment_id = #{equipmentId}
+    </update>
+
+    <delete id="deleteEquipmentConfigurationByEquipmentId" parameterType="Long">
+        delete from equipment_configuration where equipment_id = #{equipmentId}
+    </delete>
+
+    <delete id="deleteEquipmentConfigurationByEquipmentIds" parameterType="String">
+        delete from equipment_configuration where equipment_id in 
+        <foreach item="equipmentId" collection="array" open="(" separator="," close=")">
+            #{equipmentId}
+        </foreach>
+    </delete>
+</mapper>