|
@@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -57,21 +58,8 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
@Override
|
|
|
public List<OrgDto> listOrgTree() {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(SysOrg::getSchoolId, schoolId).orderByAsc(SysOrg::getParentId);
|
|
|
- List<SysOrg> orgList = this.list(queryWrapper);
|
|
|
- Map<Long, OrgDto> map = new LinkedHashMap<>();
|
|
|
- for (SysOrg sysOrg : orgList) {
|
|
|
- OrgDto orgDto = new OrgDto();
|
|
|
- orgDto.setId(sysOrg.getId());
|
|
|
- orgDto.setSchoolId(String.valueOf(sysOrg.getSchoolId()));
|
|
|
- orgDto.setCode(sysOrg.getCode());
|
|
|
- orgDto.setName(sysOrg.getName());
|
|
|
- orgDto.setParentId(sysOrg.getParentId());
|
|
|
- orgDto.setEnable(sysOrg.getEnable());
|
|
|
- orgDto.setType(sysOrg.getType());
|
|
|
- map.put(sysOrg.getId(), orgDto);
|
|
|
- }
|
|
|
+ List<OrgDto> orgList = this.listOrgAll(schoolId);
|
|
|
+ Map<Long, OrgDto> map = orgList.stream().collect(Collectors.toMap(OrgDto::getId, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
|
|
|
Iterator<Long> iterator = map.keySet().iterator();
|
|
|
Set<Long> deleteKeys = new HashSet<>();
|
|
@@ -90,6 +78,17 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
return new ArrayList<>(map.values());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取所有机构
|
|
|
+ *
|
|
|
+ * @param schoolId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<OrgDto> listOrgAll(Long schoolId) {
|
|
|
+ return sysOrgMapper.listOrgAll(schoolId);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public boolean saveOrg(SysOrg org) {
|
|
@@ -118,6 +117,12 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
success = this.updateById(org);
|
|
|
}
|
|
|
if (Objects.nonNull(org.getCampusId())) {//更新校区
|
|
|
+ BasicCampus basicCampus = basicCampusService.getById(org.getCampusId());
|
|
|
+ if (Objects.nonNull(basicCampus) && Objects.nonNull(basicCampus.getPrintHouseId())
|
|
|
+ && basicCampus.getPrintHouseId().longValue() != org.getId().longValue()) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("该校区已绑定其它印刷室");
|
|
|
+ }
|
|
|
+
|
|
|
UpdateWrapper<BasicCampus> basicCampusUpdateWrapper = new UpdateWrapper<>();
|
|
|
basicCampusUpdateWrapper.lambda().eq(BasicCampus::getId, org.getCampusId())
|
|
|
.set(BasicCampus::getPrintHouseId, org.getId());
|