sgj
2026-01-26 bc427c64d8c9066eda7a817c7c7926954e39abb0
删除操作添加日志记录,系统添加定时删除操作日志
已修改24个文件
已添加1个文件
693 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/SystemScheduled.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/BankPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/CameraMediaPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotConfPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DeviceIotPR.java 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DeviceSerPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DicAreaPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySerPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutConfPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/QuantityConfPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/SloganPR.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/grain/GrainController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/monitor/SysOperlogController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/monitor/operlog/operlog.html 382 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
@@ -1,5 +1,6 @@
package com.fzzy.igds.service;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.constant.*;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.work.data.WorkStatus;
@@ -390,4 +391,19 @@
        list.add(new SysDictData("出库", Constant.TYPE_OUT));
        return list;
    }
    /**
     *
     * @return
     */
    public List<SysDictData> getBizType() {
        List<SysDictData> list = new ArrayList<SysDictData>();
        list.add(new SysDictData(BizTypeEnum.SYS.getMsg(), BizTypeEnum.SYS.getCode()));
        list.add(new SysDictData(BizTypeEnum.INOUT.getMsg(), BizTypeEnum.INOUT.getCode()));
        list.add(new SysDictData(BizTypeEnum.GRAIN.getMsg(), BizTypeEnum.GRAIN.getCode()));
        list.add(new SysDictData(BizTypeEnum.SECURITY.getMsg(), BizTypeEnum.SECURITY.getCode()));
        list.add(new SysDictData(BizTypeEnum.SUPERVISION.getMsg(), BizTypeEnum.SUPERVISION.getCode()));
        list.add(new SysDictData(BizTypeEnum.SCREEN.getMsg(), BizTypeEnum.SCREEN.getCode()));
        return list;
    }
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/SystemScheduled.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
package com.fzzy.igds.timer;
import com.fzzy.common.constant.BizTypeEnum;
import com.ruoyi.common.config.FrameworkConfig;
import com.ruoyi.common.enums.BusinessStatus;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OperatorType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysCompany;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.service.ISysCompanyService;
import com.ruoyi.system.service.ISysOperLogService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@EnableScheduling
@Slf4j
@Component
public class SystemScheduled {
    @Resource
    private ISysOperLogService operLogService;
    @Resource
    private ISysCompanyService companyService;
    @Resource
    private ISysOperLogService sysOperLogService;
    /**
     *
     */
    @Scheduled(cron = "0 0 1 */30 * ?")
    public void cronJob1() {
        try {
            log.info("------------每30天的凌晨1点执行清除操作日志开始------------");
            //执行清除日志方法
            doCronHob1();
            //添加清除日志记录
            SysOperLog operLog = new SysOperLog();
            operLog.setStatus(BusinessStatus.SUCCESS.ordinal());
            operLog.setMethod("com.fzzy.igds.timer.SystemScheduled.cronJob1()");
            operLog.setCompanyId(FrameworkConfig.getCompanyId());
            operLog.setBusinessType(BusinessType.CLEAN.ordinal());
            operLog.setTitle("定时任务,定时清除操作日志");
            operLog.setOperatorType(OperatorType.MANAGE.ordinal());
            operLog.setBizType(BizTypeEnum.SYS.getCode());
            operLog.setOperName(FrameworkConfig.getName());
            operLog.setOperTime(new Date());
            sysOperLogService.insertOperlog(operLog);
            log.info("------------每30天的凌晨1点执行清除操作日志结束------------");
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
    }
    public void doCronHob1() {
        //获取系统中所有的companyId
        List<SysCompany> sysCompanies = companyService.selectAll();
        for (SysCompany sysCompany : sysCompanies) {
            if (StringUtils.isNotBlank(sysCompany.getCompanyId())) {
                log.info("------------清除组织编码【{}】操作日志------------", sysCompany.getCompanyId());
                operLogService.cleanOperLog(sysCompany.getCompanyId());
            }
        }
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/BankPR.java
@@ -3,10 +3,13 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.Bank;
import com.fzzy.igds.service.BankService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -55,6 +58,7 @@
     * @return
     */
    @Expose
    @Log(title = "银行管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public BaseResp delete(Bank bank){
        if(StringUtils.isNotEmpty(bank.getId())) return bankService.deleteData(bank);
        return BaseResp.success();
fzzy-igdss-view/src/main/java/com/fzzy/igds/CameraMediaPR.java
@@ -3,9 +3,12 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.camera.data.ydqly.YdQlyNode;
import com.fzzy.igds.domain.CameraMedia;
import com.fzzy.igds.service.CameraMediaService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -54,6 +57,7 @@
     * @return å¼‚常信息
     */
    @Expose
    @Log(title = "流媒体配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SECURITY)
    public String delData(CameraMedia data) {
        if (StringUtils.isEmpty(data.getId())) {
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotConfPR.java
@@ -3,8 +3,11 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.DepotConf;
import com.fzzy.igds.service.DepotConfService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -52,6 +55,7 @@
     * @param conf
     */
    @Expose
    @Log(title = "粮情配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.GRAIN)
    public void delDepotConf(DepotConf conf) {
        DepotConf depotConf = new DepotConf();
        BeanUtils.copyProperties(conf, depotConf);
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
@@ -3,10 +3,13 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -67,6 +70,7 @@
     */
    @Expose
    @Transactional
    @Log(title = "库区管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public void deleteDepot(Depot data) {
        Depot depot = new Depot();
        BeanUtils.copyProperties(data, depot);
fzzy-igdss-view/src/main/java/com/fzzy/igds/DeviceIotPR.java
@@ -6,12 +6,16 @@
import com.bstek.dorado.data.entity.EntityState;
import com.bstek.dorado.data.entity.EntityUtils;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.DeviceIotParam;
import com.fzzy.igds.domain.DeviceIot;
import com.fzzy.igds.service.DeviceIotService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@@ -23,68 +27,69 @@
@Component
public class DeviceIotPR {
    @Resource
    private DeviceIotService deviceIotService;
    @Resource
    private DeviceIotService deviceIotService;
    /**
     * æŸ¥è¯¢è®¾å¤‡,将操作信息调整为空
     *
     * deviceIotPR#loadDeviceIotPage
     *
     * @param page
     * @param param
     * @return
     */
    @DataProvider
    public void loadDeviceIotPage(Page<DeviceIot> page, DeviceIotParam param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<DeviceIot> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
    /**
     * æŸ¥è¯¢è®¾å¤‡,将操作信息调整为空
     * <p>
     * deviceIotPR#loadDeviceIotPage
     *
     * @param page
     * @param param
     * @return
     */
    @DataProvider
    public void loadDeviceIotPage(Page<DeviceIot> page, DeviceIotParam param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<DeviceIot> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
        if(null == param) {
            param = new DeviceIotParam();
        }
        deviceIotService.listPageData(corePage, param);
        if (null == param) {
            param = new DeviceIotParam();
        }
        deviceIotService.listPageData(corePage, param);
        // é‡æ–°å°è£…
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
        // é‡æ–°å°è£…
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
    /**
     * ä¿å­˜ devicePR#saveAll
     *
     * @param depotDeviceIots
     * @return
     */
    @DataResolver
    @Transactional
    public String saveAll(List<DeviceIot> depotDeviceIots) {
        String msg = "";
        DeviceIot deviceIot;
        for (DeviceIot depotDeviceIot : depotDeviceIots) {
            EntityState state = EntityUtils.getState(depotDeviceIot);
            deviceIot = new DeviceIot();
            BeanUtils.copyProperties(depotDeviceIot, deviceIot);
            if (state == EntityState.NEW) {
                deviceIotService.updateDeviceIot(deviceIot);
                msg = "添加成功!";
            }
            if (state == EntityState.DELETED) {
                deviceIotService.delDepotDeviceIot(deviceIot);
                msg = "删除成功!";
            }
            if (state == EntityState.MODIFIED) {
                deviceIotService.updateDeviceIot(deviceIot);
                msg = "修改成功!";
            }
        }
        return msg;
    }
    /**
     * devicePR#refreshCache
     */
    @Expose
    public void refreshCache(){
        deviceIotService.refreshCache(null);
    }
    /**
     * ä¿å­˜ devicePR#saveAll
     *
     * @param depotDeviceIots
     * @return
     */
    @DataResolver
    @Transactional
    @Log(title = "Iot设备配置", businessType = BusinessType.OTHER, bizType = BizTypeEnum.SYS)
    public String saveAll(List<DeviceIot> depotDeviceIots) {
        String msg = "";
        DeviceIot deviceIot;
        for (DeviceIot depotDeviceIot : depotDeviceIots) {
            EntityState state = EntityUtils.getState(depotDeviceIot);
            deviceIot = new DeviceIot();
            BeanUtils.copyProperties(depotDeviceIot, deviceIot);
            if (state == EntityState.NEW) {
                deviceIotService.updateDeviceIot(deviceIot);
                msg = "添加成功!";
            }
            if (state == EntityState.DELETED) {
                deviceIotService.delDepotDeviceIot(deviceIot);
                msg = "删除成功!";
            }
            if (state == EntityState.MODIFIED) {
                deviceIotService.updateDeviceIot(deviceIot);
                msg = "修改成功!";
            }
        }
        return msg;
    }
    /**
     * devicePR#refreshCache
     */
    @Expose
    public void refreshCache() {
        deviceIotService.refreshCache(null);
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/DeviceSerPR.java
@@ -3,8 +3,11 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.DeviceSer;
import com.fzzy.igds.service.DeviceSerService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -63,6 +66,7 @@
     */
    @Expose
    @Transactional
    @Log(title = "分机配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public void delSerById(String id) {
        DeviceSer ser = deviceSerService.getDataById(null, id);
fzzy-igdss-view/src/main/java/com/fzzy/igds/DicAreaPR.java
@@ -4,8 +4,11 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.DicArea;
import com.fzzy.igds.service.DicAreaService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -69,6 +72,7 @@
     * @return
     */
    @Expose
    @Log(title = "区划字典", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public String delDicArea(DicArea data) {
        DicArea dicArea = new DicArea();
fzzy-igdss-view/src/main/java/com/fzzy/igds/FoodPricePR.java
@@ -3,8 +3,11 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.FoodPrice;
import com.fzzy.igds.service.FoodPriceService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -51,6 +54,7 @@
     * @return
     */
    @Expose
    @Log(title = "粮库价格", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delData(FoodPrice data) {
        FoodPrice foodPrice = new FoodPrice();
        BeanUtils.copyProperties(data, foodPrice);
fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySerPR.java
@@ -3,8 +3,11 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.GatewaySer;
import com.fzzy.igds.service.GatewaySerService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -49,6 +52,7 @@
     */
    @Expose
    @Transactional
    @Log(title = "网关配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public void delSerById(String id) {
        GatewaySer ser = gatewaySerService.getById(id);
        gatewaySerService.delSer(ser);
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutConfPR.java
@@ -2,8 +2,11 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.service.InoutConfService;
import com.fzzy.igds.domain.InoutConf;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -51,6 +54,7 @@
     * @return
     */
    @Expose
    @Log(title = "出入库配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delData(InoutConf data) {
        InoutConf inoutConf = new InoutConf();
        BeanUtils.copyProperties(data, inoutConf);
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -4,6 +4,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.InoutData;
@@ -16,7 +17,9 @@
import com.fzzy.igds.service.InoutNoticeService;
import com.fzzy.igds.service.InoutRecordService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -90,6 +93,7 @@
     */
    @DataResolver
    @Transactional
    @Log(title = "出入库数据执行异常终止", businessType = BusinessType.UPDATE,bizType = BizTypeEnum.INOUT)
    public String errorInoutData(InoutRecord data) {
        return inoutRecordService.errorInoutData(data);
    }
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutLossOverPR.java
@@ -4,9 +4,12 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.InoutLossOver;
import com.fzzy.igds.service.InoutLossOverService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -62,6 +65,7 @@
     * @return
     */
    @Expose
    @Log(title = "损益管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delData(InoutLossOver data) {
        InoutLossOver item = new InoutLossOver();
        BeanUtils.copyProperties(data, item);
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
@@ -5,6 +5,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.NoticeDto;
@@ -14,7 +15,9 @@
import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.work.data.WorkStatus;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
@@ -116,6 +119,7 @@
     * inoutNoticePR#delDataIn
     */
    @Expose
    @Log(title = "通知单管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delDataIn(InoutNoticeIn data) {
        InoutNoticeIn inoutNoticeIn = new InoutNoticeIn();
        BeanUtils.copyProperties(data, inoutNoticeIn);
@@ -211,7 +215,8 @@
     * inoutNoticePR#delDataOut
     */
    @Expose
    public String delDataOut(InoutNoticeOut data) {
    @Log(title = "通知单管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delDataOut(InoutNoticeOut data) {
        InoutNoticeOut inoutNoticeOut = new InoutNoticeOut();
        BeanUtils.copyProperties(data, inoutNoticeOut);
        return inoutNoticeService.delDataOut(inoutNoticeOut);
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java
@@ -4,8 +4,11 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.InoutStockChange;
import com.fzzy.igds.service.InoutStockChangeService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -64,6 +67,7 @@
     * @return
     */
    @Expose
    @Log(title = "倒仓移库", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public String delData(InoutStockChange data) {
        InoutStockChange item = new InoutStockChange();
        BeanUtils.copyProperties(data, item);
fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java
@@ -4,6 +4,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.PatrolSuperData;
@@ -11,6 +12,8 @@
import com.fzzy.igds.service.CoreDeptService;
import com.fzzy.igds.service.PatrolService;
import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -147,6 +150,7 @@
     * @return
     */
    @Expose
    @Log(title = "巡检配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SECURITY)
    public BaseResp deletePatrolConf(PatrolConf bank){
        if(StringUtils.isNotEmpty(bank.getId())) return patrolService.deletePatrolConf(bank);
        return BaseResp.success();
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
@@ -3,14 +3,17 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.PledgeContract;
import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -72,6 +75,7 @@
     * @param pledgeContract
     * @return
     */
    @Log( title = "质押合同", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SUPERVISION)
    @Expose
    public BaseResp delete(PledgeContract pledgeContract) {
        if (StringUtils.isNotEmpty(pledgeContract.getId())) return pledgeContractService.deleteData(pledgeContract);
fzzy-igdss-view/src/main/java/com/fzzy/igds/QuantityConfPR.java
@@ -3,10 +3,13 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.QuantityConf;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.QuantityService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -53,6 +56,7 @@
     * @return
     */
    @Expose
    @Log(title = "删除数量监测参数配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.GRAIN)
    public String delQuantityConf(QuantityConf conf) {
        QuantityConf quantityConf = new QuantityConf();
        BeanUtils.copyProperties(conf, quantityConf);
fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java
@@ -4,13 +4,14 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.camera.ApiCameraManager;
import com.fzzy.igds.camera.data.ApiCameraData;
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.Camera;
import com.fzzy.igds.service.SecCameraService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -86,6 +87,7 @@
     * @return
     */
    @Expose
    @Log(title = "监控配置", businessType = BusinessType.DELETE, bizType = BizTypeEnum.SECURITY)
    public String delCamera(Camera data) {
        Camera secCamera = new Camera();
        BeanUtils.copyProperties(data, secCamera);
fzzy-igdss-view/src/main/java/com/fzzy/igds/SloganPR.java
@@ -5,6 +5,7 @@
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.entity.EntityState;
import com.bstek.dorado.data.entity.EntityUtils;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.OrderRespEnum;
import com.fzzy.igds.domain.Slogan;
@@ -12,6 +13,8 @@
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.websocket.WebSocketPacket;
import com.fzzy.igds.websocket.WebSocketServer;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -78,7 +81,8 @@
     * @return
     */
    @Expose
    public void delData(Slogan data) {
    @Log(title = "大屏标语", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public void delData(Slogan data) {
        Slogan slogan = new Slogan();
        BeanUtils.copyProperties(data, slogan);
        sloganService.delData(slogan);
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
@@ -4,6 +4,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.work.domain.WorkOrder;
@@ -14,8 +15,10 @@
import com.fzzy.work.service.WorkOrderConfService;
import com.fzzy.work.service.WorkOrderProcessService;
import com.fzzy.work.service.WorkOrderService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@@ -149,6 +152,7 @@
     *
     */
    @Expose
    @Log(title = "工单配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT)
    public BaseResp deleteConf(WorkOrderConf data) {
        WorkOrderConf newData = new WorkOrderConf();
        BeanUtils.copyProperties(data, newData);
fzzy-igdss-web/src/main/java/com/fzzy/grain/GrainController.java
@@ -1,5 +1,6 @@
package com.fzzy.grain;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.grain.manager.GrainManager;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.DepotType;
@@ -9,7 +10,9 @@
import com.fzzy.igds.response.GrainResponse;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.common.manager.CommonManager;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
@@ -299,6 +302,7 @@
     *
     * @return
     */
    @Log(title = "清除执行记录", businessType = BusinessType.CLEAN,bizType = BizTypeEnum.GRAIN)
    @ResponseBody
    @RequestMapping("/clean-order-list")
    public PageResponse<String> cleanOrderList(@RequestBody IgdsBaseParam param) {
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/monitor/SysOperlogController.java
@@ -1,5 +1,6 @@
package com.fzzy.sys.controller.monitor;
import com.fzzy.igds.service.DicService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -30,9 +31,13 @@
    @Autowired
    private ISysOperLogService operLogService;
    @Autowired
    private DicService dicService;
    @RequiresPermissions("monitor:operlog:view")
    @GetMapping()
    public String operlog() {
    public String operlog(ModelMap mmap) {
        mmap.put("bizTypeDatas", dicService.getBizType());
        return prefix + "/operlog";
    }
fzzy-igdss-web/src/main/resources/templates/monitor/operlog/operlog.html
@@ -1,188 +1,216 @@
<!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 :: bootstrap-select-css" />
    <th:block th:include="include :: header('操作日志列表')"/>
    <th:block th:include="include :: bootstrap-select-css"/>
</head>
<body class="gray-bg">
    <div class="container-div">
        <div class="row">
            <div class="col-sm-12 search-collapse">
                <form id="operlog-form">
                    <div class="select-list">
                        <ul>
                            <li>
                                <label>操作地址:</label><input type="text" name="operIp"/>
                            </li>
                            <li>
                                <label>系统模块: </label><input type="text" name="title"/>
                            </li>
                            <li>
                                <label>操作人员: </label><input type="text" name="operName"/>
                            </li>
                            <li class="select-selectpicker">
                                <label>操作类型: </label><select id="businessTypes" name="businessTypes" th:with="type=${@dict.getType('sys_oper_type')}" class="selectpicker" data-none-selected-text="请选择" multiple>
                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                                </select>
                            </li>
                            <li>
                                <label>操作状态:</label><select name="status" th:with="type=${@dict.getType('sys_common_status')}">
                                    <option value="">所有</option>
                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                                </select>
                            </li>
                            <li class="select-time">
                                <label>操作时间: </label>
                                <input type="text" class="time-input" id="startTime" placeholder="开始时间"/>
                                <span>-</span>
                                <input type="text" class="time-input" id="endTime" placeholder="结束时间"/>
                            </li>
                            <li>
                                <a class="btn btn-primary btn-rounded btn-sm" onclick="searchPre()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><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-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="monitor:operlog:remove">
                    <i class="fa fa-remove"></i> åˆ é™¤
                </a>
                <a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="monitor:operlog:remove">
                    <i class="fa fa-trash"></i> æ¸…空
                </a>
                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:operlog: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 :: bootstrap-select-js" />
    <script th:inline="javascript">
        var detailFlag = [[${@permission.hasPermi('monitor:operlog:detail')}]];
        var datas = [[${@dict.getType('sys_oper_type')}]];
        var prefix = ctx + "monitor/operlog";
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 search-collapse">
            <form id="operlog-form">
                <div class="select-list">
                    <ul>
                        <li>
                            <label>操作地址:</label><input type="text" name="operIp"/>
                        </li>
                        <li>
                            <label>系统模块: </label><input type="text" name="title"/>
                        </li>
                        <li class="select-selectpicker">
                            <label>业务类型: </label>
                            <select id="bizType" name="bizType"
                                    class="selectpicker" data-none-selected-text="请选择">
                                <option value="">所有</option>
                                <option th:each="dict : ${bizTypeDatas}" th:text="${dict.dictLabel}"
                                        th:value="${dict.dictValue}"></option>
                            </select>
                        </li>
                        <li>
                            <label>操作人员: </label><input type="text" name="operName"/>
                        </li>
                        <li class="select-selectpicker">
                            <label>操作类型: </label><select id="businessTypes" name="businessTypes"
                                                             th:with="type=${@dict.getType('sys_oper_type')}"
                                                             class="selectpicker" data-none-selected-text="请选择"
                                                             multiple>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
                                    th:value="${dict.dictValue}"></option>
                        </select>
                        </li>
                        <li>
                            <label>操作状态:</label><select name="status"
                                                            th:with="type=${@dict.getType('sys_common_status')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
                                    th:value="${dict.dictValue}"></option>
                        </select>
                        </li>
                        <li class="select-time">
                            <label>操作时间: </label>
                            <input type="text" class="time-input" id="startTime" placeholder="开始时间"/>
                            <span>-</span>
                            <input type="text" class="time-input" id="endTime" placeholder="结束时间"/>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" onclick="searchPre()"><i
                                    class="fa fa-search"></i>&nbsp;搜索</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i
                                    class="fa fa-refresh"></i>&nbsp;重置</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>
        $(function() {
            var options = {
                url: prefix + "/list",
                cleanUrl: prefix + "/clean",
                detailUrl: prefix + "/detail/{id}",
                removeUrl: prefix + "/remove",
                exportUrl: prefix + "/export",
                queryParams: queryParams,
                sortName: "operTime",
                sortOrder: "desc",
                modalName: "操作日志",
                escape: true,
                showPageGo: true,
                rememberSelected: true,
                columns: [{
                    field: 'state',
                    checkbox: true
                },
                {
                    field: 'operId',
                    title: '日志编号'
                },
                {
                    field: 'title',
                    title: '系统模块',
                    formatter: function(value, row, index) {
        <div class="btn-group-sm" id="toolbar" role="group">
            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"
               shiro:hasPermission="monitor:operlog:remove">
                <i class="fa fa-remove"></i> åˆ é™¤
            </a>
            <a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="monitor:operlog:remove">
                <i class="fa fa-trash"></i> æ¸…空
            </a>
            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:operlog: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 :: bootstrap-select-js"/>
<script th:inline="javascript">
    var detailFlag = [[${@permission.hasPermi('monitor:operlog:detail')}]];
    var datas = [[${@dict.getType('sys_oper_type')}]];
    var bizTypeDatas = [[${bizTypeDatas}]];
    var prefix = ctx + "monitor/operlog";
    $(function () {
        var options = {
            url: prefix + "/list",
            cleanUrl: prefix + "/clean",
            detailUrl: prefix + "/detail/{id}",
            removeUrl: prefix + "/remove",
            exportUrl: prefix + "/export",
            queryParams: queryParams,
            sortName: "operTime",
            sortOrder: "desc",
            modalName: "操作日志",
            escape: true,
            showPageGo: true,
            rememberSelected: true,
            columns: [{
                field: 'state',
                checkbox: true
            },
                {
                    field: 'operId',
                    title: '日志编号'
                },
                {
                    field: 'title',
                    title: '系统模块',
                    formatter: function (value, row, index) {
                        return $.table.tooltip(value);
                    }
                },
                {
                    field: 'businessType',
                    title: '操作类型',
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },
                {
                    field: 'operName',
                    title: '操作人员',
                    sortable: true
                },
                {
                    field: 'deptName',
                    title: '部门名称'
                },
                {
                    field: 'operIp',
                    title: '操作地址'
                },
                {
                    field: 'operLocation',
                    title: '操作地点'
                },
                {
                    field: 'status',
                    title: '操作状态',
                    align: 'center',
                    formatter: function(value, row, index) {
                        if (value == 0) {
                            return '<span class="badge badge-primary">成功</span>';
                        } else if (value == 1) {
                            return '<span class="badge badge-danger">失败</span>';
                        }
                    }
                },
                {
                    field: 'operTime',
                    title: '操作时间',
                    sortable: true
                },
                {
                    field: 'costTime',
                    title: '消耗时间',
                    sortable: true,
                    formatter: function(value, row, index) {
                        return $.common.sprintf("%s毫秒", value);
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.operId + '\')"><i class="fa fa-search"></i>详细</a>');
                        return actions.join('');
                    }
                }]
            };
            $.table.init(options);
        });
        function queryParams(params) {
            var search = $.table.queryParams(params);
            search.params = {
                beginTime : beginOfTime($("#startTime").val()),
                endTime : endOfTime($("#endTime").val())
            };
            search.businessTypes = $.common.join($('#businessTypes').selectpicker('val'));
            return search;
        }
        function searchPre() {
            $.table.search('operlog-form', 'bootstrap-table');
        }
        function resetPre() {
            resetDate();
            $("#operlog-form")[0].reset();
            $("#businessTypes").selectpicker('refresh');
            $.table.search('operlog-form', 'bootstrap-table', 1);
        }
    </script>
                {
                    field: 'businessType',
                    title: '操作类型',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },
                {
                    field: 'bizType',
                    title: '业务类型',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(bizTypeDatas, value);
                    }
                },
                {
                    field: 'operName',
                    title: '操作人员',
                    sortable: true
                },
                {
                    field: 'deptName',
                    title: '部门名称'
                },
                {
                    field: 'operIp',
                    title: '操作地址'
                },
                {
                    field: 'operLocation',
                    title: '操作地点'
                },
                {
                    field: 'status',
                    title: '操作状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        if (value == 0) {
                            return '<span class="badge badge-primary">成功</span>';
                        } else if (value == 1) {
                            return '<span class="badge badge-danger">失败</span>';
                        }
                    }
                },
                {
                    field: 'operTime',
                    title: '操作时间',
                    sortable: true
                },
                {
                    field: 'costTime',
                    title: '消耗时间',
                    sortable: true,
                    formatter: function (value, row, index) {
                        return $.common.sprintf("%s毫秒", value);
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.operId + '\')"><i class="fa fa-search"></i>详细</a>');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    });
    function queryParams(params) {
        var search = $.table.queryParams(params);
        search.params = {
            beginTime: beginOfTime($("#startTime").val()),
            endTime: endOfTime($("#endTime").val())
        };
        search.businessTypes = $.common.join($('#businessTypes').selectpicker('val'));
        return search;
    }
    function searchPre() {
        $.table.search('operlog-form', 'bootstrap-table');
    }
    function resetPre() {
        resetDate();
        $("#operlog-form")[0].reset();
        $("#businessTypes").selectpicker('refresh');
        $.table.search('operlog-form', 'bootstrap-table', 1);
    }
</script>
</body>
</html>