package cn.besteam.modules.medical.service.impl;
|
|
import cn.besteam.common.constant.DepartmentEnum;
|
import cn.besteam.common.util.DateUtil;
|
import cn.besteam.modules.medical.entity.MwWarningConfigItem;
|
import cn.besteam.modules.medical.entity.MwWarningConfigItemPlatform;
|
import cn.besteam.modules.medical.mapper.MwWarningConfigItemMapper;
|
import cn.besteam.modules.medical.mapper.MwWarningConfigItemPlatformMapper;
|
import cn.besteam.modules.medical.service.IMwWarningConfigItemPlatformService;
|
import cn.besteam.modules.medical.service.IMwWarningConfigItemService;
|
import cn.besteam.modules.medical.vo.MwWarningConfigItemPlatformVO;
|
import cn.besteam.modules.medical.vo.MwWarningConfigItemVO;
|
import cn.besteam.modules.shiro.authc.util.EnvUtils;
|
import cn.besteam.modules.system.entity.SysDepartment;
|
import cn.besteam.modules.system.service.ISysDepartmentService;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* @Description: 预警-自定义配置-平台
|
* @author: besteam
|
* @date: 2020-07-17
|
* @version: V1.0
|
*/
|
@Service
|
public class MwWarningConfigItemPlatformServiceImpl extends ServiceImpl<MwWarningConfigItemPlatformMapper, MwWarningConfigItemPlatform> implements IMwWarningConfigItemPlatformService {
|
|
@Autowired
|
private ISysDepartmentService sysDepartmentService;
|
|
@Override
|
public List<MwWarningConfigItemPlatformVO> listByType(Integer type, Integer departmentId) {
|
|
List<MwWarningConfigItemPlatformVO> voList;
|
if (departmentId != null) {
|
SysDepartment myDepartment = sysDepartmentService.getById(departmentId);
|
if (myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.OFFICE.getType()) || myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.DEPARTMENT.getType())) {
|
return new ArrayList<>();
|
}
|
List<SysDepartment> sysDepartmentList = sysDepartmentService.list(new QueryWrapper<SysDepartment>().lambda().likeRight(SysDepartment::getTreeCode, myDepartment.getTreeCode()).eq(SysDepartment::getOrgType, DepartmentEnum.OrgTypeEnum.AREA.getType()));
|
if (CollectionUtils.isEmpty(sysDepartmentList)) {
|
return new ArrayList<>();
|
}
|
voList = baseMapper.listByType(type, sysDepartmentList.stream().map(SysDepartment::getId).collect(Collectors.toList()));
|
} else {
|
SysDepartment myDepartment = sysDepartmentService.getMyDepartment(EnvUtils.getUser().getId());
|
if (myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.OFFICE.getType()) || myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.DEPARTMENT.getType())) {
|
return new ArrayList<>();
|
}
|
List<SysDepartment> sysDepartmentList = sysDepartmentService.list(new QueryWrapper<SysDepartment>().lambda().likeRight(SysDepartment::getTreeCode, myDepartment.getTreeCode()).eq(SysDepartment::getOrgType, DepartmentEnum.OrgTypeEnum.AREA.getType()));
|
if (CollectionUtils.isEmpty(sysDepartmentList)) {
|
return new ArrayList<>();
|
}
|
voList = baseMapper.listByType(type, sysDepartmentList.stream().map(SysDepartment::getId).collect(Collectors.toList()));
|
}
|
for (MwWarningConfigItemPlatformVO vo : voList) {
|
if (vo.getCustomDepartmentId() != null) {
|
vo.setCustomDepartmentIdList(sysDepartmentService.getParentIdList(vo.getCustomDepartmentId()));
|
}
|
if(vo.getApplyType()!=null && vo.getApplyType()==2){
|
vo.setCustomValueText(vo.getCustomValueText()+"("+vo.getDescription()+")");
|
}else if(vo.getApplyType()!=null && vo.getApplyType()==3){
|
vo.setCustomValueText("临时:"+Double.valueOf(vo.getCustomValueText()).intValue()+"天("+
|
DateUtil.format(vo.getUpdateTime(),"yyyy-MM-dd") +","
|
+DateUtil.format(vo.getExpirationTime(),"yyyy-MM-dd") +")");
|
}else if(vo.getApplyType()!=null && vo.getApplyType()==1){
|
vo.setCustomValueText("固定:"+Double.valueOf(vo.getCustomValueText()).intValue()+"天");
|
}
|
}
|
return voList;
|
}
|
|
@Override
|
public IPage<MwWarningConfigItemPlatformVO> listByType(Integer type, Integer departmentId, Integer pageNo, Integer pageSize) {
|
IPage<MwWarningConfigItemPlatformVO> page = new Page<>(pageNo, pageSize);
|
List<MwWarningConfigItemPlatformVO> voList;
|
if (departmentId != null) {
|
SysDepartment myDepartment = sysDepartmentService.getById(departmentId);
|
if (myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.OFFICE.getType()) || myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.DEPARTMENT.getType())|| myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.HOSPITAL.getType())) {
|
return page;
|
}
|
List<SysDepartment> sysDepartmentList = sysDepartmentService.list(new QueryWrapper<SysDepartment>().lambda().likeRight(SysDepartment::getTreeCode, myDepartment.getTreeCode()).eq(SysDepartment::getOrgType, DepartmentEnum.OrgTypeEnum.AREA.getType()));
|
if (CollectionUtils.isEmpty(sysDepartmentList)) {
|
return page;
|
}
|
voList = baseMapper.listByType(type, sysDepartmentList.stream().map(SysDepartment::getId).collect(Collectors.toList()),page);
|
} else {
|
SysDepartment myDepartment = sysDepartmentService.getMyDepartment(EnvUtils.getUser().getId());
|
if (myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.OFFICE.getType()) || myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.DEPARTMENT.getType())|| myDepartment.getOrgType().equals(DepartmentEnum.OrgTypeEnum.HOSPITAL.getType())) {
|
return page;
|
}
|
List<SysDepartment> sysDepartmentList = sysDepartmentService.list(new QueryWrapper<SysDepartment>().lambda().likeRight(SysDepartment::getTreeCode, myDepartment.getTreeCode()).eq(SysDepartment::getOrgType, DepartmentEnum.OrgTypeEnum.AREA.getType()));
|
if (CollectionUtils.isEmpty(sysDepartmentList)) {
|
return page;
|
}
|
voList = baseMapper.listByType(type, sysDepartmentList.stream().map(SysDepartment::getId).collect(Collectors.toList()),page);
|
}
|
for (MwWarningConfigItemPlatformVO vo : voList) {
|
if (vo.getCustomDepartmentId() != null) {
|
vo.setCustomDepartmentIdList(sysDepartmentService.getParentIdList(vo.getCustomDepartmentId()));
|
}
|
if(vo.getApplyType()!=null && vo.getApplyType()==2){
|
vo.setCustomValueText(vo.getCustomValueText()+"("+vo.getDescription()+")");
|
}else if(vo.getApplyType()!=null && vo.getApplyType()==3){
|
vo.setCustomValueText("临时:"+Double.valueOf(vo.getCustomValueText()).intValue()+"天("+
|
DateUtil.format(vo.getUpdateTime(),"yyyy-MM-dd") +","
|
+DateUtil.format(vo.getExpirationTime(),"yyyy-MM-dd") +")");
|
}else if(vo.getApplyType()!=null && vo.getApplyType()==1){
|
vo.setCustomValueText("固定:"+Double.valueOf(vo.getCustomValueText()).intValue()+"天");
|
}
|
|
}
|
page.setRecords(voList);
|
return page;
|
}
|
|
}
|