| | |
| | | package org.jeecg.modules.system.service.impl; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.constant.FillRuleConstant; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.FillRuleUtil; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.system.entity.*; |
| | | import org.jeecg.modules.system.mapper.*; |
| | | import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper; |
| | | import org.jeecg.modules.system.mapper.MdcProductionMapper; |
| | | import org.jeecg.modules.system.mapper.MdcUserProductionMapper; |
| | | import org.jeecg.modules.system.mapper.SysUserMapper; |
| | | import org.jeecg.modules.system.model.MdcProductionTreeModel; |
| | | import org.jeecg.modules.system.model.ProductionIdModel; |
| | | import org.jeecg.modules.system.service.IMdcProductionService; |
| | | import org.jeecg.modules.system.service.ISysParamsService; |
| | | import org.jeecg.modules.system.util.FindsProductionsChildrenUtil; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private MdcProductionEquipmentMapper productionEquipmentMapper; |
| | | |
| | | @Resource |
| | | private DncDeviceGroupPermissionMapper dncDeviceGroupPermissionMapper; |
| | | private ISysParamsService sysParamsService; |
| | | /** |
| | | * queryTreeList 对应 queryTreeList 查询所有的产线数据,以树结构形式响应给前端 |
| | | */ |
| | |
| | | this.setUserIdsByProList(list); |
| | | //调用wrapTreeDataToTreeList方法生成树状数据 |
| | | return FindsProductionsChildrenUtil.wrapTreeDataToTreeList(list); |
| | | } |
| | | |
| | | /** |
| | | * 查询所有产线信息,并分节点进行显示(添加系统配置) |
| | | */ |
| | | @Override |
| | | public List<MdcProductionTreeModel> queryTreeListByConfig(){ |
| | | SysParams sysParams = sysParamsService.getSysPramBySettingKey("dnc_production"); |
| | | LambdaQueryWrapper<MdcProduction> query = new LambdaQueryWrapper<MdcProduction>(); |
| | | if (sysParams == null) { |
| | | return null; |
| | | }else { |
| | | if (("0").equals(sysParams.getSettingValue())){ |
| | | query.eq(MdcProduction::getOrgType,"2"); |
| | | query.eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); |
| | | query.orderByAsc(MdcProduction::getProductionOrder); |
| | | List<MdcProduction> list = this.list(query); |
| | | //设置用户id,让前台显示 |
| | | this.setUserIdsByProList(list); |
| | | //封装一级树 |
| | | List<MdcProductionTreeModel> listResult = new ArrayList<>(); |
| | | for (MdcProduction production : list) { |
| | | if (production.getDescription().isEmpty()){ |
| | | production.setDescription(""); |
| | | } |
| | | listResult.add(new MdcProductionTreeModel(production)); |
| | | } |
| | | //调用wrapTreeDataToTreeList方法生成树状数据 |
| | | return listResult; |
| | | }else { |
| | | query.eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); |
| | | query.orderByAsc(MdcProduction::getProductionOrder); |
| | | List<MdcProduction> list = this.list(query); |
| | | //设置用户id,让前台显示 |
| | | this.setUserIdsByProList(list); |
| | | //调用wrapTreeDataToTreeList方法生成树状数据 |
| | | return FindsProductionsChildrenUtil.wrapTreeDataToTreeList(list); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | mdcProduction.setOrgType(String.valueOf(orgType)); |
| | | mdcProduction.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); |
| | | this.save(mdcProduction); |
| | | //新增DNC车间权限 |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | String userId = user.getId(); |
| | | DncDeviceGroupPermission dncDeviceGroupPermission=new DncDeviceGroupPermission(); |
| | | dncDeviceGroupPermission.setGroupPermId(mdcProduction.getId()); |
| | | dncDeviceGroupPermission.setUserId(userId); |
| | | dncDeviceGroupPermissionMapper.insert(dncDeviceGroupPermission); |
| | | } |
| | | } |
| | | |
| | |
| | | @Override |
| | | public List<MdcProduction> queryProdByPid(String pid) { |
| | | return this.baseMapper.queryProdByPid(pid); |
| | | } |
| | | |
| | | /** |
| | | * 递归查询所有子节点 |
| | | */ |
| | | @Override |
| | | public List<MdcProduction> recursionChildrenByPid(String pid){ |
| | | List<String> ids=this.recursionChildren(pid); |
| | | return super.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).in(MdcProduction::getId, ids)); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return stringList; |
| | | } |
| | | |
| | | /** |
| | | * 获取用户已分配的部门列表 |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, MdcProduction> getUserAssignedDepart(String userId){ |
| | | if(StrUtil.isEmpty(userId)) |
| | | return null; |
| | | List<MdcProduction> userPermDepart = this.baseMapper.findAllProductionId(userId); |
| | | if(userPermDepart == null || userPermDepart.isEmpty()) |
| | | return null; |
| | | Map<String, MdcProduction> map = new HashMap<>(); |
| | | userPermDepart.forEach(item -> { |
| | | map.put(item.getId(), item); |
| | | }); |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 通过一组id获取部门 |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<String> findAllProductionIds(List<String> ids){ |
| | | return this.baseMapper.recursionChildrenByList(ids); |
| | | } |
| | | } |