Просмотр исходного кода

管理员模板相关接口提交

wangfeng 5 лет назад
Родитель
Сommit
1aabe6c12c

+ 59 - 0
icss-service/src/main/java/com/diagbot/dto/TemplateFolderDTO.java

@@ -0,0 +1,59 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.diagbot.entity.TemplateInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-01-13 11:08
+ */
+@Setter
+@Getter
+public class TemplateFolderDTO {
+
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医生id
+     */
+    private Long doctorId;
+
+    /**
+     * 模板类型(个人1,管理员2)
+     */
+    private Integer templateType;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 模板
+     */
+    private List<TemplateInfoNormDTO> templateInfo;
+}

+ 32 - 0
icss-service/src/main/java/com/diagbot/dto/TemplateInfoNormDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-01-13 11:45
+ */
+@Setter
+@Getter
+public class TemplateInfoNormDTO {
+    private Long folderId;
+    private Long orderNo;
+    private Long id;//模板id
+    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
+    private Integer sex;//性别
+    private String type;//模板类型
+    private String  preview;//预览文字
+    private Integer templateType;
+    private String remark;//备注
+
+}

+ 1 - 2
icss-service/src/main/java/com/diagbot/dto/TemplateNormsDTO.java

@@ -15,6 +15,5 @@ import java.util.List;
 @Getter
 @Setter
 public class TemplateNormsDTO {
-    private List<FolderMapping> folderMapping;
-    private List<TemplateInfo> templateInfo;
+    private List<TemplateFolderDTO> folderMapping;
 }

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

@@ -16,10 +16,12 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.TemplateInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.Cn2SpellUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.GsonUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.SqlExecuteUtil;
 import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateInfoAdminPageVO;
@@ -33,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -48,6 +51,8 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
 
     @Autowired
     TranServiceClient tranServiceClient;
+    @Autowired
+    TemplateInfoServiceImpl templateInfoServiceImpl;
 
     /**
      * @param templateInfoVO
@@ -210,6 +215,7 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
     }
 
     /**
+     * @param
      * @param templateInfoPageVO
      * @return
      */
@@ -280,4 +286,30 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
         return data;
     }
 
+    /**
+     *
+     * @return
+     */
+    public Boolean piyinUp() {
+        Boolean res = false;
+        QueryWrapper<TemplateInfo> templateInfoQueryWrapper = new QueryWrapper<>();
+        templateInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .isNull("spell");
+        List<TemplateInfo> list = list(templateInfoQueryWrapper);
+        if (ListUtil.isNotEmpty(list)) {
+            Date now = DateUtil.now();
+            for (TemplateInfo templateInfo : list) {
+                templateInfo.setSpell(Cn2SpellUtil.converterToFirstSpell(templateInfo.getName()));
+                templateInfo.setGmtModified(now);
+            }
+            List<List<TemplateInfo>> listList = SqlExecuteUtil.divideList(list, 200);
+            int i = 0;
+            for (List<TemplateInfo> templateInfoList : listList) {
+                res = templateInfoServiceImpl.updateBatchById(templateInfoList);
+                i++;
+            }
+            System.out.println("批量更新拼音" + i + "次!");
+        }
+        return res;
+    }
 }

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

@@ -1,15 +1,40 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.TemplateFolderDTO;
 import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoNormDTO;
 import com.diagbot.dto.TemplateNormsDTO;
+import com.diagbot.entity.FolderMapping;
+import com.diagbot.entity.TemplateFolder;
+import com.diagbot.entity.TemplateInfo;
+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.TemplateFolderServiceImpl;
 import com.diagbot.service.impl.TemplateInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.HospitalCodeSetVO;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateNormUpVO;
+import com.diagbot.vo.TemplateNormsFindVO;
 import com.diagbot.vo.TemplateNormsIdsVO;
 import com.diagbot.vo.TemplateNormsParamVO;
 import com.diagbot.vo.TemplateNormsVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * @author wangfeng
  * @Description:
@@ -18,16 +43,80 @@ import org.springframework.stereotype.Component;
 @Component
 public class TemplateNormFacade extends TemplateInfoServiceImpl {
 
+    @Autowired
+    TemplateFolderServiceImpl templateFolderServiceImpl;
+    @Autowired
+    TemplateInfoServiceImpl templateInfoServiceImpl;
+    @Autowired
+    AdminCheckFacade adminCheckFacade;
+    @Autowired
+    FolderMappingFacade folderMappingFacade;
+
     /**
      *根据模板id修改模板名称和文件夹名称
      * @param templateNormUpVO
      * @return
      */
     public boolean updateTemplateNorm(TemplateNormUpVO templateNormUpVO) {
-        //
-
-
-        return true;
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO = new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateNormUpVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(-9L);
+        boolean res = adminCheckFacade.getadminCheck(hospitalCodeSetVO);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无修改权限");
+        }
+        //1.先判断数据是否存在有效
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        templateInfoFand
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateNormUpVO.getId());
+        int sum = count(templateInfoFand);
+        if (sum == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在");
+        }
+        //2.先判断数据是否有权限修改
+        QueryWrapper<TemplateInfo> templateInfoAmind = new QueryWrapper<>();
+        templateInfoAmind
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateNormUpVO.getId())
+                .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        int sumA = count(templateInfoAmind);
+        if (sumA == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "个人模板无权修改");
+        }
+        //2.再判断该科室下模板名是否重复重在
+        QueryWrapper<TemplateInfo> templates = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateNormUpVO.getHospitalDeptId());
+        //mapAll.put("doctor_id", templateInfoRevampVO.getDoctorId());
+        mapAll.put("hospital_id", -9);
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        mapAll.put("name", templateNormUpVO.getModeName());
+        //mapAll.put("type", templateInfoRevampVO.getType());
+        templates.allEq(mapAll);
+        TemplateInfo datas = getOne(templates, false);
+        if (datas != null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
+        }
+        //3.修改表数据的模板名字
+        TemplateInfo templateInfo = new TemplateInfo();
+        templateInfo.setId(templateNormUpVO.getId());//模板id
+        templateInfo.setName(templateNormUpVO.getModeName());//模板名称
+        templateInfo.setGmtModified(DateUtil.now());//修改时间
+        res = updateById(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
+        }
+        //更新关系
+        if(res){
+            res = folderMappingFacade.update(new UpdateWrapper<FolderMapping>()
+                    .eq("template_id",templateNormUpVO.getId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .set("folder_id", templateNormUpVO.getFolderId()));
+        }
+        return res;
 
     }
 
@@ -37,8 +126,64 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
      * @return
      */
     public boolean saveTemplateNorm(TemplateNormsVO templateNormsVO) {
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO = new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateNormsVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(-9L);
+        boolean res = adminCheckFacade.getadminCheck(hospitalCodeSetVO);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无修改权限");
+        }
+        //1.判断同科室下是否存在模板名相同的数据
+        TemplateInfo templateInfo = new TemplateInfo();
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateNormsVO.getHospitalDeptId());
+        //mapAll.put("doctor_id", templateInfosVO.getDoctorId());
+        mapAll.put("hospital_id", -9);
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        mapAll.put("name", templateNormsVO.getModeName());
+        //mapAll.put("type", templateInfosVO.getModeType());
+
+        templateInfoFand.allEq(mapAll);
+        int sum = count(templateInfoFand);
+        if (sum != 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名存在");
+        }
+        //2.获取传入的数据,保存到数据表中。
+        templateInfo.setCreator(templateNormsVO.getDoctorId().toString());//创建人id
+        templateInfo.setDoctorId(templateNormsVO.getDoctorId());//医生id
+        templateInfo.setGmtCreate(DateUtil.now());//创建时间
+        templateInfo.setHospitalDeptId(templateNormsVO.getHospitalDeptId());//部门id
+        templateInfo.setHospitalId(-9L);//医院id
+        templateInfo.setSex(templateNormsVO.getSex());
+        templateInfo.setPreview(GsonUtil.toJson(templateNormsVO.getPreview()));//文本的展示
+        templateInfo.setDataJson(templateNormsVO.getDataJson());//页面json
+        templateInfo.setName(templateNormsVO.getModeName());//模板名称
+        templateInfo.setSpell(templateNormsVO.getModeSpell());
+        templateInfo.setType(templateNormsVO.getModeType());//类型
+        templateInfo.setTemplateType(TemplateTypeEnum.AdminTemplate.getKey());//模板类型
+        res = save(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED);
+        }
+        //将id转为负数
+        Long num = (templateInfo.getId() > 0) ? -templateInfo.getId() : templateInfo.getId();
+        res = update(new UpdateWrapper<TemplateInfo>()
+                .in("id",templateInfo.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("id", num));
+        if(res){
+            FolderMapping folderMapping = new FolderMapping();
+            folderMapping.setFolderId(templateNormsVO.getFolderId());
+            folderMapping.setTemplateId(num);
+            folderMapping.setCreator(templateNormsVO.getDoctorId().toString());
+            folderMapping.setGmtCreate(DateUtil.now());
+            res = folderMappingFacade.save(folderMapping);
+        }
 
-        return true;
+        return res;
     }
 
     /**
@@ -47,8 +192,43 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
      * @return
      */
     public boolean cancelTemplateInfo(TemplateNormsIdsVO templateNormsIdsVO) {
-
-        return true;
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO = new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateNormsIdsVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(templateNormsIdsVO.getHospitalId());
+        boolean res = adminCheckFacade.getadminCheck(hospitalCodeSetVO);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无删除权限");
+        }
+        //1.获取传入的ids数据
+        String ids = templateNormsIdsVO.getIds();
+        //2.截取到最后一个
+        String substring = ids.substring(0, ids.length());
+        //System.out.println(substring);
+        //3.以逗号分割
+        String[] splitIds = substring.split(",");
+        //验证转化好的参数
+        if (ListUtil.isEmpty(ListUtil.arrayToList(splitIds))) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入模板id");
+        }
+        //把分割的id数据传入对象中,在表中批量删除
+        UpdateWrapper<TemplateInfo> templateInfoNew = new UpdateWrapper<>();
+        templateInfoNew
+                .in("id", ListUtil.arrayToList(splitIds))
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                //.set("modifier",UserUtils.getCurrentPrincipleID())
+                .set("gmt_modified", DateUtil.now());
+        res = update(new TemplateInfo(), templateInfoNew);
+        //删除模板和文件的绑定关系
+        if(res){
+          res = folderMappingFacade.update(new UpdateWrapper<FolderMapping>()
+                  .in("template_id",ListUtil.arrayToList(splitIds))
+                  .eq("is_deleted", IsDeleteEnum.N.getKey())
+                  .set("is_deleted", IsDeleteEnum.Y.getKey()));
+        }
+        return res;
     }
 
     /**
@@ -56,8 +236,34 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
      * @param templateNormsParamVO
      * @return
      */
-    public TemplateNormsDTO getTemplateNorm(TemplateNormsParamVO templateNormsParamVO) {
-        return null;
+    public List<TemplateFolderDTO> getTemplateNorm(TemplateNormsParamVO templateNormsParamVO) {
+        //先获取文件夹
+        QueryWrapper<TemplateFolder> templateFolderQuery = new QueryWrapper<TemplateFolder>();
+        templateFolderQuery
+                .eq("hospital_id", -9)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey())
+                .eq("doctor_id", templateNormsParamVO.getDoctorId()).orderByAsc("order_no");
+        List<TemplateFolder> datas= templateFolderServiceImpl.list(templateFolderQuery);
+        List<TemplateFolderDTO> data = new ArrayList<TemplateFolderDTO>();
+        //过滤
+        data = BeanUtil.listCopyTo(datas, TemplateFolderDTO.class);
+        //再获取模板
+        List<TemplateInfoNormDTO> templateDatas = templateInfoServiceImpl.getStandardTemplates(templateNormsParamVO);
+        //把模板放进文件夹中
+        if(data.size()>0){
+            for(TemplateFolderDTO ts:data){
+                List<TemplateInfoNormDTO> templateList = new ArrayList<TemplateInfoNormDTO>();
+                for(TemplateInfoNormDTO t:templateDatas){
+                    if (ts.getId().equals(t.getFolderId())){
+                        templateList.add(t);
+                    }
+                }
+                ts.setTemplateInfo(templateList);
+            }
+        }
+
+        return data;
     }
 
     /**
@@ -66,6 +272,29 @@ public class TemplateNormFacade extends TemplateInfoServiceImpl {
      * @return
      */
     public TemplateInfoDTO getTemplateIdData(TemplateIdVO templateIdVO) {
-        return null;
+        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
+        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
+        templateInfoQuery
+                .eq("id", templateIdVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        TemplateInfoDTO data = new TemplateInfoDTO();
+        TemplateInfo datas = getOne(templateInfoQuery, false);
+        if (datas == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在!");
+        }
+        //过滤
+        BeanUtil.copyProperties(datas, data);
+        return data;
+    }
+
+    /**
+     * 模糊查询模板
+     * @param templateNormsFindVO
+     * @return
+     */
+    public List<TemplateInfoNormDTO> findTemplateNorm(TemplateNormsFindVO templateNormsFindVO) {
+        List<TemplateInfoNormDTO> data = templateInfoServiceImpl.findStandardTemplates(templateNormsFindVO);
+        return data;
     }
 }

+ 6 - 0
icss-service/src/main/java/com/diagbot/mapper/TemplateInfoMapper.java

@@ -3,6 +3,9 @@ package com.diagbot.mapper;
 import java.util.List;
 import java.util.Map;
 
+import com.diagbot.dto.TemplateInfoNormDTO;
+import com.diagbot.vo.TemplateNormsFindVO;
+import com.diagbot.vo.TemplateNormsParamVO;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -28,4 +31,7 @@ public interface TemplateInfoMapper extends BaseMapper<TemplateInfo> {
 
 	public IPage<TemplateInfoPageDTO> getTemplatePages(TemplateInfoPageVO templateInfoPageVO);
 
+    List<TemplateInfoNormDTO> getStandardTemplate(TemplateNormsParamVO templateNormsParamVO);
+
+	List<TemplateInfoNormDTO> findStandardTemplate(TemplateNormsFindVO templateNormsFindVO);
 }

+ 6 - 2
icss-service/src/main/java/com/diagbot/service/TemplateInfoService.java

@@ -1,15 +1,16 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoNormDTO;
 import com.diagbot.dto.TemplateInfoPageDTO;
 import com.diagbot.entity.TemplateInfo;
 import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateNormsFindVO;
+import com.diagbot.vo.TemplateNormsParamVO;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -28,5 +29,8 @@ public interface TemplateInfoService extends IService<TemplateInfo> {
 
     public IPage<TemplateInfoPageDTO> getTemplatePages(TemplateInfoPageVO templateInfoPageVO);
 
+    public List<TemplateInfoNormDTO> getStandardTemplates(TemplateNormsParamVO templateNormsParamVO);
 
+
+    List<TemplateInfoNormDTO> findStandardTemplates(TemplateNormsFindVO templateNormsFindVO);
 }

+ 11 - 0
icss-service/src/main/java/com/diagbot/service/impl/TemplateInfoServiceImpl.java

@@ -3,11 +3,14 @@ package com.diagbot.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoNormDTO;
 import com.diagbot.dto.TemplateInfoPageDTO;
 import com.diagbot.entity.TemplateInfo;
 import com.diagbot.mapper.TemplateInfoMapper;
 import com.diagbot.service.TemplateInfoService;
 import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateNormsFindVO;
+import com.diagbot.vo.TemplateNormsParamVO;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -37,5 +40,13 @@ public class TemplateInfoServiceImpl extends ServiceImpl<TemplateInfoMapper, Tem
         return baseMapper.getTemplatePages(templateInfoPageVO);
     }
 
+    @Override
+    public List<TemplateInfoNormDTO> getStandardTemplates(TemplateNormsParamVO templateNormsParamVO) {
+        return baseMapper.getStandardTemplate(templateNormsParamVO);
+    }
 
+
+    public List<TemplateInfoNormDTO> findStandardTemplates(TemplateNormsFindVO templateNormsFindVO) {
+        return baseMapper.findStandardTemplate(templateNormsFindVO);
+    }
 }

+ 5 - 6
icss-service/src/main/java/com/diagbot/vo/TemplateNormUpVO.java

@@ -24,16 +24,15 @@ public class TemplateNormUpVO {
      */
     @NotNull(message = "请输入医生id")
     private Long doctorId;
-
+    /**
+     * 部门id
+     */
+    @NotNull(message = "请输入部门id")
+    private Long hospitalDeptId;//部门id
     /**
      * 医院编码
      */
     @NotNull(message = "请输入文件Id")
     private Long folderId;
-    /**
-     * 部门id
-     */
-    @NotBlank(message = "请输入文件夹")
-    private String folderName;//部门id
 
 }

+ 16 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateNormsFindVO.java

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-01-13 15:32
+ */
+@Setter
+@Getter
+public class TemplateNormsFindVO {
+    private  String name;
+    private  Long templateType;
+}

+ 6 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateNormsIdsVO.java

@@ -4,6 +4,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * @author wangfeng
@@ -15,4 +16,9 @@ import javax.validation.constraints.NotBlank;
 public class TemplateNormsIdsVO {
     @NotBlank(message = "请输入模板id")
     private String ids;
+    @NotNull(message = "请输入医院编码")
+    private Long hospitalId;
+    @NotNull(message = "请输入医生编码")
+    private Long doctorId;
+
 }

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

@@ -13,10 +13,6 @@ import java.util.List;
 @Setter
 @Getter
 public class TemplateNormsParamVO {
-
-    private String Letter ;//模板首字母
-
-    private String name;//模板名字
-
-    private  String modeType;//模板类型
+    private Long doctorId;
+    private Long hospitalId;
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateNormsVO.java

@@ -17,6 +17,8 @@ public class TemplateNormsVO {
 
     @NotBlank(message = "请输入模板名字")
     private String modeName;//模板名字
+    @NotBlank(message = "请输入模板拼音")
+    private String modeSpell;//模板名字
     @NotNull(message = "请输入医生id")
     private Long doctorId;//医生id
     @NotNull(message = "请输入医院id")

+ 7 - 0
icss-service/src/main/java/com/diagbot/web/TemplateInfoController.java

@@ -114,4 +114,11 @@ public class TemplateInfoController {
 
         return RespDTO.onSuc(data);
     }
+    @ApiOperation(value = "批量更新拼音[by:wangfeng]",
+            notes = "")
+    @PostMapping("/piyinUp")
+    @SysLogger("piyinUp")
+    public RespDTO<Boolean> piyinUp() {
+        return RespDTO.onSuc(templateInfoFacade.piyinUp());
+    }
 }

+ 15 - 2
icss-service/src/main/java/com/diagbot/web/TemplateNormController.java

@@ -2,12 +2,15 @@ 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.TemplateNormsDTO;
 import com.diagbot.facade.TemplateNormFacade;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateInfoAdminPageVO;
 import com.diagbot.vo.TemplateNormUpVO;
+import com.diagbot.vo.TemplateNormsFindVO;
 import com.diagbot.vo.TemplateNormsIdsVO;
 import com.diagbot.vo.TemplateNormsParamVO;
 import com.diagbot.vo.TemplateNormsVO;
@@ -21,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * @author wangfeng
@@ -70,9 +74,9 @@ public class TemplateNormController {
     @ApiOperation(value = "查询标准模板列表[by:wangfeng]")
     @PostMapping("/getTemplateNorms")
     @SysLogger("getTemplateNorms")
-    public RespDTO<TemplateNormsDTO> getTemplateNorms(@Valid @RequestBody TemplateNormsParamVO templateNormsParamVO) {
+    public RespDTO<List<TemplateFolderDTO>> getTemplateNorms(@Valid @RequestBody TemplateNormsParamVO templateNormsParamVO) {
 
-        TemplateNormsDTO data = templateNormFacade.getTemplateNorm(templateNormsParamVO);
+        List<TemplateFolderDTO> data = templateNormFacade.getTemplateNorm(templateNormsParamVO);
 
         return RespDTO.onSuc(data);
     }
@@ -84,6 +88,15 @@ public class TemplateNormController {
 
         TemplateInfoDTO data = templateNormFacade.getTemplateIdData(templateIdVO);
 
+        return RespDTO.onSuc(data);
+    }
+    @ApiOperation(value = "根据名字和拼音查询标准模板列表[by:wangfeng]")
+    @PostMapping("/findTemplateNorms")
+    @SysLogger("findTemplateNorms")
+    public RespDTO<List<TemplateInfoNormDTO>> findTemplateNorms(@Valid @RequestBody TemplateNormsFindVO templateNormsFindVO) {
+
+        List<TemplateInfoNormDTO> data = templateNormFacade.findTemplateNorm(templateNormsFindVO);
+
         return RespDTO.onSuc(data);
     }
 }

+ 157 - 100
icss-service/src/main/resources/mapper/TemplateInfoMapper.xml

@@ -2,108 +2,165 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.TemplateInfoMapper">
 
-	<!-- 通用查询映射结果 -->
-	<resultMap id="BaseResultMap" type="com.diagbot.entity.TemplateInfo">
-		<id column="id" property="id" />
-		<result column="is_deleted" property="isDeleted" />
-		<result column="gmt_create" property="gmtCreate" />
-		<result column="gmt_modified" property="gmtModified" />
-		<result column="creator" property="creator" />
-		<result column="modifier" property="modifier" />
-		<result column="name" property="name" />
-		<result column="spell" property="spell"/>
-		<result column="doctor_id" property="doctorId" />
-		<result column="hospital_dept_id" property="hospitalDeptId" />
-		<result column="hospital_id" property="hospitalId" />
-		<result column="sex" property="sex" />
-		<result column="type" property="type" />
-		<result column="preview" property="preview" />
-		<result column="data_json" property="dataJson" />
-	<result column="template_type" property="templateType" />
-		<result column="remark" property="remark" />
-	</resultMap>
-	<!--根据医生id查询该医生保存的病历模板 -->
-	<select id="findByDoctorIdTemplate" resultType="com.diagbot.dto.TemplateInfoDTO">
-		SELECT
-		id AS id,
-		gmt_create AS gmtCreate,
-		creator AS creator,
-		NAME AS
-		modeName,
-		doctor_id AS doctorId,
-		hospital_id AS hospitalId,
-		hospital_dept_id As hospitalDeptId,
-		TYPE AS modeType,
-		preview AS
-		preview,
-		data_json AS dataJson,
-		remark AS remark
-		FROM
-		icss_template_info WHERE is_deleted = "N"
-		<if test="id != null and id != ''">
-			and id = #{id}
-		</if>
-		<if test="name != null and name != ''">
-			and name = #{name}
-		</if>
-		<if test="hospitalDeptId != null and hospitalDeptId != ''">
-			and hospital_dept_id = #{hospitalDeptId}
-		</if>
-		<if test="doctorId != null and doctorId != ''">
-			and doctor_id = #{doctorId}
-		</if>
-		<if test="hospitalId != null and hospitalId != ''">
-			and hospital_id = #{hospitalId}
-		</if>
-		<if test="type != null and type != ''">
-			and type = #{type}
-		</if>
-		ORDER BY gmt_create DESC
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.TemplateInfo">
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="name" property="name"/>
+        <result column="spell" property="spell"/>
+        <result column="doctor_id" property="doctorId"/>
+        <result column="hospital_dept_id" property="hospitalDeptId"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="sex" property="sex"/>
+        <result column="type" property="type"/>
+        <result column="preview" property="preview"/>
+        <result column="data_json" property="dataJson"/>
+        <result column="template_type" property="templateType"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+    <!--根据医生id查询该医生保存的病历模板 -->
+    <select id="findByDoctorIdTemplate" resultType="com.diagbot.dto.TemplateInfoDTO">
+        SELECT
+        id AS id,
+        gmt_create AS gmtCreate,
+        creator AS creator,
+        NAME AS
+        modeName,
+        doctor_id AS doctorId,
+        hospital_id AS hospitalId,
+        hospital_dept_id As hospitalDeptId,
+        TYPE AS modeType,
+        preview AS
+        preview,
+        data_json AS dataJson,
+        remark AS remark
+        FROM
+        icss_template_info WHERE is_deleted = "N"
+        <if test="id != null and id != ''">
+            and id = #{id}
+        </if>
+        <if test="name != null and name != ''">
+            and name = #{name}
+        </if>
+        <if test="hospitalDeptId != null and hospitalDeptId != ''">
+            and hospital_dept_id = #{hospitalDeptId}
+        </if>
+        <if test="doctorId != null and doctorId != ''">
+            and doctor_id = #{doctorId}
+        </if>
+        <if test="hospitalId != null and hospitalId != ''">
+            and hospital_id = #{hospitalId}
+        </if>
+        <if test="type != null and type != ''">
+            and type = #{type}
+        </if>
+        ORDER BY gmt_create DESC
 
-	</select>
-	<select id="getTemplatePages" resultType="com.diagbot.dto.TemplateInfoPageDTO">
+    </select>
+    <select id="getTemplatePages" resultType="com.diagbot.dto.TemplateInfoPageDTO">
+        SELECT
+        id AS id,
+        gmt_create AS gmtCreate,
+        creator AS creator,
+        NAME AS
+        name,
+        doctor_id AS doctorId,
+        hospital_id AS hospitalId,
+        hospital_dept_id
+        As hospitalDeptId,
+        TYPE AS type,
+        sex AS sex,
+        preview AS preview,
+        template_type AS templateType,
+        remark AS
+        remark
+        FROM
+        icss_template_info WHERE is_deleted = "N"
+        <if test="hospitalDeptId != null ">
+            and hospital_dept_id = #{hospitalDeptId}
+        </if>
+        <if test="doctorId != null ">
+            and doctor_id = #{doctorId}
+        </if>
+        <if test="hospitalId != null">
+            and hospital_id = #{hospitalId}
+        </if>
+        <if test="templateType != null">
+            and template_type = #{templateType}
+        </if>
+        <if test="type != null and type != ''">
+            and type = #{type}
+        </if>
+        <if test="name != null and name != ''">
+            and UPPER(TRIM(name)) like concat('%',UPPER(TRIM(#{name})),'%')
+        </if>
+        and sex in
+        <foreach collection="sex" item="sexNew" open="(" close=")"
+                 separator=",">
+            #{sexNew}
+        </foreach>
+        ORDER BY gmt_create DESC
+
+    </select>
+    <select id="getStandardTemplate" resultType="com.diagbot.dto.TemplateInfoNormDTO">
+        SELECT
+        a.id AS id,
+        a.gmt_create AS gmtCreate,
+        a.creator AS creator,
+        a.NAME AS NAME,
+        a.doctor_id AS doctorId,
+        a.hospital_id AS hospitalId,
+        a.hospital_dept_id AS hospitalDeptId,
+        a.TYPE AS TYPE,
+        a.sex AS sex,
+        a.preview AS preview,
+        a.spell AS spell,
+        a.template_type AS templateType,
+        a.remark AS remark ,
+        b.folder_id AS folderId,
+        b.order_no AS orderNo
+        FROM
+        icss_template_info a
+        JOIN icss_folder_mapping b
+        ON a.id = b.template_id
+        WHERE a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        AND template_type = 2
+        <if test="hospitalId != null ">
+            AND hospital_id = #{hospitalId}
+        </if>
+        ORDER BY b.folder_id,
+        b.order_no ASC ;
+
+    </select>
+	<select id="findStandardTemplate" resultType="com.diagbot.dto.TemplateInfoNormDTO">
 		SELECT
-		id AS id,
-		gmt_create AS gmtCreate,
-		creator AS creator,
-		NAME AS
-		name,
-		doctor_id AS doctorId,
-		hospital_id AS hospitalId,
-		hospital_dept_id
-		As hospitalDeptId,
-		TYPE AS type,
-		sex AS sex,
-		preview AS preview,
-		template_type AS templateType,
-		remark AS
-		remark
-		FROM
-		icss_template_info WHERE is_deleted = "N"
-		<if test="hospitalDeptId != null ">
-			and hospital_dept_id = #{hospitalDeptId}
-		</if>
-		<if test="doctorId != null ">
-			and doctor_id = #{doctorId}
-		</if>
-		<if test="hospitalId != null">
-			and hospital_id = #{hospitalId}
+        a.id AS id,
+        a.gmt_create AS gmtCreate,
+        a.creator AS creator,
+        a.NAME AS NAME,
+        a.doctor_id AS doctorId,
+        a.hospital_id AS hospitalId,
+        a.hospital_dept_id AS hospitalDeptId,
+        a.TYPE AS TYPE,
+        a.sex AS sex,
+        a.preview AS preview,
+        a.spell AS spell,
+        a.template_type AS templateType,
+        a.remark AS remark
+		 FROM
+		icss_template_info a
+		WHERE
+		a.is_deleted ="N"
+		<if test="templateType != null ">
+		AND a.template_type= #{templateType}
 		</if>
-		<if test="templateType != null">
-		and template_type = #{templateType}
-		</if>
-		<if test="type != null and type != ''">
-			and type = #{type}
-		</if>
-		<if test="name != null and name != ''">
-			and UPPER(TRIM(name)) like concat('%',UPPER(TRIM(#{name})),'%')
-		</if>
-		and sex in
-		<foreach collection="sex" item="sexNew" open="(" close=")"
-			separator=",">
-			#{sexNew}
-		</foreach>
-		ORDER BY gmt_create DESC
-
+		AND
+		CONCAT(IFNULL(a.NAME,''),IFNULL(a.spell,''))
+		LIKE CONCAT('%', #{name}, '%')
 	</select>
 </mapper>