|
@@ -23,10 +23,13 @@ import java.util.stream.Collectors;
|
|
|
public class SysRegionFacade extends SysRegionServiceImpl {
|
|
|
@Autowired
|
|
|
private SysRegionDeptServiceImpl sysRegionDeptServiceImpl;
|
|
|
- public Boolean saveWard(SysRegionVo sysRegionVo){
|
|
|
+ public Object saveWard(SysRegionVo sysRegionVo){
|
|
|
Boolean flag = false;
|
|
|
//校验病区和科室
|
|
|
- getSysRegion(sysRegionVo);
|
|
|
+ Object sysRegionObj = getSysRegion(sysRegionVo);
|
|
|
+ if("1".equals(sysRegionObj.toString()) || "0".equals(sysRegionObj.toString())){
|
|
|
+ return sysRegionObj;
|
|
|
+ }
|
|
|
SysRegion sysRegion = new SysRegion();
|
|
|
BeanUtils.copyProperties(sysRegionVo,sysRegion);
|
|
|
List<SysRegionDept> sysRegionDepts = new ArrayList<>();
|
|
@@ -38,18 +41,34 @@ public class SysRegionFacade extends SysRegionServiceImpl {
|
|
|
return flag;
|
|
|
};
|
|
|
|
|
|
- public void getSysRegion(SysRegionVo sysRegionVo){
|
|
|
- List<Long> collects = this.lambdaQuery()
|
|
|
- .eq(SysRegion::getName, sysRegionVo.getName())
|
|
|
- .eq(SysRegion::getHospitalId, sysRegionVo.getHospitalId()).list().stream().map(obj -> obj.getId()).collect(Collectors.toList());
|
|
|
- if(ListUtil.isNotEmpty(collects)){
|
|
|
- Integer count = sysRegionDeptServiceImpl.lambdaQuery()
|
|
|
- .in(SysRegionDept::getRegionId,collects)
|
|
|
- .in(SysRegionDept::getDeptId, sysRegionVo.getDeptIds()).count();
|
|
|
- if(count>0){
|
|
|
- throw new ApiException("此病区关联科室重复");
|
|
|
+ public Object getSysRegion(SysRegionVo sysRegionVo){
|
|
|
+ //禁用校验
|
|
|
+ if(null != sysRegionVo.getId() && 1 == sysRegionVo.getMark()){
|
|
|
+ List<Long> collectList = sysRegionDeptServiceImpl.lambdaQuery()
|
|
|
+ .eq(SysRegionDept::getRegionId, sysRegionVo.getId())
|
|
|
+ .list().stream().map(obj -> obj.getDeptId()).collect(Collectors.toList());
|
|
|
+ if(ListUtil.isNotEmpty(collectList) && collectList.size()>0){
|
|
|
+ //当前病区存在与之关联的科室
|
|
|
+ return 1;
|
|
|
}
|
|
|
+ return 0;
|
|
|
}
|
|
|
+
|
|
|
+ //新增-校验重复数据
|
|
|
+ if(null == sysRegionVo.getId()){
|
|
|
+ List<Long> collects = this.lambdaQuery()
|
|
|
+ .eq(SysRegion::getName, sysRegionVo.getName())
|
|
|
+ .eq(SysRegion::getHospitalId, sysRegionVo.getHospitalId()).list().stream().map(obj -> obj.getId()).collect(Collectors.toList());
|
|
|
+ if(ListUtil.isNotEmpty(collects)){
|
|
|
+ Integer count = sysRegionDeptServiceImpl.lambdaQuery()
|
|
|
+ .in(SysRegionDept::getRegionId,collects)
|
|
|
+ .in(SysRegionDept::getDeptId, sysRegionVo.getDeptIds()).count();
|
|
|
+ if(count>0){
|
|
|
+ throw new ApiException("当前病区关联科室重复");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
public Boolean addSysRegion(SysRegionVo sysRegionVo,SysRegion sysRegion ,List<SysRegionDept> sysRegionDepts){
|