浏览代码

Merge branch 'master' of huangrui/CostAccount into dev

huangrui 4 年之前
父节点
当前提交
ddbbacff0b

+ 5 - 6
src/main/java/com/imed/costaccount/model/dto/HospitalSaveDto.java

@@ -23,17 +23,16 @@ public class HospitalSaveDto {
     @NotNull(message = "是否为院区状态不能为空")
     private Integer isHospital;
 
-    @ApiModelProperty(name = "parentId",value = "如果是院区医院的名称,默认为")
+    @ApiModelProperty(name = "parentId",value = "如果是医院的id,默认为0,如果是院区id,选择医院id")
     @NotNull(message = "医院/病区的名称不能为空")
     private Integer parentId;
 
-    @ApiModelProperty(name = "parentName",value = "医院唯一标识,院区不存在次内容")
-    @NotNull(message = "医院唯一标识parentName不能为空")
+    @ApiModelProperty(name = "parentName",value = "如果是医院默认为'',如果是院区带上父医院名称")
+    @NotNull(message = "院区parentName不能为空")
     private String parentName;
 
-    @ApiModelProperty(name = "sign",value = "医院唯一标识,院区不存在次内容")
+    @ApiModelProperty(name = "sign",value = "用户自己生成,保证唯一性,如果是院区,不传")
     private String sign;
 
-    @ApiModelProperty(name = "createTime",value = "创建时间")
-    private Long createTime;
+
 }

+ 21 - 0
src/main/java/com/imed/costaccount/model/vo/HospitalAllVO.java

@@ -0,0 +1,21 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-07-28 11:09
+ */
+@Data
+@ApiModel
+public class HospitalAllVO {
+
+    @ApiModelProperty(name = "id",value = "医院或者病区Id")
+    private Integer id;
+
+    @ApiModelProperty(name = "name",value = "医院或院区名称")
+    private String name;
+}

+ 7 - 0
src/main/java/com/imed/costaccount/service/HospitalService.java

@@ -6,6 +6,7 @@ import com.imed.costaccount.model.Hospital;
 import com.imed.costaccount.model.dto.HospitalDto;
 import com.imed.costaccount.model.dto.HospitalSaveDto;
 import com.imed.costaccount.model.vo.CommonVO;
+import com.imed.costaccount.model.vo.HospitalAllVO;
 
 import java.util.List;
 
@@ -51,5 +52,11 @@ public interface HospitalService extends IService<Hospital> {
      * @param hospitalDto
      */
     void updateByHosptail(HospitalDto hospitalDto);
+
+    /**
+     * 获取所有的医院信息
+     * @return
+     */
+    List<HospitalAllVO> getAll();
 }
 

+ 43 - 5
src/main/java/com/imed/costaccount/service/impl/HospitalServiceImpl.java

@@ -12,6 +12,7 @@ import com.imed.costaccount.model.Hospital;
 import com.imed.costaccount.model.dto.HospitalDto;
 import com.imed.costaccount.model.dto.HospitalSaveDto;
 import com.imed.costaccount.model.vo.CommonVO;
+import com.imed.costaccount.model.vo.HospitalAllVO;
 import com.imed.costaccount.model.vo.HosptailVO;
 import com.imed.costaccount.service.HospitalService;
 import com.imed.costaccount.utils.BeanUtil;
@@ -39,11 +40,11 @@ public class HospitalServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
      * @return
      */
     @Override
-    public PageUtils queryList(Integer page, Integer pageSize,Integer hospId ,String name) {
+    public PageUtils queryList(Integer page, Integer pageSize, Integer hospId, String name) {
         Page<Hospital> hosptailPage = new Page<>(page, pageSize);
-        Page<Hospital> pages = this.page(hosptailPage,new QueryWrapper<Hospital>()
-                .lambda().eq(!StringUtils.isEmpty(hospId),Hospital::getId,hospId)
-                .like(!StringUtils.isEmpty(name), Hospital::getName,name));
+        Page<Hospital> pages = this.page(hosptailPage, new QueryWrapper<Hospital>().lambda()
+//                .eq(!StringUtils.isEmpty(hospId), Hospital::getId, hospId)
+                .like(!StringUtils.isEmpty(name), Hospital::getName, name));
         List<Hospital> records = pages.getRecords();
         List<HosptailVO> hosptailVOList = BeanUtil.convertList(records, HosptailVO.class);
         PageUtils pageUtils = new PageUtils(pages);
@@ -57,19 +58,42 @@ public class HospitalServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
      * @param hospitalSaveDto
      */
     @Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void saveHosptail(HospitalSaveDto hospitalSaveDto) {
+        String sign = hospitalSaveDto.getSign();
+        checkParam(hospitalSaveDto, sign);
         Hospital hospital = BeanUtil.convertObj(hospitalSaveDto, Hospital.class);
         hospital.setCreateTime(System.currentTimeMillis());
         baseMapper.insert(hospital);
     }
 
+    // 校验参数
+    private void checkParam(HospitalSaveDto hospitalSaveDto, String sign) {
+        Integer isHospital = hospitalSaveDto.getIsHospital();
+        if (isHospital == 0) {
+            if (StringUtils.isEmpty(sign)) {
+                throw new CostException(500, "新增医院请选择医院标识");
+            }
+            Hospital bySign = this.getBySign(sign);
+            if (Objects.nonNull(bySign)) {
+                throw new CostException(500, "当前医院标识已存在,请重新生成");
+            }
+        } else {
+            Integer parentId = hospitalSaveDto.getParentId();
+            // 校验参数
+            if (parentId == 0) {
+                throw new CostException(500, "新增院区请选择医院");
+            }
+        }
+    }
+
     /**
      * 修改医院信息
      *
      * @param hospitalDto
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void updateByHosptail(HospitalDto hospitalDto) {
         Hospital hospital = baseMapper.selectOne(new QueryWrapper<Hospital>().lambda().
                 eq(!StringUtils.isEmpty(hospitalDto.getId()), Hospital::getId, hospitalDto.getId()));
@@ -84,9 +108,22 @@ public class HospitalServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
         baseMapper.insert(hospitalRequest);
     }
 
+    /**
+     * 获取所有的医院信息
+     *
+     * @return
+     */
+    @Override
+    public List<HospitalAllVO> getAll() {
+        List<Hospital> hospitals = baseMapper.selectList(null);
+        List<HospitalAllVO> hospitalAllVOList = BeanUtil.convertList(hospitals, HospitalAllVO.class);
+        return hospitalAllVOList;
+    }
+
 
     /**
      * 通过医院标识获取院区列表
+     *
      * @param sign
      * @return
      */
@@ -109,6 +146,7 @@ public class HospitalServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
 
     /**
      * 通过医院sign获取医院信息
+     *
      * @param hospSign 医院唯一标识
      * @return
      */

+ 10 - 0
src/main/java/com/imed/costaccount/web/HospitalController.java

@@ -6,6 +6,7 @@ import com.imed.costaccount.model.Hospital;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.HospitalDto;
 import com.imed.costaccount.model.dto.HospitalSaveDto;
+import com.imed.costaccount.model.vo.HospitalAllVO;
 import com.imed.costaccount.service.HospitalService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
+import java.util.List;
 
 
 /**
@@ -63,6 +65,14 @@ public class HospitalController {
         return Result.ok(hospital);
     }
 
+    @GetMapping("/getAll")
+    @ApiOperation("获取全部的医院信息")
+    public Result getAll(){
+        List<HospitalAllVO> hospitalAllVOList = hospitalService.getAll();
+        hospitalService.list();
+        return Result.ok(hospitalAllVOList);
+    }
+
     /**
      * 保存
      */