| | |
| | | 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; |
| | |
| | | @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 |
| | | */ |
| | |
| | | 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 |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param deptId |
| | | */ |
| | | public void delSysConfData(String deptId) { |
| | | inoutSysConfRepository.deleteById(deptId); |
| | | inoutSysConfMapper.deleteById(deptId); |
| | | } |
| | | |
| | | /** |
| | | * JPA-保存流程配置 |
| | | * 保存流程配置 |
| | | * |
| | | * @param data |
| | | * @return |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /*--------------- 出入库设备 ---------------*/ |
| | | |
| | | /** |
| | | * JPA-查询设备配置 |
| | | * 查询设备配置 |
| | | * |
| | | * @return |
| | | */ |
| | |
| | | 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 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取缓存 |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | |
| | | 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); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 获取缓存 |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param confId |
| | |
| | | } |
| | | |
| | | List<InoutConf> list = getCacheInoutConf(companyId, deptId); |
| | | if (null == list || list.isEmpty()) { |
| | | if (null == list || list.isEmpty()) { |
| | | return null; |
| | | } |
| | | for (InoutConf inoutConf : list) { |
| | |
| | | |
| | | /** |
| | | * 更新出入库设备状态 |
| | | * |
| | | * @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); |
| | | } |
| | | } |