瀏覽代碼

个人模板相关接口提交

wangfeng 5 年之前
父節點
當前提交
a5d2752284

+ 1 - 0
icss-service/src/main/java/com/diagbot/dto/TemplateInfoDTO.java

@@ -18,6 +18,7 @@ public class TemplateInfoDTO {
 	 private Date  gmtCreate;//创建时间
 	 private String creator;//创建人id
 	 private String name;//模板名字
+	 private String spell;//模板拼音
 	 private Long doctorId;//医生id
 	 private Long hospitalId;//医院id
 	 private Long hospitalDeptId;//部门id

+ 1 - 0
icss-service/src/main/java/com/diagbot/dto/TemplateInfoPageDTO.java

@@ -18,6 +18,7 @@ public class TemplateInfoPageDTO {
 	 private Date  gmtCreate;//创建时间
 	 private String creator;//创建人id
 	 private String name;//模板名字
+	 private String spell;//模板拼音
 	 private Long doctorId;//医生id
 	 private Long hospitalId;//医院id
 	 private Long hospitalDeptId;//部门id

+ 63 - 0
icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TemplateFolderDTO;
 import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoNormDTO;
 import com.diagbot.dto.TemplateInfoPageAllDTO;
 import com.diagbot.dto.TemplateInfoPageDTO;
 import com.diagbot.entity.TemplateInfo;
@@ -26,11 +28,14 @@ import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateInfoAdminPageVO;
 import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateInfoPersonVO;
 import com.diagbot.vo.TemplateInfoRevampVO;
 import com.diagbot.vo.TemplateInfoTypeVO;
 import com.diagbot.vo.TemplateInfoVO;
 import com.diagbot.vo.TemplateInfosIdVO;
 import com.diagbot.vo.TemplateInfosVO;
+import com.diagbot.vo.TemplateNormsFindVO;
+import com.diagbot.vo.TemplateNormsParamVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -53,6 +58,8 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
     TranServiceClient tranServiceClient;
     @Autowired
     TemplateInfoServiceImpl templateInfoServiceImpl;
+    @Autowired
+    TemplateNormFacade templateNormFacade;
 
     /**
      * @param templateInfoVO
@@ -312,4 +319,60 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
         }
         return res;
     }
+
+    /**
+     * 个人模糊查询模板
+     * @param templateNormsFindVO
+     * @return
+     */
+    public List<TemplateInfoNormDTO> findTemplateNorm(TemplateNormsFindVO templateNormsFindVO) {
+        List<TemplateInfoNormDTO> data = templateInfoServiceImpl.findStandardTemplates(templateNormsFindVO);
+        return data;
+    }
+
+    /**
+     * 获取个人模板
+     * @param templateInfoPersonVO
+     * @return
+     */
+    public TemplateInfoPageAllDTO getTemplateAll(TemplateInfoAdminPageVO templateInfoPersonVO) {
+        //取出所有科室
+        HospitalCodeVo hospitalCodeVo =new HospitalCodeVo();
+        hospitalCodeVo.setHospitalCode(templateInfoPersonVO.getHospitalCode());
+        hospitalCodeVo.setDeptInfoName("");
+        hospitalCodeVo.setThirdpartyName("");
+        RespDTO<List<HospitalDeptInfoAllDTO>> deptInfoDTO = tranServiceClient.getHospitalDeptInfoAll(hospitalCodeVo);
+        RespDTOUtil.respNGDeal(deptInfoDTO, deptInfoDTO.msg);
+        List<HospitalDeptInfoAllDTO> deptInfo = deptInfoDTO.data;
+        Map<Long,HospitalDeptInfoAllDTO> deptMap =deptInfo.stream().collect(Collectors.toMap(HospitalDeptInfoAllDTO::getId,i->i));
+        TemplateInfoPageAllDTO data = new TemplateInfoPageAllDTO();
+        //取出个人模板
+        TemplateInfoTypeVO personalVO = new TemplateInfoTypeVO();
+        BeanUtil.copyProperties(templateInfoPersonVO, personalVO);
+        personalVO.setTemplateType(TemplateTypeEnum.PersonalTemplate.getKey());
+        personalVO.setHospitalDeptId(null);
+        IPage<TemplateInfoPageDTO> personalTemplate = getTemplatePages(personalVO);
+        if(personalTemplate.getRecords().size()>0){
+            personalTemplate.getRecords().forEach(i->{
+                HospitalDeptInfoAllDTO datas = deptMap.get(i.getHospitalDeptId());
+                if(datas!=null){
+                    i.setConceptDeptName(datas.getConceptDeptName());
+                    i.setThirdpartyName(datas.getName());
+                }
+
+            });
+        }
+        data.setPersonalTemplate(personalTemplate);
+        return  data;
+    }
+
+    /**
+     *
+     * @param templateNormsParamVO
+     * @return
+     */
+
+    public List<TemplateFolderDTO> getTemplateNorm(TemplateNormsParamVO templateNormsParamVO) {
+        return templateNormFacade.getTemplateNorm(templateNormsParamVO);
+    }
 }

+ 10 - 3
icss-service/src/main/java/com/diagbot/facade/TemplateNormFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.TemplateTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.FolderMappingServiceImpl;
 import com.diagbot.service.impl.TemplateFolderServiceImpl;
 import com.diagbot.service.impl.TemplateInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
@@ -51,6 +52,8 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
     AdminCheckFacade adminCheckFacade;
     @Autowired
     FolderMappingFacade folderMappingFacade;
+    @Autowired
+    FolderMappingServiceImpl folderMappingServiceImpl;
 
     /**
      *根据模板id修改模板名称和文件夹名称
@@ -111,10 +114,13 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
         }
         //更新关系
         if(res){
+            Long orderNo = folderMappingServiceImpl.getMaxOrderNo(templateNormUpVO.getFolderId());
+            Long num = orderNo == null?0:orderNo;
             res = folderMappingFacade.update(new UpdateWrapper<FolderMapping>()
                     .eq("template_id",templateNormUpVO.getId())
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .set("folder_id", templateNormUpVO.getFolderId()));
+                    .set("folder_id", templateNormUpVO.getFolderId())
+                    .set("order_no",num));
         }
         return res;
 
@@ -161,7 +167,7 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
         templateInfo.setPreview(GsonUtil.toJson(templateNormsVO.getPreview()));//文本的展示
         templateInfo.setDataJson(templateNormsVO.getDataJson());//页面json
         templateInfo.setName(templateNormsVO.getModeName());//模板名称
-        templateInfo.setSpell(templateNormsVO.getModeSpell());
+        templateInfo.setSpell(templateNormsVO.getModeSpell().toUpperCase());
         templateInfo.setType(templateNormsVO.getModeType());//类型
         templateInfo.setTemplateType(TemplateTypeEnum.AdminTemplate.getKey());//模板类型
         res = save(templateInfo);
@@ -243,7 +249,8 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
                 .eq("hospital_id", -9)
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey())
-                .eq("doctor_id", templateNormsParamVO.getDoctorId()).orderByAsc("order_no");
+                //.eq("doctor_id", templateNormsParamVO.getDoctorId())
+                .orderByAsc("order_no");
         List<TemplateFolder> datas= templateFolderServiceImpl.list(templateFolderQuery);
         List<TemplateFolderDTO> data = new ArrayList<TemplateFolderDTO>();
         //过滤

+ 1 - 0
icss-service/src/main/java/com/diagbot/mapper/FolderMappingMapper.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface FolderMappingMapper extends BaseMapper<FolderMapping> {
 
+    public Long  getMaxOrderNo(Long folderId);
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/service/FolderMappingService.java

@@ -12,5 +12,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2020-01-09
  */
 public interface FolderMappingService extends IService<FolderMapping> {
-
+    public Long  getMaxOrderNo(Long folderId);
 }

+ 4 - 0
icss-service/src/main/java/com/diagbot/service/impl/FolderMappingServiceImpl.java

@@ -17,4 +17,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class FolderMappingServiceImpl extends ServiceImpl<FolderMappingMapper, FolderMapping> implements FolderMappingService {
 
+    @Override
+    public Long getMaxOrderNo(Long folderId) {
+        return baseMapper.getMaxOrderNo(folderId);
+    }
 }

+ 34 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateInfoPersonVO.java

@@ -0,0 +1,34 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-01-13 17:32
+ */
+@Setter
+@Getter
+public class TemplateInfoPersonVO {
+
+    private Long doctorId;
+
+    /**
+     * 医院编码
+     */
+    private Long hospitalId;
+    /**
+     * 部门id
+     */
+    private Long hospitalDeptId;//部门id
+
+    //	@NotBlank(message = "请输入模板类型")
+    private String type;//模板类型
+
+    private List<Integer> sex;//性别
+
+    private  String hospitalCode;
+}

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/TemplateNormsParamVO.java

@@ -13,6 +13,6 @@ import java.util.List;
 @Setter
 @Getter
 public class TemplateNormsParamVO {
-    private Long doctorId;
+    //private Long doctorId;
     private Long hospitalId;
 }

+ 36 - 4
icss-service/src/main/java/com/diagbot/web/TemplateInfoController.java

@@ -2,16 +2,21 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TemplateFolderDTO;
 import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoNormDTO;
 import com.diagbot.dto.TemplateInfoPageAllDTO;
 import com.diagbot.facade.TemplateInfoFacade;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateInfoAdminPageVO;
 import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateInfoPersonVO;
 import com.diagbot.vo.TemplateInfoRevampVO;
 import com.diagbot.vo.TemplateInfoVO;
 import com.diagbot.vo.TemplateInfosIdVO;
 import com.diagbot.vo.TemplateInfosVO;
+import com.diagbot.vo.TemplateNormsFindVO;
+import com.diagbot.vo.TemplateNormsParamVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,7 +44,7 @@ public class TemplateInfoController {
     @Autowired
     TemplateInfoFacade templateInfoFacade;
 
-    @ApiOperation(value = "根据医生id、医院id、部门id返回病历模板内容[by:wangfeng]",
+   /* @ApiOperation(value = "根据医生id、医院id、部门id返回病历模板内容[by:wangfeng]",
             notes = "doctorId: 医生id<br>" + "dospitalId:医院编码<br>" + "deptId:部门id<br>" + "type:模式<br>")
     @PostMapping("/getByDoctorIdTemplates")
     @SysLogger("getByDoctorIdTemplates")
@@ -48,7 +53,7 @@ public class TemplateInfoController {
         Map<Integer, List<TemplateInfoDTO>> data = templateInfoFacade.findByDoctorIdTemplates(templateInfoVO);
 
         return RespDTO.onSuc(data);
-    }
+    }*/
 
     @ApiOperation(value = "根据模板id修改模板名称[by:wangfeng]", notes = "id;//模板</br>modeName;"
             + "//模板名</br>doctorId;//医生id</br>hospitalId;//医院id</br>hospitalDeptId;//部门id</br>")
@@ -89,7 +94,7 @@ public class TemplateInfoController {
         return RespDTO.onSuc(res);
     }
 
-    @ApiOperation(value = "分页查询病历模板列表[by:wangfeng]",
+   /* @ApiOperation(value = "分页查询病历模板列表[by:wangfeng]",
             notes = "doctorId: 医生id<br>"
                     + "dospitalId:医院编码<br>"
                     + "deptId:部门id<br>"
@@ -104,7 +109,7 @@ public class TemplateInfoController {
 
         return RespDTO.onSuc(data);
     }
-
+*/
     @ApiOperation(value = "根据模板id获取病历模板内容[by:wangfeng]", notes = "id: 请输入模板id")
     @PostMapping("/getTemplateIdAlls")
     @SysLogger("getTemplateIdAlls")
@@ -121,4 +126,31 @@ public class TemplateInfoController {
     public RespDTO<Boolean> piyinUp() {
         return RespDTO.onSuc(templateInfoFacade.piyinUp());
     }
+    @ApiOperation(value = "个人根据名字和拼音查询标准模板列表[by:wangfeng]")
+    @PostMapping("/findTemplateNorms")
+    @SysLogger("findTemplateNorms")
+    public RespDTO<List<TemplateInfoNormDTO>> findTemplateNorms(@Valid @RequestBody TemplateNormsFindVO templateNormsFindVO) {
+
+        List<TemplateInfoNormDTO> data = templateInfoFacade.findTemplateNorm(templateNormsFindVO);
+
+        return RespDTO.onSuc(data);
+    }
+    @ApiOperation(value = "获取个人模板列表[by:wangfeng]")
+    @PostMapping("/getTemplateAlls")
+    @SysLogger("getTemplateAlls")
+    public RespDTO<TemplateInfoPageAllDTO> getTemplateAlls(@Valid @RequestBody TemplateInfoAdminPageVO templateInfoAdminPageVO) {
+
+        TemplateInfoPageAllDTO data = templateInfoFacade.getTemplateAll(templateInfoAdminPageVO);
+
+        return RespDTO.onSuc(data);
+    }
+    @ApiOperation(value = "查询标准模板列表[by:wangfeng]")
+    @PostMapping("/getTemplateNorms")
+    @SysLogger("getTemplateNorms")
+    public RespDTO<List<TemplateFolderDTO>> getTemplateNorms(@Valid @RequestBody TemplateNormsParamVO templateNormsParamVO) {
+
+        List<TemplateFolderDTO> data = templateInfoFacade.getTemplateNorm(templateNormsParamVO);
+
+        return RespDTO.onSuc(data);
+    }
 }

+ 7 - 0
icss-service/src/main/resources/mapper/FolderMappingMapper.xml

@@ -16,4 +16,11 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getMaxOrderNo" resultType="Long">
+        SELECT MAX(order_no)+1 FROM icss_folder_mapping WHERE is_deleted ="N"
+        <if test="folderId != null ">
+           AND folder_id = #{folderId}
+        </if>
+
+    </select>
 </mapper>

+ 5 - 3
icss-service/src/main/resources/mapper/TemplateInfoMapper.xml

@@ -68,6 +68,7 @@
         creator AS creator,
         NAME AS
         name,
+        spell as spell,
         doctor_id AS doctorId,
         hospital_id AS hospitalId,
         hospital_dept_id
@@ -96,7 +97,8 @@
             and type = #{type}
         </if>
         <if test="name != null and name != ''">
-            and UPPER(TRIM(name)) like concat('%',UPPER(TRIM(#{name})),'%')
+            AND  CONCAT(IFNULL(UPPER(TRIM(name)),''),IFNULL(UPPER(TRIM(spell)),''))
+             LIKE CONCAT('%', UPPER(TRIM(#{name})), '%')
         </if>
         and sex in
         <foreach collection="sex" item="sexNew" open="(" close=")"
@@ -160,7 +162,7 @@
 		AND a.template_type= #{templateType}
 		</if>
 		AND
-		CONCAT(IFNULL(a.NAME,''),IFNULL(a.spell,''))
-		LIKE CONCAT('%', #{name}, '%')
+		CONCAT(IFNULL(UPPER(a.NAME),''),IFNULL(UPPER(a.spell),''))
+		LIKE CONCAT('%', UPPER(trim(#{name})), '%')
 	</select>
 </mapper>