czt
2025-12-01 096296cd7485c5583c8194d88cca700e3c4d84a0
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutConfService.java
@@ -1,9 +1,11 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RedisConst;
import com.fzzy.igds.repository.InoutConfRepository;
import com.fzzy.igds.repository.InoutSysConfRepository;
import com.fzzy.igds.mapper.InoutConfMapper;
import com.fzzy.igds.mapper.InoutSysConfMapper;
import com.fzzy.igds.domain.InoutConf;
import com.fzzy.igds.domain.InoutSysConf;
import com.fzzy.igds.utils.ContextUtil;
@@ -29,15 +31,38 @@
    @Resource
    private ISysDeptService iSysDeptService;
    @Resource
    private InoutSysConfRepository inoutSysConfRepository;
    private InoutConfMapper inoutConfMapper;
    @Resource
    private InoutConfRepository inoutConfRepository;
    private InoutSysConfMapper inoutSysConfMapper;
    @Resource
    private RedisCache redisCache;
    /*--------------- 出入库流程 ---------------*/
    /**
     * JPA-查询流程配置
     * 根据条件查询流程信息
     *
     * @param deptId
     * @param parentId
     * @return
     */
    public List<InoutSysConf> listInoutSysConf(String deptId, String parentId) {
        QueryWrapper<InoutSysConf> queryWrapper = new QueryWrapper<>();
        if (StringUtils.isNotBlank(deptId)) {
            queryWrapper.eq("dept_id", deptId);
        }
        if (StringUtils.isNotBlank(parentId)) {
            queryWrapper.likeRight("dept_id", parentId);
        }
        return inoutSysConfMapper.selectList(queryWrapper);
    }
    /**
     * 查询流程配置
     *
     * @return
     */
@@ -46,15 +71,13 @@
        SysUser user = ContextUtil.getLoginUser();
        SysDept userDept = iSysDeptService.selectDeptById(user.getDeptId());
        if (Constant.DEPT_TYPE_20.equals(userDept.getType())) {
            return inoutSysConfRepository.getDataById(ContextUtil.subDeptId(user));
        }else {
            return inoutSysConfRepository.getDataByParentId(user.getDeptId() + "%");
            return this.listInoutSysConf(ContextUtil.subDeptId(user), null);
        } else {
            return this.listInoutSysConf(null, user.getDeptId() + "%");
        }
    }
    /**
     *
     *
     * @param companyId
     * @param deptId
     */
@@ -70,15 +93,14 @@
    }
    /**
     *
     * @param deptId
     */
    public void delSysConfData(String deptId) {
        inoutSysConfRepository.deleteById(deptId);
        inoutSysConfMapper.deleteById(deptId);
    }
    /**
     * JPA-保存流程配置
     * 保存流程配置
     *
     * @param data
     * @return
@@ -87,9 +109,18 @@
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        inoutSysConfRepository.save(data);
        if (StringUtils.isEmpty(data.getUpdateBy())) {
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            inoutSysConfMapper.insert(data);
        } else {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            inoutSysConfMapper.updateById(data);
        }
        this.flushInoutSysConfCache(data);
    }
@@ -116,8 +147,9 @@
    }
    /*--------------- 出入库设备 ---------------*/
    /**
     * JPA-查询设备配置
     * 查询设备配置
     *
     * @return
     */
@@ -128,50 +160,62 @@
        if (StringUtils.isEmpty(deptId)) {
            deptId = ContextUtil.subDeptId(null);
        }
        return inoutConfRepository.getInoutConfList(companyId, deptId);
        QueryWrapper<InoutConf> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("dept_id", deptId);
        queryWrapper.eq("company_id", companyId);
        return inoutConfMapper.selectList(queryWrapper);
    }
    /**
     * JPA-保存设备配置
     * 保存设备配置
     *
     * @param data
     * @return
     */
    public String saveData(InoutConf data) {
        if (0 == data.getInOrder()) {
            data.setInOrder(1);
        }
        if (StringUtils.isEmpty(data.getSort())) {
            data.setSort("1");
        }
        if (StringUtils.isEmpty(data.getId())) {
            data.setId(ContextUtil.generateId());
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
        }
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        if (StringUtils.isEmpty(data.getDeptId())) {
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        inoutConfRepository.save(data);
        if (0 == data.getInOrder()) {
            data.setInOrder(1);
        }
        if (StringUtils.isEmpty(data.getSort())) {
            data.setSort("1");
        }
        if (StringUtils.isBlank(data.getId())) {
            data.setId(ContextUtil.generateId());
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            inoutConfMapper.insert(data);
        }else {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            inoutConfMapper.updateById(data);
        }
        return null;
    }
    /**
     * JPA-删除设备配置
     * 删除设备配置
     *
     * @param data
     * @return
     */
    public String delData(InoutConf data) {
        inoutConfRepository.delete(data);
        inoutConfMapper.deleteById(data);
        return null;
    }
    /**
     * 设置缓存
     *
     * @param companyId
     * @param deptId
     */
@@ -183,6 +227,7 @@
    /**
     * 获取缓存
     *
     * @param companyId
     * @param deptId
     * @return
@@ -190,7 +235,7 @@
    public List<InoutConf> getCacheInoutConf(String companyId, String deptId) {
        String key = RedisConst.buildKey(companyId, Constant.CACHE_INOUT_CONF_LIST, deptId);
        List<InoutConf> list = redisCache.getCacheObject(key);
        if(null == list){
        if (null == list) {
            list = this.getInoutConfList(companyId, deptId);
            redisCache.setCacheObject(key, list);
        }
@@ -199,6 +244,7 @@
    /**
     * 获取缓存
     *
     * @param companyId
     * @param deptId
     * @param confId
@@ -210,7 +256,7 @@
        }
        List<InoutConf> list = getCacheInoutConf(companyId, deptId);
        if (null == list  || list.isEmpty()) {
        if (null == list || list.isEmpty()) {
            return null;
        }
        for (InoutConf inoutConf : list) {
@@ -223,11 +269,15 @@
    /**
     * 更新出入库设备状态
     *
     * @param ip
     * @param port
     * @param status
     */
    public void updateInoutConfStatus(String ip, Integer port, String status) {
        inoutConfRepository.updateInoutConfStatus(status, ip, port);
        UpdateWrapper<InoutConf> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("ip", ip).eq("port", port).set("status", status);
        inoutConfMapper.update(null, updateWrapper);
    }
}