Quellcode durchsuchen

医院信息维护

zhaops vor 4 Jahren
Ursprung
Commit
650122574b

+ 7 - 7
cdssman-service/src/main/java/com/diagbot/entity/HospitalInfo.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
-import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * <p>
@@ -34,12 +34,12 @@ public class HospitalInfo implements Serializable {
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreate;
+    private Date gmtCreate;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值
@@ -107,19 +107,19 @@ public class HospitalInfo implements Serializable {
         this.isDeleted = isDeleted;
     }
 
-    public LocalDateTime getGmtCreate() {
+    public Date getGmtCreate() {
         return gmtCreate;
     }
 
-    public void setGmtCreate(LocalDateTime gmtCreate) {
+    public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
 
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
 

+ 125 - 0
cdssman-service/src/main/java/com/diagbot/facade/HospitalInfoFacade.java

@@ -1,14 +1,29 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.HospitalInfoDTO;
+import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.HospitalInfoService;
 import com.diagbot.service.impl.HospitalInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.HospitalInfoListVO;
+import com.diagbot.vo.HospitalInfoPageVO;
+import com.diagbot.vo.IdListVO;
+import com.diagbot.vo.IdVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -18,6 +33,9 @@ import java.util.List;
  */
 @Component
 public class HospitalInfoFacade extends HospitalInfoServiceImpl {
+    @Autowired
+    @Qualifier("hospitalInfoServiceImpl")
+    private HospitalInfoService hospitalInfoService;
 
     public List<HospitalInfoDTO> getHospitalInfo() {
         QueryWrapper<HospitalInfo> hospitalInfo = new QueryWrapper<>();
@@ -27,4 +45,111 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
         data = BeanUtil.listCopyTo(list, HospitalInfoDTO.class);
         return data;
     }
+
+    /**
+     * 保存记录-单条
+     *
+     * @param hospitalInfo
+     * @return
+     */
+    public Boolean saveOrUpdateRecord(HospitalInfo hospitalInfo) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        Date now = DateUtil.now();
+        hospitalInfo.setModifier(userId);
+        hospitalInfo.setGmtModified(now);
+        //新增数据
+        if (hospitalInfo.getId() == null) {
+            hospitalInfo.setCreator(userId);
+            hospitalInfo.setGmtCreate(now);
+        }
+        if (hospitalInfo.getIsDeleted() == null) {
+            hospitalInfo.setIsDeleted(IsDeleteEnum.N.getKey());
+        }
+        this.saveOrUpdate(hospitalInfo);
+        return true;
+    }
+
+    /**
+     * 保存记录-批量
+     *
+     * @param hospitalInfoListVO
+     * @return
+     */
+    public Boolean saveOrUpdateRecords(HospitalInfoListVO hospitalInfoListVO) {
+        if (ListUtil.isEmpty(hospitalInfoListVO.getHospitalInfoList())) {
+            return false;
+        }
+        String userId = UserUtils.getCurrentPrincipleID();
+        Date now = DateUtil.now();
+        hospitalInfoListVO.getHospitalInfoList().forEach(item -> {
+            item.setModifier(userId);
+            item.setGmtModified(now);
+            if (item.getId() == null) {
+                item.setCreator(userId);
+                item.setGmtCreate(now);
+            }
+        });
+        hospitalInfoService.saveOrUpdateBatch(hospitalInfoListVO.getHospitalInfoList());
+        return true;
+    }
+
+    /**
+     * 删除记录-单条
+     *
+     * @param idVO
+     * @return
+     */
+    public Boolean deleteRecord(IdVO idVO) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        Date now = DateUtil.now();
+        HospitalInfo hospitalInfo = hospitalInfoService.getById(idVO.getId());
+        if (hospitalInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "数据不存在");
+        }
+        if (hospitalInfo.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "数据已删除");
+        }
+        hospitalInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
+        hospitalInfo.setModifier(userId);
+        hospitalInfo.setGmtModified(now);
+        hospitalInfoService.updateById(hospitalInfo);
+        return true;
+    }
+
+    /**
+     * 删除记录-批量
+     *
+     * @param idListVO
+     * @return
+     */
+    public Boolean deleteRecords(IdListVO idListVO) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        Date now = DateUtil.now();
+        if (ListUtil.isEmpty(idListVO.getIds())) {
+            return false;
+        }
+        List<HospitalInfo> hospitalInfoList = new ArrayList<>(hospitalInfoService.listByIds(idListVO.getIds()));
+
+        if (ListUtil.isEmpty(hospitalInfoList)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "数据不存在");
+        }
+
+        hospitalInfoList.forEach(hospitalInfo -> {
+            hospitalInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
+            hospitalInfo.setModifier(userId);
+            hospitalInfo.setGmtModified(now);
+        });
+        hospitalInfoService.updateBatchById(hospitalInfoList);
+        return true;
+    }
+
+    /**
+     * 分页查询
+     *
+     * @param hospitalInfoPageVO
+     * @return
+     */
+    public IPage<DiseaseConfig> getPage(HospitalInfoPageVO hospitalInfoPageVO) {
+        return hospitalInfoService.getPage(hospitalInfoPageVO);
+    }
 }

+ 12 - 2
cdssman-service/src/main/java/com/diagbot/mapper/HospitalInfoMapper.java

@@ -1,7 +1,11 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.HospitalInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.entity.HospitalInfo;
+import com.diagbot.vo.HospitalInfoPageVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -12,5 +16,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-08-06
  */
 public interface HospitalInfoMapper extends BaseMapper<HospitalInfo> {
-
+    /**
+     * 分页查询
+     *
+     * @param hospitalInfoPageVO
+     * @return
+     */
+    IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO);
 }

+ 11 - 1
cdssman-service/src/main/java/com/diagbot/service/HospitalInfoService.java

@@ -1,7 +1,11 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.HospitalInfoPageVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -12,5 +16,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2020-08-06
  */
 public interface HospitalInfoService extends IService<HospitalInfo> {
-
+    /**
+     * 分页查询
+     *
+     * @param hospitalInfoPageVO
+     * @return
+     */
+    IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO);
 }

+ 15 - 3
cdssman-service/src/main/java/com/diagbot/service/impl/HospitalInfoServiceImpl.java

@@ -1,9 +1,13 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.mapper.HospitalInfoMapper;
 import com.diagbot.service.HospitalInfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.HospitalInfoPageVO;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,5 +20,13 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class HospitalInfoServiceImpl extends ServiceImpl<HospitalInfoMapper, HospitalInfo> implements HospitalInfoService {
-
-}
+    /**
+     * 分页查询
+     *
+     * @param hospitalInfoPageVO
+     * @return
+     */
+    public IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO) {
+        return baseMapper.getPage(hospitalInfoPageVO);
+    }
+}

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/vo/HospitalInfoListVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.HospitalInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/11 16:08
+ */
+@Getter
+@Setter
+public class HospitalInfoListVO {
+    private List<HospitalInfo> hospitalInfoList;
+}

+ 44 - 0
cdssman-service/src/main/java/com/diagbot/vo/HospitalInfoPageVO.java

@@ -0,0 +1,44 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/8/11 16:16
+ */
+@Getter
+@Setter
+public class HospitalInfoPageVO extends Page {
+    /**
+     * 医院编码
+     */
+    private String code;
+
+    /**
+     * 医院名称
+     */
+    private String name;
+
+    /**
+     * 医院地址
+     */
+    private String address;
+
+    /**
+     * 医院名称拼音
+     */
+    private String spell;
+
+    /**
+     * 状态:0.禁用1.启用
+     */
+    private Integer status;
+
+    /**
+     * 是否对接(0-不对接,1-对接)
+     */
+    private Integer connect;
+}

+ 80 - 1
cdssman-service/src/main/java/com/diagbot/web/HospitalInfoController.java

@@ -1,17 +1,26 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.entity.HospitalInfo;
 import com.diagbot.facade.HospitalInfoFacade;
+import com.diagbot.vo.HospitalInfoListVO;
+import com.diagbot.vo.HospitalInfoPageVO;
+import com.diagbot.vo.IdListVO;
+import com.diagbot.vo.IdVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -38,4 +47,74 @@ public class HospitalInfoController {
         List<HospitalInfoDTO> data = hospitalInfoFacade.getHospitalInfo();
         return RespDTO.onSuc(data);
     }
-}
+
+    /**
+     * 保存或修改映射关系
+     *
+     * @param hospitalInfo
+     * @return
+     */
+    @ApiOperation(value = "保存或修改映射关系[by:zhaops]", notes = "")
+    @PostMapping("/saveOrUpdateRecord")
+    @SysLogger("saveOrUpdateRecord")
+    public RespDTO<Boolean> saveOrUpdateRecord(@RequestBody @Valid HospitalInfo hospitalInfo) {
+        Boolean data = hospitalInfoFacade.saveOrUpdateRecord(hospitalInfo);
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 批量保存或修改映射关系
+     *
+     * @param hospitalInfoListVO
+     * @return
+     */
+    @ApiOperation(value = "批量保存或修改映射关系[by:zhaops]", notes = "")
+    @PostMapping("/saveOrUpdateRecords")
+    @SysLogger("saveOrUpdateRecords")
+    public RespDTO<Boolean> saveOrUpdateRecords(@RequestBody @Valid HospitalInfoListVO hospitalInfoListVO) {
+        Boolean data = hospitalInfoFacade.saveOrUpdateRecords(hospitalInfoListVO);
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 删除映射关系
+     *
+     * @param idVO
+     * @return
+     */
+    @ApiOperation(value = "删除映射关系[by:zhaops]", notes = "")
+    @PostMapping("/deleteRecord")
+    @SysLogger("deleteRecord")
+    public RespDTO<Boolean> deleteRecord(@RequestBody @Valid IdVO idVO) {
+        Boolean data = hospitalInfoFacade.deleteRecord(idVO);
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 批量删除映射关系
+     *
+     * @param idListVO
+     * @return
+     */
+    @ApiOperation(value = "批量删除映射关系[by:zhaops]", notes = "")
+    @PostMapping("/deleteRecords")
+    @SysLogger("deleteRecords")
+    public RespDTO<Boolean> deleteRecords(@RequestBody @Valid IdListVO idListVO) {
+        Boolean data = hospitalInfoFacade.deleteRecords(idListVO);
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 分页查询
+     *
+     * @param hospitalInfoPageVO
+     * @return
+     */
+    @ApiOperation(value = "分页查询[by:zhaops]", notes = "")
+    @PostMapping("/getPage")
+    @SysLogger("getPage")
+    public RespDTO<DiseaseConfig> getPage(@RequestBody @Valid HospitalInfoPageVO hospitalInfoPageVO) {
+        IPage<DiseaseConfig> data = hospitalInfoFacade.getPage(hospitalInfoPageVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 24 - 0
cdssman-service/src/main/resources/mapper/HospitalInfoMapper.xml

@@ -20,4 +20,28 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <!-- 分页查询 -->
+    <select id="getPage" resultType="com.diagbot.entity.HospitalInfo">
+        select a.*
+        from tran_hospital_info a
+        where a.is_deleted='N'
+        <if test="hospitalInfoPageVO.code!=null and hospitalInfoPageVO.code!=''">
+            and a.code like concat("%",#{hospitalInfoPageVO.code},"%")
+        </if>
+        <if test="hospitalInfoPageVO.name!=null and hospitalInfoPageVO.name!=''">
+            and a.name like concat("%",#{hospitalInfoPageVO.name},"%")
+        </if>
+        <if test="hospitalInfoPageVO.address!=null and hospitalInfoPageVO.address!=''">
+            and a.address like concat("%",#{hospitalInfoPageVO.address},"%")
+        </if>
+        <if test="hospitalInfoPageVO.spell!=null and hospitalInfoPageVO.spell!=''">
+            and a.spell like concat("%",#{hospitalInfoPageVO.spell},"%")
+        </if>
+        <if test="hospitalInfoPageVO.status!=null">
+            and a.status = #{hospitalInfoPageVO.status}
+        </if>
+        <if test="hospitalInfoPageVO.connect!=null">
+            and a.connect = #{hospitalInfoPageVO.connect}
+        </if>
+    </select>
 </mapper>