| | |
| | | |
| | | import cn.gistack.sm.sg.DO.SgGxRoleDO; |
| | | import cn.gistack.sm.sg.DO.SgGxStepDO; |
| | | import cn.gistack.sm.sg.DO.SgProgressReportDO; |
| | | import cn.gistack.sm.sg.DTO.ProjectSearchDTO; |
| | | import cn.gistack.sm.sg.VO.SgGxRoleVO; |
| | | import cn.gistack.sm.sg.mapper.SgGxRoleMapper; |
| | | import cn.gistack.sm.sg.mapper.SgGxStepMapper; |
| | | import cn.gistack.sm.sg.mapper.SgProgressReportMapper; |
| | | import cn.gistack.sm.sg.service.SgGxStepService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private SgGxStepMapper sgGxStepMapper; |
| | | @Autowired |
| | | private SgGxRoleMapper sgGxRoleMapper; |
| | | |
| | | @Autowired |
| | | private SgProgressReportMapper sgProgressReportMapper; |
| | | |
| | | @Override |
| | | public void add(SgGxStepDO sgGxStepDO) { |
| | | List<SgGxStepDO> list= sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void delete(String id) { |
| | | SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(id); |
| | | if (!new LambdaQueryChainWrapper<>(sgGxRoleMapper).eq(SgGxRoleDO::getGxStepId,id).list().isEmpty()){ |
| | | throw new ServiceException(sgGxStepDO.getGxStepName()+ "已绑定角色,无法删除"); |
| | | public void delete(String ids) { |
| | | List<String> idList = Stream.of(ids.split(",")).sorted(Comparator.reverseOrder()) .collect(Collectors.toList()); |
| | | for (String id : idList) { |
| | | SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(id); |
| | | if (!new LambdaQueryChainWrapper<>(sgGxRoleMapper).eq(SgGxRoleDO::getGxStepId,id).list().isEmpty()){ |
| | | throw new ServiceException(sgGxStepDO.getGxStepName()+ "已绑定角色,无法删除"); |
| | | } |
| | | List<SgGxStepDO> list= sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); |
| | | if (!sgGxStepDO.getGxStepNum().equals(list.get(0).getGxStepNum())){ |
| | | throw new ServiceException("请按顺序删除工序步骤"); |
| | | } |
| | | this.removeById(id); |
| | | } |
| | | List<SgGxStepDO> list= sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); |
| | | if (!sgGxStepDO.getGxStepNum().equals(list.get(0).getGxStepNum())){ |
| | | throw new ServiceException("请按顺序删除工序步骤"); |
| | | } |
| | | this.removeById(id); |
| | | } |
| | | |
| | | @Override |
| | |
| | | SgGxRoleDO sgGxRoleDO=new SgGxRoleDO(); |
| | | sgGxRoleDO.setGxDeviceType(sgGxRoleVO.getGxDeviceType()); |
| | | sgGxRoleDO.setGxStepId(sgGxRoleVO.getGxStepId()); |
| | | sgGxRoleDO.setRoleId(Long.valueOf(roleIds.get(i))); |
| | | sgGxRoleDO.setRoleId(roleIds.get(i)); |
| | | sgGxRoleDO.setSgOrder(sgGxRoleVO.getOrders().get(i)); |
| | | sgGxRoles.add(sgGxRoleDO); |
| | | } |
| | |
| | | @Override |
| | | @Transactional |
| | | public void updateSgGxRole(SgGxRoleVO sgGxRoleVO){ |
| | | |
| | | |
| | | if (sgGxRoleVO.getGxStepId()==null){ |
| | | String gxStepId = sgGxRoleVO.getGxStepId(); |
| | | List<SgProgressReportDO> reportDOS = new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getGxStepId, gxStepId).list(); |
| | | List<SgGxRoleDO> list = new LambdaQueryChainWrapper<>(sgGxRoleMapper).eq(SgGxRoleDO::getGxStepId, gxStepId).orderByAsc(SgGxRoleDO::getSgOrder).list(); |
| | | List<String> roles = list.stream().map(SgGxRoleDO::getRoleId).map(Object::toString).collect(Collectors.toList()); |
| | | List<Integer> orders = list.stream().map(SgGxRoleDO::getSgOrder).collect(Collectors.toList()); |
| | | if (!reportDOS.isEmpty()){ |
| | | if (! roles.equals(sgGxRoleVO.getRoleIds()) || ! orders.equals(sgGxRoleVO.getOrders())) { |
| | | throw new ServiceException("此配置已有上报记录,不允许修改"); |
| | | } |
| | | } |
| | | if (sgGxRoleVO.getGxStepId()==null){ |
| | | throw new ServiceException("工序步骤参数错误"); |
| | | } |
| | | if (sgGxRoleVO.getGxDeviceType()==null){ |
| | |
| | | SgGxRoleDO sgGxRoleDO=new SgGxRoleDO(); |
| | | sgGxRoleDO.setGxDeviceType(sgGxRoleVO.getGxDeviceType()); |
| | | sgGxRoleDO.setGxStepId(sgGxRoleVO.getGxStepId()); |
| | | sgGxRoleDO.setRoleId(Long.valueOf(roleIds.get(i))); |
| | | sgGxRoleDO.setRoleId(roleIds.get(i)); |
| | | sgGxRoleDO.setSgOrder(sgGxRoleVO.getOrders().get(i)); |
| | | sgGxRoles.add(sgGxRoleDO); |
| | | } |
| | |
| | | return sgGxRoleMapper.getSgGxRoles(gxDeviceType, gxStepId); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<SgGxStepDO> sgGxStepList() { |
| | | return sgGxStepMapper.getDEviceGXtwo(); |
| | | } |
| | | } |