diff --git a/lis-system/src/main/resources/application-druid.yml b/lis-system/src/main/resources/application-druid.yml index f50f23c..2a0c57e 100644 --- a/lis-system/src/main/resources/application-druid.yml +++ b/lis-system/src/main/resources/application-druid.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:sqlserver://47.97.125.165:11433;DatabaseName=lisnet_test - username: lis - password: lisp@ssw0rd + url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=lisnet_ssrmyy + username: sa + password: qwe123!@# # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/transitPF/src/main/java/com/czlis/transitPF/controller/dict/HospitalController.java b/transitPF/src/main/java/com/czlis/transitPF/controller/dict/HospitalController.java new file mode 100644 index 0000000..6fc48fc --- /dev/null +++ b/transitPF/src/main/java/com/czlis/transitPF/controller/dict/HospitalController.java @@ -0,0 +1,107 @@ +package com.czlis.transitPF.controller.dict; + +import com.czlis.common.annotation.Log; +import com.czlis.common.core.controller.BaseController; +import com.czlis.common.core.domain.AjaxResult; +import com.czlis.common.core.page.TableDataInfo; +import com.czlis.common.enums.BusinessType; +import com.czlis.common.utils.poi.ExcelUtil; +import com.czlis.transitPF.pojo.SysHospital; +import com.czlis.transitPF.service.IsysHospitalService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@Api(tags = "区域检验中心-医疗机构字典管理") +@RestController +@RequestMapping("/transitdict/hospital") +@Slf4j +public class HospitalController extends BaseController { + @Autowired + private IsysHospitalService sysHospitalService; + /** + * 获取医疗机构列表 + */ + @ApiOperation("获取医疗机构列表") + @GetMapping("/list") + public TableDataInfo list(SysHospital post) { + startPage(); + List list = sysHospitalService.selectHospitalList(post); + return getDataTable(list); + } + @ApiOperation("医疗机构导出") + @Log(title = "医疗机构导出", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SysHospital post) { + List list = sysHospitalService.selectHospitalList(post); + ExcelUtil util = new ExcelUtil<>(SysHospital.class); + util.exportExcel(response, list, "医疗机构数据"); + } + + /** + * 根据医疗机构编号获取详细信息 + */ + @ApiOperation("获取详细信息") + @GetMapping(value = "/{hospitalId}") + public AjaxResult getInfo(@PathVariable Long hospitalId) { + return success(sysHospitalService.selectHospitalById(hospitalId)); + } + + /** + * 新增医疗机构 + */ + @ApiOperation("新增医疗机构") + @Log(title = "医疗机构管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysHospital post) { + if (!sysHospitalService.checkHospitalNameUnique(post)) { + return error("新增医疗机构'" + post.getHospitalName() + "'失败,医疗机构名称已存在"); + } else if (!sysHospitalService.checkHospitalCodeUnique(post)) { + return error("新增医疗机构'" + post.getHospitalName() + "'失败,医疗机构编码已存在"); + } + post.setCreateBy(getUsername()); + return toAjax(sysHospitalService.insertHospital(post)); + } + + /** + * 修改医疗机构 + */ + @ApiOperation("修改医疗机构") + @Log(title = "医疗机构管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysHospital post) { + if (!sysHospitalService.checkHospitalNameUnique(post)) { + return error("修改医疗机构'" + post.getHospitalName() + "'失败,医疗机构名称已存在"); + } else if (!sysHospitalService.checkHospitalCodeUnique(post)) { + return error("修改医疗机构'" + post.getHospitalName() + "'失败,医疗机构编码已存在"); + } + post.setUpdateBy(getUsername()); + return toAjax(sysHospitalService.updateHospital(post)); + } + + /** + * 删除医疗机构 + */ + @ApiOperation("删除医疗机构") + @Log(title = "医疗机构管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{hospitalIds}") + public AjaxResult remove(@PathVariable Long[] postIds) { + return toAjax(sysHospitalService.deleteHospitalByIds(postIds)); + } + + /** + * 获取医疗机构选择框列表 + */ + @ApiOperation("获取医疗机构选择框列表") + @GetMapping("/optionselect") + public AjaxResult optionselect() { + List posts = sysHospitalService.selectHospitalAll(); + return success(posts); + } +} diff --git a/transitPF/src/main/java/com/czlis/transitPF/mapper/SysHospitalMapper.java b/transitPF/src/main/java/com/czlis/transitPF/mapper/SysHospitalMapper.java new file mode 100644 index 0000000..2fcfb4a --- /dev/null +++ b/transitPF/src/main/java/com/czlis/transitPF/mapper/SysHospitalMapper.java @@ -0,0 +1,94 @@ +package com.czlis.transitPF.mapper; + +import com.czlis.transitPF.pojo.SysHospital; + +import java.util.List; + +public interface SysHospitalMapper { + /** + * 查询医疗机构数据集合 + * + * @param hospital 医疗机构信息 + * @return 医疗机构数据集合 + */ + public List selectHospitalList(SysHospital hospital); + + /** + * 查询所有医疗机构 + * + * @return 医疗机构列表 + */ + public List selectHospitalAll(); + + /** + * 通过医疗机构ID查询医疗机构信息 + * + * @param hospitalId 医疗机构ID + * @return 角色对象信息 + */ + public SysHospital selectHospitalById(Long hospitalId); + + /** + * 根据用户ID获取医疗机构选择框列表 + * + * @param userId 用户ID + * @return 选中医疗机构ID列表 + */ + // public List selectHospitalListByUserId(Long userId); + + /** + * 查询用户所属医疗机构组 + * + * @param userName 用户名 + * @return 结果 + */ + // public List selectHospitalsByUserName(String userName); + + /** + * 删除医疗机构信息 + * + * @param hospitalId 医疗机构ID + * @return 结果 + */ + public int deleteHospitalById(Long hospitalId); + + /** + * 批量删除医疗机构信息 + * + * @param hospitalIds 需要删除的医疗机构ID + * @return 结果 + */ + public int deleteHospitalByIds(Long[] hospitalIds); + + /** + * 修改医疗机构信息 + * + * @param hospital 医疗机构信息 + * @return 结果 + */ + public int updateHospital(SysHospital hospital); + + /** + * 新增医疗机构信息 + * + * @param hospital 医疗机构信息 + * @return 结果 + */ + public int insertHospital(SysHospital hospital); + + /** + * 校验医疗机构名称 + * + * @param hospitalName 医疗机构名称 + * @return 结果 + */ + public SysHospital checkHospitalNameUnique(String hospitalName); + + /** + * 校验医疗机构编码 + * + * @param hospitalCode 医疗机构编码 + * @return 结果 + */ + public SysHospital checkHospitalCodeUnique(String hospitalCode); +} diff --git a/transitPF/src/main/java/com/czlis/transitPF/pojo/SysHospital.java b/transitPF/src/main/java/com/czlis/transitPF/pojo/SysHospital.java new file mode 100644 index 0000000..9ac133b --- /dev/null +++ b/transitPF/src/main/java/com/czlis/transitPF/pojo/SysHospital.java @@ -0,0 +1,39 @@ +package com.czlis.transitPF.pojo; + +import com.czlis.common.annotation.Excel; +import com.czlis.common.core.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SysHospital extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * 医疗机构序号 + */ + @Excel(name = "医疗机构序号", cellType = Excel.ColumnType.NUMERIC) + private Long hospitalId; + /** + * 医疗机构编码 + */ + @Excel(name = "医疗机构编码") + private String hospitalCode; + + /** + * 医疗机构名称 + */ + @Excel(name = "医疗机构名称") + private String hospitalName; + /** + * 医疗机构排序 + */ + @Excel(name = "医疗机构令牌") + private Integer hospitalUserinfo; + /** + * 状态(0正常 1停用) + */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; +} diff --git a/transitPF/src/main/java/com/czlis/transitPF/service/IsysHospitalService.java b/transitPF/src/main/java/com/czlis/transitPF/service/IsysHospitalService.java new file mode 100644 index 0000000..f00e526 --- /dev/null +++ b/transitPF/src/main/java/com/czlis/transitPF/service/IsysHospitalService.java @@ -0,0 +1,94 @@ +package com.czlis.transitPF.service; + +import com.czlis.transitPF.pojo.SysHospital; + +import java.util.List; + +public interface IsysHospitalService { + /** + * 查询医疗机构信息集合 + * + * @param Hospital 医疗机构信息 + * @return 医疗机构列表 + */ + public List selectHospitalList(SysHospital Hospital); + + /** + * 查询所有医疗机构 + * + * @return 医疗机构列表 + */ + public List selectHospitalAll(); + + /** + * 通过医疗机构ID查询医疗机构信息 + * + * @param HospitalId 医疗机构ID + * @return 角色对象信息 + */ + public SysHospital selectHospitalById(Long HospitalId); + + /** + * 根据用户ID获取医疗机构选择框列表 + * + * @param userId 用户ID + * @return 选中医疗机构ID列表 + */ + public List selectHospitalListByUserId(Long userId); + + /** + * 校验医疗机构名称 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + public boolean checkHospitalNameUnique(SysHospital Hospital); + + /** + * 校验医疗机构编码 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + public boolean checkHospitalCodeUnique(SysHospital Hospital); + + /** + * 通过医疗机构ID查询医疗机构使用数量 + * + * @param HospitalId 医疗机构ID + * @return 结果 + */ + public int countUserHospitalById(Long HospitalId); + + /** + * 删除医疗机构信息 + * + * @param HospitalId 医疗机构ID + * @return 结果 + */ + public int deleteHospitalById(Long HospitalId); + + /** + * 批量删除医疗机构信息 + * + * @param HospitalIds 需要删除的医疗机构ID + * @return 结果 + */ + public int deleteHospitalByIds(Long[] HospitalIds); + + /** + * 新增保存医疗机构信息 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + public int insertHospital(SysHospital Hospital); + + /** + * 修改保存医疗机构信息 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + public int updateHospital(SysHospital Hospital); +} diff --git a/transitPF/src/main/java/com/czlis/transitPF/service/impl/IsysHospitalServiceImpl.java b/transitPF/src/main/java/com/czlis/transitPF/service/impl/IsysHospitalServiceImpl.java new file mode 100644 index 0000000..64eac0d --- /dev/null +++ b/transitPF/src/main/java/com/czlis/transitPF/service/impl/IsysHospitalServiceImpl.java @@ -0,0 +1,156 @@ +package com.czlis.transitPF.service.impl; + +import com.czlis.common.constant.UserConstants; +import com.czlis.common.exception.ServiceException; +import com.czlis.common.utils.StringUtils; +import com.czlis.transitPF.mapper.SysHospitalMapper; +import com.czlis.transitPF.pojo.SysHospital; +import com.czlis.transitPF.service.IsysHospitalService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@Slf4j +public class IsysHospitalServiceImpl implements IsysHospitalService { + @Autowired + SysHospitalMapper hospitalMapper; + + /** + * 查询医疗机构信息集合 + * + * @param Hospital 医疗机构信息 + * @return 医疗机构信息集合 + */ + @Override + public List selectHospitalList(SysHospital Hospital) { + return hospitalMapper.selectHospitalList(Hospital); + } + + /** + * 查询所有医疗机构 + * + * @return 医疗机构列表 + */ + @Override + public List selectHospitalAll() { + return hospitalMapper.selectHospitalAll(); + } + + /** + * 通过医疗机构ID查询医疗机构信息 + * + * @param HospitalId 医疗机构ID + * @return 角色对象信息 + */ + @Override + public SysHospital selectHospitalById(Long HospitalId) { + return hospitalMapper.selectHospitalById(HospitalId); + } + + /** + * 根据用户ID获取医疗机构选择框列表 + * + * @param userId 用户ID + * @return 选中医疗机构ID列表 + */ + @Override + public List selectHospitalListByUserId(Long userId) { + return null;//hospitalMapper.selectHospitalListByUserId(userId); + } + + /** + * 校验医疗机构名称是否唯一 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + @Override + public boolean checkHospitalNameUnique(SysHospital Hospital) { + Long HospitalId = StringUtils.isNull(Hospital.getHospitalId()) ? -1L : Hospital.getHospitalId(); + SysHospital info = hospitalMapper.checkHospitalNameUnique(Hospital.getHospitalName()); + if (StringUtils.isNotNull(info) && info.getHospitalId().longValue() != HospitalId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验医疗机构编码是否唯一 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + @Override + public boolean checkHospitalCodeUnique(SysHospital Hospital) { + Long HospitalId = StringUtils.isNull(Hospital.getHospitalId()) ? -1L : Hospital.getHospitalId(); + SysHospital info = hospitalMapper.checkHospitalCodeUnique(Hospital.getHospitalCode()); + if (StringUtils.isNotNull(info) && info.getHospitalId().longValue() != HospitalId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 通过医疗机构ID查询医疗机构使用数量 + * + * @param HospitalId 医疗机构ID + * @return 结果 + */ + @Override + public int countUserHospitalById(Long HospitalId) { + return 0;//hospitalMapper.countUserHospitalById(HospitalId); + } + + /** + * 删除医疗机构信息 + * + * @param HospitalId 医疗机构ID + * @return 结果 + */ + @Override + public int deleteHospitalById(Long HospitalId) { + return hospitalMapper.deleteHospitalById(HospitalId); + } + + /** + * 批量删除医疗机构信息 + * + * @param HospitalIds 需要删除的医疗机构ID + * @return 结果 + */ + @Override + public int deleteHospitalByIds(Long[] HospitalIds) { + for (Long HospitalId : HospitalIds) { + SysHospital Hospital = selectHospitalById(HospitalId); + if (countUserHospitalById(HospitalId) > 0) { + throw new ServiceException(String.format("%1$s已分配,不能删除", Hospital.getHospitalName())); + } + } + return hospitalMapper.deleteHospitalByIds(HospitalIds); + } + + /** + * 新增保存医疗机构信息 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + @Override + public int insertHospital(SysHospital Hospital) { + return hospitalMapper.insertHospital(Hospital); + } + + /** + * 修改保存医疗机构信息 + * + * @param Hospital 医疗机构信息 + * @return 结果 + */ + @Override + public int updateHospital(SysHospital Hospital) { + return hospitalMapper.updateHospital(Hospital); + } +} diff --git a/transitPF/src/main/resources/mapper/SysHospitalMapper.xml b/transitPF/src/main/resources/mapper/SysHospitalMapper.xml new file mode 100644 index 0000000..c055487 --- /dev/null +++ b/transitPF/src/main/resources/mapper/SysHospitalMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + select hospital_id, hospital_code, hospital_name, hospital_userinfo, status, create_by, create_time, remark + from sys_hospital + + + + + + + + + + + + + + + + + + update sys_hospital + + hospital_code = #{hospitalCode}, + hospital_name = #{hospitalName}, + hospital_userinfo = #{hospitalUserinfo}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = getdate() + + where hospital_id = #{hospitalId} + + + + insert into sys_hospital( + hospital_id, + hospital_code, + hospital_name, + hospital_userinfo, + status, + remark, + create_by, + create_time + )values( + #{hospitalId}, + #{hospitalCode}, + #{hospitalName}, + #{hospitalUserinfo}, + #{status}, + #{remark}, + #{createBy}, + getdate() + ) + + + + delete from sys_hospital where hospital_id = #{hospitalId} + + + + delete from sys_hospital where hospital_id in + + #{hospitalId} + + + + + \ No newline at end of file