sgj
7 天以前 5b9d5e7c3b714b2ccb3e9e355a376e4c85bb9f8d
添加第一版,电子巡更页面
已修改2个文件
已添加15个文件
1041 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/BizBaseEntity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PatrolConf.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolConfMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolRecordMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PatrolConfService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PatrolService.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/patrol/PatrolConfController.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/patrol/PatrolController.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/patrol/PatrolConfManager.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/patrol/PatrolManager.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/add.html 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/edit.html 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/patrol.html 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/add.html 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/edit.html 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/patrolConf.html 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/BizBaseEntity.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import javax.persistence.*;
@@ -22,11 +23,13 @@
    private String companyId;
    /** åˆ›å»ºäºº */
    @Excel(name = "创建者",sort = 25)
    @Column(name = "create_by", columnDefinition = "VARCHAR(100) COMMENT '创建人'", nullable = false)
    @TableField("create_by")
    private String createBy;
    /** åˆ›å»ºæ—¶é—´ */
    @Excel(name = "创建时间",sort = 26, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "create_time", columnDefinition = "DATETIME COMMENT '创建时间'", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
@@ -34,11 +37,13 @@
    private Date createTime;
    /** æ›´æ–°äºº */
    @Excel(name = "更新者",sort = 27)
    @Column(name = "update_by", columnDefinition = "VARCHAR(100) COMMENT '更新人'")
    @TableField("update_by")
    private String updateBy;
    /** æ›´æ–°æ—¶é—´ */
    @Excel(name = "更新时间",sort = 28, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "update_time", columnDefinition = "DATETIME COMMENT '更新时间'")
    @Temporal(TemporalType.TIMESTAMP)
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PatrolConf.java
@@ -1,6 +1,8 @@
package com.fzzy.igds.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -25,6 +27,7 @@
    @Id
    @Column(name = "batch_id", columnDefinition = "varchar(40) COMMENT '班次编号'")
    @TableId(value = "batch_id", type = IdType.NONE)
    @TableField("batch_id")
    private String batchId;
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolConfMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.fzzy.igds.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzzy.igds.domain.PatrolConf;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PatrolConfMapper extends BaseMapper<PatrolConf> {
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.fzzy.igds.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzzy.igds.domain.Patrol;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PatrolMapper extends BaseMapper<Patrol> {
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PatrolRecordMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.fzzy.igds.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzzy.igds.domain.PatrolRecord;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PatrolRecordMapper extends BaseMapper<PatrolRecord> {
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PatrolConfService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fzzy.igds.domain.PatrolConf;
import com.fzzy.igds.mapper.PatrolConfMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
public class PatrolConfService {
    @Resource
    private PatrolConfMapper patrolConfMapper;
    /**
     * æŸ¥è¯¢åˆ—表数据
     *
     * @param param æŸ¥è¯¢å‚æ•°
     * @return æ•°æ®åˆ—表
     */
    public List<PatrolConf> selectList(PatrolConf param) {
        QueryWrapper<PatrolConf> queryWrapper = getQueryWrapper(param);
        return patrolConfMapper.selectList(queryWrapper);
    }
    /**
     * å°è£…查询条件
     *
     * @param param æŸ¥è¯¢å‚æ•°
     * @return æŸ¥è¯¢æž„造器
     */
    public QueryWrapper<PatrolConf> getQueryWrapper(PatrolConf param) {
        QueryWrapper<PatrolConf> queryWrapper = new QueryWrapper<>();
        // è®¾ç½®å…¬å¸ID并作为查询条件
        param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        // æŒ‰åˆ›å»ºæ—¶é—´å€’序排序
        queryWrapper.orderByDesc("create_time");
        return queryWrapper;
    }
    /**
     * æ ¹æ®ID查询详情
     *
     * @param id ä¸»é”®ID
     * @return å®žä½“对象
     */
    public PatrolConf selectById(String id) {
        return patrolConfMapper.selectById(id);
    }
    /**
     * æ’入新数据
     *
     * @param param æ•°æ®å®žä½“
     * @return å½±å“è¡Œæ•°
     */
    public int insertData(PatrolConf param) {
        if (StringUtils.isEmpty(param.getBatchId())) {
            param.setBatchId(ContextUtil.generateId());
        }
        return patrolConfMapper.insert(param);
    }
    /**
     * æ›´æ–°å·²æœ‰æ•°æ®
     *
     * @param param æ•°æ®å®žä½“
     * @return å½±å“è¡Œæ•°
     */
    public int updateData(PatrolConf param) {
        return patrolConfMapper.updateById(param);
    }
    /**
     * åˆ é™¤æŒ‡å®šID的数据
     *
     * @param ids       è¦åˆ é™¤çš„记录ID集合(逗号分隔)
     */
    public void deleteDataById( String ids) {
        String[] recordIds = Convert.toStrArray(ids);
        for (String recordId : recordIds) {
            patrolConfMapper.deleteById(recordId);
        }
    }
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PatrolService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fzzy.igds.domain.Patrol;
import com.fzzy.igds.mapper.PatrolMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
public class PatrolService {
    @Resource
    private PatrolMapper patrolMapper;
    public List<Patrol> selectList(Patrol param) {
        QueryWrapper<Patrol> queryWrapper = getQueryWrapper(param);
        return patrolMapper.selectList(queryWrapper);
    }
    /**
     * å°è£…查询条件
     *
     * @param param
     */
    public QueryWrapper<Patrol> getQueryWrapper(Patrol param) {
        QueryWrapper<Patrol> queryWrapper = new QueryWrapper<>();
        param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        if (StringUtils.isNotBlank(param.getDeptId())) {
            queryWrapper.eq("dept_id", param.getDeptId());
        }
        queryWrapper.orderByDesc("create_time");
        return queryWrapper;
    }
    public Patrol selectById(String id) {
        return patrolMapper.selectById(id);
    }
    public int insertData(Patrol param) {
        if (StringUtils.isEmpty(param.getId())) {
            param.setId(ContextUtil.generateId());
        }
        return patrolMapper.insert(param);
    }
    public int updateData(Patrol param) {
        return patrolMapper.updateById(param);
    }
    public void deleteDataById( String ids) {
        String[] recordIds = Convert.toStrArray(ids);
        for (String recordId : recordIds) {
            patrolMapper.deleteById(recordId);
        }
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/patrol/PatrolConfController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,144 @@
package com.fzzy.sys.controller.patrol;
import com.fzzy.igds.domain.PatrolConf;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.sys.manager.patrol.PatrolConfManager;
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.apache.shiro.authz.annotation.RequiresPermissions;
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("/patrol/patrolConf")
public class PatrolConfController extends BaseController {
    private static final String prefix = "patrol/patrolConf";
    @Resource
    private PatrolConfManager patrolConfManager;
    /**
     * å·¡æ›´é…ç½®é¡µé¢
     */
    @RequiresPermissions("web:patrol:patrolConf:view")
    @GetMapping()
    public String patrolConf() {
        return prefix + "/patrolConf";
    }
    /**
     * æŸ¥è¯¢å·¡æ›´é…ç½®åˆ—表
     */
    @RequiresPermissions("web:patrol:patrolConf:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(PatrolConf param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        startPage();
        List<PatrolConf> list = patrolConfManager.selectList(param);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºå·¡æ›´é…ç½®åˆ—表
     */
    @Log(title = "巡更配置管理", businessType = BusinessType.EXPORT)
    @RequiresPermissions("web:patrol:patrolConf:export")
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(PatrolConf param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        List<PatrolConf> list = patrolConfManager.selectList(param);
        ExcelUtil<PatrolConf> util = new ExcelUtil<>(PatrolConf.class);
        return util.exportExcel(list, "巡更配置数据");
    }
    /**
     * æ–°å¢žå·¡æ›´é…ç½®é¡µé¢
     */
    @GetMapping("/add")
    public String add(ModelMap mmap) {
        return prefix + "/add";
    }
    /**
     * æ–°å¢žå·¡æ›´é…ç½®æ•°æ®
     */
    @RequiresPermissions("web:patrol:patrolConf:add")
    @Log(title = "巡更配置管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(@Validated PatrolConf param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        param.setCreateBy(getLoginName());
        param.setCreateTime(new Date());
        if (StringUtils.isEmpty(param.getBatchId())) {
            param.setBatchId(ContextUtil.generateId());
        }
        return toAjax(patrolConfManager.insertData(param));
    }
    /**
     * ä¿®æ”¹å·¡æ›´é…ç½®é¡µé¢
     */
    @RequiresPermissions("web:patrol:patrolConf:edit")
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") String id, ModelMap mmap) {
        PatrolConf record = patrolConfManager.selectById(id);
        mmap.put("patrolConf", record);
        return prefix + "/edit";
    }
    /**
     * ä¿®æ”¹å·¡æ›´é…ç½®æ•°æ®
     */
    @RequiresPermissions("web:patrol:patrolConf:edit")
    @Log(title = "巡更配置管理", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(@Validated PatrolConf param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        param.setUpdateBy(getLoginName());
        param.setUpdateTime(new Date());
        PatrolConf patrolConf = patrolConfManager.selectById(param.getBatchId());
        if (patrolConf == null) {
            param.setBatchId(ContextUtil.generateId());
            return toAjax(patrolConfManager.insertData(param));
        }
        return toAjax(patrolConfManager.updateData(param));
    }
    /**
     * åˆ é™¤å·¡æ›´é…ç½®æ•°æ®
     */
    @RequiresPermissions("web:patrol:patrolConf:remove")
    @Log(title = "巡更配置管理", businessType = BusinessType.DELETE)
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(String ids) {
        patrolConfManager.deleteDataById( ids);
        return success();
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/patrol/PatrolController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,148 @@
package com.fzzy.sys.controller.patrol;
import com.fzzy.igds.domain.Patrol;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.sys.manager.patrol.PatrolManager;
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.apache.shiro.authz.annotation.RequiresPermissions;
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("/patrol")
public class PatrolController extends BaseController {
    private static final String prefix = "patrol";
    @Resource
    private PatrolManager patrolManager;
    /**
     * ç”µå­å·¡æ›´é¡µé¢
     *
     * @author sgj
     * @date 2025/12/06
     */
    @RequiresPermissions("web:patrol:view")
    @GetMapping()
    public String patrol() {
        return prefix + "/patrol";
    }
    /**
     * æŸ¥è¯¢ç”µå­å·¡æ›´åˆ—表
     */
    @RequiresPermissions("web:patrol:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(Patrol param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        startPage();
        List<Patrol> list = patrolManager.selectList(param);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºç”µå­å·¡æ›´åˆ—表
     */
    @Log(title = "电子巡更管理", businessType = BusinessType.EXPORT)
    @RequiresPermissions("web:patrol:export")
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(Patrol param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        List<Patrol> list = patrolManager.selectList(param);
        ExcelUtil<Patrol> util = new ExcelUtil<>(Patrol.class);
        return util.exportExcel(list, "电子巡更数据");
    }
    /**
     * æ–°å¢žç”µå­å·¡æ›´é¡µé¢
     */
    @GetMapping("/add")
    public String add(ModelMap mmap) {
        return prefix + "/add";
    }
    /**
     * æ–°å¢žç”µå­å·¡æ›´æ•°æ®
     */
    @RequiresPermissions("web:patrol:add")
    @Log(title = "电子巡更管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(@Validated Patrol 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(patrolManager.insertData(param));
    }
    /**
     * ä¿®æ”¹ç”µå­å·¡æ›´é¡µé¢
     */
    @RequiresPermissions("web:patrol:edit")
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") String id, ModelMap mmap) {
        String companyId = ShiroUtils.getLoginUserCompanyId();
        Patrol record = patrolManager.selectById(id);
        mmap.put("patrol", record);
        return prefix + "/edit";
    }
    /**
     * ä¿®æ”¹ç”µå­å·¡æ›´æ•°æ®
     */
    @RequiresPermissions("web:patrol:edit")
    @Log(title = "电子巡更管理", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(@Validated Patrol param) {
        if (null == param.getCompanyId()) {
            param.setCompanyId(ShiroUtils.getLoginUserCompanyId());
        }
        param.setUpdateBy(getLoginName());
        param.setUpdateTime(new Date());
        Patrol patrol = patrolManager.selectById(param.getId());
        if (patrol == null) {
            param.setId(ContextUtil.generateId());
            return toAjax(patrolManager.insertData(param));
        }
        return toAjax(patrolManager.updateData(param));
    }
    /**
     * åˆ é™¤ç”µå­å·¡æ›´æ•°æ®
     */
    @RequiresPermissions("web:patrol:remove")
    @Log(title = "电子巡更管理", businessType = BusinessType.DELETE)
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(String ids) {
        patrolManager.deleteDataById(ids);
        return success();
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/patrol/PatrolConfManager.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.fzzy.sys.manager.patrol;
import com.fzzy.igds.domain.PatrolConf;
import com.fzzy.igds.service.PatrolConfService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Component
public class PatrolConfManager {
    @Resource
    private PatrolConfService patrolConfService;
    public List<PatrolConf> selectList(PatrolConf param) {
        return patrolConfService.selectList(param);
    }
    public PatrolConf selectById(String id) {
        return patrolConfService.selectById(id);
    }
    public int insertData(PatrolConf param) {
        return patrolConfService.insertData(param);
    }
    public int updateData(PatrolConf param) {
        return patrolConfService.updateData(param);
    }
    public void deleteDataById( String ids) {
        patrolConfService.deleteDataById( ids);
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/patrol/PatrolManager.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package com.fzzy.sys.manager.patrol;
import com.fzzy.igds.domain.Patrol;
import com.fzzy.igds.service.PatrolService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Component
public class PatrolManager {
    @Resource
    private PatrolService patrolService;
    public List<Patrol> selectList(Patrol param) {
        return patrolService.selectList(param);
    }
    public Patrol selectById( String id) {
        return patrolService.selectById( id);
    }
    public int insertData(Patrol param) {
        return patrolService.insertData(param);
    }
    public int updateData(Patrol param) {
        return patrolService.updateData(param);
    }
    public void deleteDataById( String ids) {
         patrolService.deleteDataById(ids);
    }
}
fzzy-igdss-web/src/main/resources/templates/patrol/add.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header('新增电子巡更信息')"/>
    <th:block th:include="include :: select2-css"/>
</head>
<body>
<div class="main-content">
    <form id="form-patrol-add" class="form-horizontal">
        <input name="deptId" type="hidden" id="treeId"/>
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">所属库区:</label>
                    <div class="col-sm-8">
                        <input name="deptId" placeholder="请输入名称" class="form-control " type="text" maxlength="100"
                               required>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label">班次编号:</label>
                    <div class="col-sm-8">
                        <input name="batchId" id="batchId" placeholder="请输入" class="form-control " type="text"
                               maxlength="30">
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">巡逻人:</label>
                    <div class="col-sm-8">
                        <input name="userName" id="userName" placeholder="请输入" class="form-control " type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: select2-js"/>
<script>
    var prefix = ctx + "patrol";
    $("#form-cabinet-add").validate({
        onkeyup: false,
        rules: {},
        messages: {},
        focusCleanup: true
    });
    // ç¡®å®šæŒ‰é’® æäº¤æ•°æ®
    function submitHandler() {
        if ($.validate.form()) {
            $.operate.save(prefix + "/add", $('#form-patrol-add').serialize());
        }
    }
</script>
</body>
</html>
fzzy-igdss-web/src/main/resources/templates/patrol/edit.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header('修改电子巡更信息')"/>
    <th:block th:include="include :: select2-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
    <form class="form-horizontal m" id="form-patrol-edit" th:object="${patrol}">
        <input id="id" name="id" th:field="*{id}" type="hidden">
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">所属库区:</label>
                    <div class="col-sm-8">
                        <input name="deptId" placeholder="请输入名称" th:field="*{deptId}" class="form-control " type="text"
                               maxlength="100"
                               required>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label">班次编号:</label>
                    <div class="col-sm-8">
                        <input name="batchId" id="batchId" th:field="*{batchId}" placeholder="请输入" class="form-control "
                               type="text" maxlength="30">
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">巡逻人:</label>
                    <div class="col-sm-8">
                        <input name="userName" id="userName" th:field="*{userName}" placeholder="请输入" class="form-control "
                               type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: select2-js"/>
<script type="text/javascript">
    var prefix = ctx + "patrol";
    $("#form-cabinet-edit").validate({
        onkeyup: false,
        rules: {},
        messages: {},
        focusCleanup: true
    });
    function submitHandler() {
        if ($.validate.form()) {
            $.operate.save(prefix + "/edit", $('#form-patrol-edit').serialize());
        }
    }
</script>
</body>
</html>
fzzy-igdss-web/src/main/resources/templates/patrol/patrol.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('参数列表')" />
    <th:block th:include="include :: select2-css" />
</head>
<body class="gray-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 search-collapse">
            <form id="property-form">
                <div class="select-list">
                    <ul>
                        <li>
                            åç§°ï¼š<input type="text" name="name"/>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>
        <div class="btn-group-sm" id="toolbar" role="group">
            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="web:patrol:add">
                <i class="fa fa-plus"></i> æ–°å¢ž
            </a>
            <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="web:patrol:edit">
                <i class="fa fa-edit"></i> ä¿®æ”¹
            </a>
            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="web:patrol:remove">
                <i class="fa fa-remove"></i> åˆ é™¤
            </a>
            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="web:patrol:export">
                <i class="fa fa-download"></i> å¯¼å‡º
            </a>
            <a class="btn btn-success" onclick="openPatrolConf()" shiro:hasPermission="web:patrol:patrolConf:edit">
                <i class="fa fa-plus"></i> å·¡æ›´é…ç½®
            </a>
        </div>
        <div class="col-sm-12 select-table table-striped">
            <table id="bootstrap-table"></table>
        </div>
    </div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" />
<script th:inline="javascript">
    var editFlag = [[${@permission.hasPermi('web:patrol:edit')}]];
    var removeFlag = [[${@permission.hasPermi('web:patrol:remove')}]];
    var prefix = ctx + "patrol";
    $(function() {
        var options = {
            url: prefix + "/list",
            createUrl: prefix + "/add",
            updateUrl: prefix + "/edit/{id}",
            removeUrl: prefix + "/remove",
            exportUrl: prefix + "/export",
            sortName: "id",
            sortOrder: "asc",
            modalName: "参数",
            columns: [{
                checkbox: true
            },
                {
                    field: 'id',
                    title: '主键',
                    visible: false,
                },
                {
                    field: 'deptId',
                    title: '所属库区',
                    align: 'left',
                    // formatter: function(value, row, index) {
                    //     return $.table.tooltip(value);
                    // }
                },
                {
                    field: 'batchId',
                    title: '班次编号',
                    align: 'left',
                    // formatter: function(value, row, index) {
                    //     return $.table.tooltip(value);
                    // }
                },
                {
                    field: 'userName',
                    title: '巡逻人',
                    // formatter: function(value, row, index) {
                    //     return $.table.tooltip(value);
                    // }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    });
    function openPatrolConf() {
        var url = ctx + "patrol/patrolConf";
        $.modal.openTab("巡更配置", url);
    }
</script>
</body>
</html>
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/add.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header('新增巡更配置')"/>
    <th:block th:include="include :: select2-css"/>
</head>
<body>
<div class="main-content">
    <form id="form-patrol-add" class="form-horizontal">
        <input name="deptId" type="hidden" id="treeId"/>
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">班次名称:</label>
                    <div class="col-sm-8">
                        <input name="batchName" id="batchName" placeholder="请输入" class="form-control " type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">巡逻人:</label>
                    <div class="col-sm-8">
                        <input name="userName" id="userName" placeholder="请输入" class="form-control " type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: select2-js"/>
<script>
    var prefix = ctx + "patrol/patrolConf";
    $("#form-cabinet-add").validate({
        onkeyup: false,
        rules: {},
        messages: {},
        focusCleanup: true
    });
    // ç¡®å®šæŒ‰é’® æäº¤æ•°æ®
    function submitHandler() {
        if ($.validate.form()) {
            $.operate.save(prefix + "/add", $('#form-patrol-add').serialize());
        }
    }
</script>
</body>
</html>
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/edit.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header('修改巡更配置')"/>
    <th:block th:include="include :: select2-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
    <form class="form-horizontal m" id="form-patrol-edit" th:object="${patrolConf}">
        <input id="id" name="id" th:field="*{batchId}" type="hidden">
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">班次名称:</label>
                    <div class="col-sm-8">
                        <input name="batchName" id="batchName" th:field="*{batchName}" placeholder="请输入" class="form-control "
                               type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <div class="form-group">
                    <label class="col-sm-4 control-label is-required">巡逻人:</label>
                    <div class="col-sm-8">
                        <input name="userName" id="userName" th:field="*{userName}" placeholder="请输入" class="form-control "
                               type="text"
                               maxlength="30" required>
                    </div>
                </div>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: select2-js"/>
<script type="text/javascript">
    var prefix = ctx + "patrol/patrolConf";
    $("#form-cabinet-edit").validate({
        onkeyup: false,
        rules: {},
        messages: {},
        focusCleanup: true
    });
    function submitHandler() {
        if ($.validate.form()) {
            $.operate.save(prefix + "/edit", $('#form-patrol-edit').serialize());
        }
    }
</script>
</body>
</html>
fzzy-igdss-web/src/main/resources/templates/patrol/patrolConf/patrolConf.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('参数列表')" />
    <th:block th:include="include :: select2-css" />
</head>
<body class="gray-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 search-collapse">
            <form id="property-form">
                <div class="select-list">
                    <ul>
                        <li>
                            åç§°ï¼š<input type="text" name="name"/>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>
        <div class="btn-group-sm" id="toolbar" role="group">
            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="web:patrol:patrolConf:add">
                <i class="fa fa-plus"></i> æ–°å¢ž
            </a>
            <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="web:patrol:patrolConf:edit">
                <i class="fa fa-edit"></i> ä¿®æ”¹
            </a>
            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="web:patrol:patrolConf:remove">
                <i class="fa fa-remove"></i> åˆ é™¤
            </a>
            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="web:patrol:patrolConf:export">
                <i class="fa fa-download"></i> å¯¼å‡º
            </a>
        </div>
        <div class="col-sm-12 select-table table-striped">
            <table id="bootstrap-table"></table>
        </div>
    </div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" />
<script th:inline="javascript">
    var editFlag = [[${@permission.hasPermi('web:patrol:patrolConf:edit')}]];
    var removeFlag = [[${@permission.hasPermi('web:patrol:patrolConf:remove')}]];
    var prefix = ctx + "patrol/patrolConf";
    $(function() {
        var options = {
            url: prefix + "/list",
            createUrl: prefix + "/add",
            updateUrl: prefix + "/edit/{id}",
            removeUrl: prefix + "/remove",
            exportUrl: prefix + "/export",
            sortName: "batchId",
            sortOrder: "asc",
            modalName: "参数",
            columns: [{
                checkbox: true
            },
                {
                    field: 'batchId',
                    title: '主键',
                    visible: false,
                },
                {
                    field: 'batchName',
                    title: '班次名称',
                    align: 'left',
                    // formatter: function(value, row, index) {
                    //     return $.table.tooltip(value);
                    // }
                },
                {
                    field: 'userName',
                    title: '巡逻人',
                    // formatter: function(value, row, index) {
                    //     return $.table.tooltip(value);
                    // }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.batchId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.batchId + '\')"><i class="fa fa-remove"></i>删除</a>');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    });
</script>
</body>
</html>