diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Hospital.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Hospital.java index 3055cd43..a82f8bf5 100644 --- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Hospital.java +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Hospital.java @@ -46,7 +46,7 @@ public class Hospital extends CommonEntity implements Serializable { private String status; @TableField(exist = false) - private List institutionIds; + private String[] institutionIds; @TableField(exist = false) private List institutionList = new ArrayList<>(); diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java index 1b3442a5..8c8064c7 100644 --- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java @@ -103,7 +103,6 @@ public class User extends CommonEntity { * 帐号状态(0正常 1停用) */ private String status; - /** * 角色ID集合 */ @@ -121,5 +120,4 @@ public class User extends CommonEntity { */ @TableField(exist = false) private String newPassword; - } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java index 9642cd62..8a121077 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java @@ -58,14 +58,7 @@ public class AddressController { @PutMapping("/update") public R update(@RequestBody Address address){ addressService.updateById(address); - new Thread(() -> { - List userList = userService.list(new LambdaQueryWrapper().eq(User::getDeptId, address.getId())); - for (User user : userList) { - user.setDeptName(address.getName()); - userService.updateById(user); - } - }).start(); - return R.ok(); + return R.ok(address); } /** @@ -152,6 +145,7 @@ public class AddressController { .eq(StrUtil.isNotBlank(address.getParentId()), Address::getParentId, address.getParentId()) .between(StrUtil.isNotBlank(address.getBeginTime()) && StrUtil.isNotBlank(address.getEndTime()), Address::getCreateTime, address.getBeginTime(), address.getEndTime()) .like(StrUtil.isNotBlank(address.getCode()),Address::getCode, address.getCode()) + .like(StrUtil.isNotBlank(address.getId()),Address::getId,address.getId()) .orderByAsc(Address::getSort); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DoctorController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DoctorController.java index 677c36bc..612c5ecc 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DoctorController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DoctorController.java @@ -1,17 +1,21 @@ package com.cloud.kicc.system.controller; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.system.api.entity.Doctor; +import com.cloud.kicc.system.api.entity.Project; import com.cloud.kicc.system.service.DoctorService; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; /** * @Author: TangSheng @@ -39,14 +43,14 @@ public class DoctorController { /** * 分页条件查询 - * @param page + * @param * @param doctor * @return */ @GetMapping("/list") - public R list(Page page, Doctor doctor) { - Page result = doctorService.page(page, getQueryWrapper(doctor)); - return R.ok(result.getRecords(), result.getTotal()); + public R list(Doctor doctor) { + List result = doctorService.list(getQueryWrapper(doctor)); + return R.ok(result, result.size()); } /** @@ -83,13 +87,11 @@ public class DoctorController { } - private QueryWrapper getQueryWrapper(Doctor doctor) { - return new QueryWrapper() - .like(StrUtil.isNotBlank(doctor.getName()), "name", doctor.getName()) - .between(StrUtil.isAllNotBlank(doctor.getBeginTime(),doctor.getEndTime()),"create_time", - doctor.getBeginTime(), - doctor.getEndTime()) - .orderByAsc("id"); + private LambdaQueryWrapper getQueryWrapper(Doctor doctor) { + return Wrappers.lambdaQuery() + .like(StrUtil.isNotBlank(doctor.getName()), Doctor::getName, doctor.getName()) + .between(StrUtil.isNotBlank(doctor.getBeginTime()) && StrUtil.isNotBlank(doctor.getEndTime()), Doctor::getCreateTime, doctor.getBeginTime(), doctor.getEndTime()) + .orderByAsc(Doctor::getId); } } \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/HospitalController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/HospitalController.java index d8d47d7f..e37ea5a8 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/HospitalController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/HospitalController.java @@ -1,8 +1,11 @@ package com.cloud.kicc.system.controller; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.constant.AppConstants; @@ -20,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @Author: TangSheng @@ -49,9 +53,8 @@ public class HospitalController { public R add(@RequestBody Hospital hospital){ //新增医院 hospitalService.save(hospital); - //医院机构关联 - List institutionRelations = new ArrayList<>(hospital.getInstitutionIds().size()); + List institutionRelations = new ArrayList<>(); for (String institutionId : hospital.getInstitutionIds()) { @@ -64,26 +67,46 @@ public class HospitalController { return R.ok(hospital); } - +// @GetMapping("/{id}") +// public R queryById(@PathVariable String id){ +// hospitalService.getById(id); +// return R.ok(hospitalService.getById(id)); +// } + @GetMapping("/{id:\\w+}") + public R queryById(@PathVariable("id") String id){ + Hospital hospital = hospitalService.getById(id); + List institutionIds; + if(hospital!=null){ + institutionIds = institutionRelationService.list(new LambdaQueryWrapper().eq(InstitutionRelation::getHospitalId,hospital.getId())) + .stream().map(institutionRelation -> institutionRelation.getInstitutionId()).collect(Collectors.toList()); + hospital.setInstitutionIds(ArrayUtil.toArray(institutionIds,String.class)); + } + return R.ok(hospital); + } /** * 修改 * @param hospital 修改对象 * @return */ +// @PutMapping("/update") +// public R update(@RequestBody Hospital hospital){ +// hospitalService.updateById(hospital); +// return R.ok(hospital); +// } @PutMapping("/update") public R update(@RequestBody Hospital hospital){ - hospitalService.updateById(hospital); - return R.ok(hospital); + hospitalService.updateHospital(hospital); + return R.ok(); } /** * 删除 - * @param ids 节点id + * @param id 节点id * @return */ - @DeleteMapping("/remove/{ids}") - public R remove(@PathVariable("ids") String[] ids){ - hospitalService.removeBatchByIds(Arrays.asList(ids)); + @DeleteMapping("/remove/{id:[\\w,]+}") + public R remove(@PathVariable("id") String[] id){ + hospitalService.removeByIds(Arrays.asList(id)); return R.ok(); } @@ -99,16 +122,20 @@ public class HospitalController { /** * 查询根据条件 - * @param page + * @param * @param hospital * @return */ +// @GetMapping("/list") +// public R list(Page page, Hospital hospital) { +// IPage iPage = hospitalService.page(page, getQueryWrapper(hospital)); +// return R.ok(iPage.getRecords(), iPage.getTotal()); +// } @GetMapping("/list") - public R list(Page page, Hospital hospital) { - IPage iPage = hospitalService.queryList(page, hospital); - return R.ok(iPage.getRecords(), iPage.getTotal()); + public R list(Hospital hospital){ + List hospitalList = hospitalService.list(getQueryWrapper(hospital)); + return R.ok(hospitalList,hospitalList.size()); } - /** * 查询医院关联的机构 * @param id 医院id @@ -121,17 +148,13 @@ public class HospitalController { } - private QueryWrapper getQueryWrapper(Hospital hospital) { - return new QueryWrapper() - .like(StrUtil.isNotBlank(hospital.getName()), "name", hospital.getName()) - .like(StrUtil.isNotBlank(hospital.getContactsName()), "contacts_name", hospital.getContactsName()) - .like(StrUtil.isNotBlank(hospital.getContactsTel()), "contacts_tel", hospital.getContactsTel()) - .like(StrUtil.isNotBlank(hospital.getContactsTitle()), "contacts_title", hospital.getContactsTitle()) - .like(StrUtil.isNotBlank(hospital.getDetailAddress()), "detail_address", hospital.getDetailAddress()) - .between(!StrUtil.hasBlank(hospital.getBeginTime(),hospital.getEndTime()),"create_time", - hospital.getBeginTime(), - hospital.getEndTime()) - .orderByAsc("create_time"); + private LambdaQueryWrapper getQueryWrapper(Hospital hospital) { + return new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(hospital.getName()),Hospital::getName,hospital.getName()) + .eq(StrUtil.isNotBlank(hospital.getType()),Hospital::getType,hospital.getType()) + .between(StrUtil.isNotBlank(hospital.getBeginTime()) && StrUtil.isNotBlank(hospital.getEndTime()),Hospital::getCreateTime,hospital.getBeginTime(),hospital.getEndTime()) + .orderByAsc(Hospital::getCreateTime); + } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/InstitutionController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/InstitutionController.java index 513f2e11..09eb3274 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/InstitutionController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/InstitutionController.java @@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; /** * @Author: TangSheng @@ -32,21 +33,21 @@ public class InstitutionController { * @param id * @return */ - @GetMapping("/query/{id}") + @GetMapping("{id}") public R queryById(@PathVariable String id) { return R.ok(institutionService.getById(id)); } /** * 分页条件查询 - * @param page + * @param * @param institution * @return */ @GetMapping("/list") - public R list(Page page, Institution institution) { - Page result = institutionService.page(page, getQueryWrapper(institution)); - return R.ok(result.getRecords(), result.getTotal()); + public R list( Institution institution) { + List result = institutionService.list( getQueryWrapper(institution)); + return R.ok(result, result.size()); } /** @@ -86,6 +87,7 @@ public class InstitutionController { private QueryWrapper getQueryWrapper(Institution institution) { return new QueryWrapper() .like(StrUtil.isNotBlank(institution.getName()), "name", institution.getName()) + .eq(StrUtil.isNotBlank(institution.getType()),"type",institution.getType()) .between(StrUtil.isAllNotBlank(institution.getBeginTime(),institution.getEndTime()),"create_time", institution.getBeginTime(), institution.getEndTime()) diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/OfficeController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/OfficeController.java index 40142167..0fffd672 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/OfficeController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/OfficeController.java @@ -32,10 +32,10 @@ public class OfficeController { * @param id * @return */ - @GetMapping("/query/{id}") - public R queryById(@PathVariable String id) { - return R.ok(officeService.getById(id)); - } +// @GetMapping("/query/{id}") +// public R queryById(@PathVariable String id) { +// return R.ok(officeService.getById(id)); +// } /** * 分页条件查询 @@ -70,7 +70,10 @@ public class OfficeController { officeService.updateById(office); return R.ok(); } - +@GetMapping("/{id}") +public R queryById(@PathVariable String id){ + return R.ok(officeService.getById(id)); +} /** * 删除 * @param id diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java index 40458c47..514af575 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java @@ -2,6 +2,7 @@ package com.cloud.kicc.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.system.api.entity.Address; import com.cloud.kicc.system.api.entity.Dept; diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/HospitalService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/HospitalService.java index c97ad1f3..96095ee5 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/HospitalService.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/HospitalService.java @@ -14,5 +14,5 @@ public interface HospitalService extends IService { IPage queryList(IPage page, Hospital hospital); - + boolean updateHospital(Hospital hospital); } \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/HospitalServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/HospitalServiceImpl.java index 3cb7b1e7..32d06d2d 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/HospitalServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/HospitalServiceImpl.java @@ -1,13 +1,21 @@ package com.cloud.kicc.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.system.api.entity.Hospital; +import com.cloud.kicc.system.api.entity.InstitutionRelation; import com.cloud.kicc.system.mapper.HospitalMapper; import com.cloud.kicc.system.service.HospitalService; +import com.cloud.kicc.system.service.InstitutionRelationService; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * @Author: TangSheng * @Description: 医院管理 @@ -15,10 +23,37 @@ import org.springframework.stereotype.Service; * @Date Created in 15:30 2022/3/24 */ @Service +@AllArgsConstructor public class HospitalServiceImpl extends ServiceImpl implements HospitalService { - + private final InstitutionRelationService institutionRelationService; @Override public IPage queryList(IPage page, Hospital hospital) { return this.baseMapper.queryList(page, hospital); } + + @Override + public boolean updateHospital(Hospital hospital) { + //修改医院信息 + baseMapper.updateById(hospital); + //删除医院与机构关联 + institutionRelationService.remove(new LambdaQueryWrapper().eq(InstitutionRelation::getHospitalId,hospital.getId())); + insertInstitutionRelation(hospital); + return true; + } + public boolean insertInstitutionRelation(Hospital hospital){ + boolean rows = true; + //新增医院与机构关联 + List list = new ArrayList(); + for(String institutionId : hospital.getInstitutionIds()){ + InstitutionRelation relation = new InstitutionRelation(); + relation.setHospitalId(hospital.getId()); + relation.setInstitutionId(institutionId); + list.add(relation); + } + if (list.size()>0){ + rows = institutionRelationService.saveBatch(list); + } + return rows; + } + } \ No newline at end of file