TemplateInfoFacade.java 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. package com.diagbot.facade;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.diagbot.dto.TemplateInfoDTO;
  7. import com.diagbot.dto.TemplateInfoPageDTO;
  8. import com.diagbot.entity.TemplateInfo;
  9. import com.diagbot.enums.IsDeleteEnum;
  10. import com.diagbot.exception.CommonErrorCode;
  11. import com.diagbot.exception.CommonException;
  12. import com.diagbot.service.impl.TemplateInfoServiceImpl;
  13. import com.diagbot.util.BeanUtil;
  14. import com.diagbot.util.DateUtil;
  15. import com.diagbot.util.GsonUtil;
  16. import com.diagbot.util.ListUtil;
  17. import com.diagbot.vo.TemplateIdVO;
  18. import com.diagbot.vo.TemplateInfoPageVO;
  19. import com.diagbot.vo.TemplateInfoRevampVO;
  20. import com.diagbot.vo.TemplateInfoVO;
  21. import com.diagbot.vo.TemplateInfosIdVO;
  22. import com.diagbot.vo.TemplateInfosVO;
  23. import org.springframework.stereotype.Component;
  24. import java.util.ArrayList;
  25. import java.util.HashMap;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * @author wangfeng
  30. * @Description: 病历模板
  31. * @date 2018年11月16日 上午11:24:36
  32. */
  33. @Component
  34. public class TemplateInfoFacade extends TemplateInfoServiceImpl {
  35. /**
  36. * @param templateInfoVO
  37. * @return 医生病历模板信息
  38. */
  39. public List<TemplateInfoDTO> findByDoctorIdTemplates(TemplateInfoVO templateInfoVO) {
  40. //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
  41. QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
  42. Map<String, Object> mapAll = new HashMap<>();
  43. mapAll.put("hospital_dept_id", templateInfoVO.getHospitalDeptId());
  44. mapAll.put("doctor_id", templateInfoVO.getDoctorId());
  45. mapAll.put("hospital_id", templateInfoVO.getHospitalId());
  46. mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
  47. mapAll.put("type", templateInfoVO.getType());
  48. if (templateInfoVO.getSex() != null) {
  49. templateInfoQuery.allEq(mapAll).in("sex", 3, templateInfoVO.getSex()).orderByDesc("gmt_create");
  50. } else {
  51. templateInfoQuery.allEq(mapAll).orderByDesc("gmt_create");
  52. }
  53. List<TemplateInfoDTO> data = new ArrayList<TemplateInfoDTO>();
  54. List<TemplateInfo> datas = list(templateInfoQuery);
  55. //过滤
  56. data = BeanUtil.listCopyTo(datas, TemplateInfoDTO.class);
  57. return data;
  58. }
  59. /**
  60. * 根据模板id 修改模板名
  61. *
  62. * @param templateInfoRevampVO
  63. * @return
  64. */
  65. public boolean updateByIdUsName(TemplateInfoRevampVO templateInfoRevampVO) {
  66. //1.先判断数据是否存在有效
  67. QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
  68. templateInfoFand
  69. .eq("is_deleted", IsDeleteEnum.N.getKey())
  70. .eq("id", templateInfoRevampVO.getId());
  71. int sum = count(templateInfoFand);
  72. if (sum == 0) {
  73. throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在");
  74. }
  75. //2.再判断该医生下模板名是否重复重在
  76. QueryWrapper<TemplateInfo> templates = new QueryWrapper<>();
  77. Map<String, Object> mapAll = new HashMap<>();
  78. mapAll.put("hospital_dept_id", templateInfoRevampVO.getHospitalDeptId());
  79. mapAll.put("doctor_id", templateInfoRevampVO.getDoctorId());
  80. mapAll.put("hospital_id", templateInfoRevampVO.getHospitalId());
  81. mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
  82. mapAll.put("name", templateInfoRevampVO.getModeName());
  83. //mapAll.put("type", templateInfoRevampVO.getType());
  84. templates.allEq(mapAll);
  85. TemplateInfo datas = getOne(templates, false);
  86. if (datas != null) {
  87. throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
  88. }
  89. //3.修改表数据的模板名字
  90. TemplateInfo templateInfo = new TemplateInfo();
  91. templateInfo.setId(templateInfoRevampVO.getId());//模板id
  92. templateInfo.setName(templateInfoRevampVO.getModeName());//模板名称
  93. templateInfo.setGmtModified(DateUtil.now());//修改时间
  94. boolean res = updateById(templateInfo);
  95. if (!res) {
  96. throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
  97. }
  98. return res;
  99. }
  100. /**
  101. * 保存模板
  102. *
  103. * @param templateInfosVO
  104. * @return
  105. */
  106. public boolean saveTemplateInfo(TemplateInfosVO templateInfosVO) {
  107. //1.判断该医生下是否存在模板名相同的数据
  108. TemplateInfo templateInfo = new TemplateInfo();
  109. QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
  110. Map<String, Object> mapAll = new HashMap<>();
  111. mapAll.put("hospital_dept_id", templateInfosVO.getHospitalDeptId());
  112. mapAll.put("doctor_id", templateInfosVO.getDoctorId());
  113. mapAll.put("hospital_id", templateInfosVO.getHospitalId());
  114. mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
  115. mapAll.put("name", templateInfosVO.getModeName());
  116. //mapAll.put("type", templateInfosVO.getModeType());
  117. templateInfoFand.allEq(mapAll);
  118. int sum = count(templateInfoFand);
  119. if (sum != 0) {
  120. throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名存在");
  121. }
  122. //2.获取传入的数据,保存到数据表中。
  123. templateInfo.setCreator(templateInfosVO.getDoctorId().toString());//创建人id
  124. templateInfo.setDoctorId(templateInfosVO.getDoctorId());//医生id
  125. templateInfo.setGmtCreate(DateUtil.now());//创建时间
  126. templateInfo.setHospitalDeptId(templateInfosVO.getHospitalDeptId());//部门id
  127. templateInfo.setHospitalId(templateInfosVO.getHospitalId());//医院id
  128. templateInfo.setSex(templateInfosVO.getSex());
  129. templateInfo.setPreview(GsonUtil.toJson(templateInfosVO.getPreview()));//文本的展示
  130. templateInfo.setDataJson(templateInfosVO.getDataJson());//页面json
  131. templateInfo.setName(templateInfosVO.getModeName());//模板名称
  132. templateInfo.setType(templateInfosVO.getModeType());//模板类型
  133. boolean res = save(templateInfo);
  134. if (!res) {
  135. throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED);
  136. }
  137. return res;
  138. }
  139. /**
  140. * 根据模板id批量删除模板
  141. *
  142. * @param templateInfosIdVO
  143. * @return
  144. */
  145. public boolean cancelTemplateInfo(TemplateInfosIdVO templateInfosIdVO) {
  146. //1.获取传入的ids数据
  147. String ids = templateInfosIdVO.getIds();
  148. //2.截取到最后一个
  149. String substring = ids.substring(0, ids.length());
  150. //System.out.println(substring);
  151. //3.以逗号分割
  152. String[] splitIds = substring.split(",");
  153. //验证转化好的参数
  154. if (ListUtil.isEmpty(ListUtil.arrayToList(splitIds))) {
  155. throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入模板id");
  156. }
  157. //把分割的id数据传入对象中,在表中批量删除
  158. UpdateWrapper<TemplateInfo> templateInfoNew = new UpdateWrapper<>();
  159. templateInfoNew
  160. .in("id", ListUtil.arrayToList(splitIds))
  161. .eq("is_deleted", IsDeleteEnum.N.getKey())
  162. .set("is_deleted", IsDeleteEnum.Y.getKey())
  163. //.set("modifier",UserUtils.getCurrentPrincipleID())
  164. .set("gmt_modified", DateUtil.now());
  165. boolean res = update(new TemplateInfo(), templateInfoNew);
  166. return res;
  167. }
  168. /**
  169. * @param page
  170. * @param templateInfoPageVO
  171. * @return
  172. */
  173. public IPage<TemplateInfoPageDTO> getTemplatePageAlls(Page page, TemplateInfoPageVO templateInfoPageVO) {
  174. IPage<TemplateInfoPageDTO> TemplateInfoData = getTemplatePages(templateInfoPageVO);
  175. return TemplateInfoData;
  176. }
  177. /**
  178. * @param templateIdVO
  179. * @return
  180. */
  181. public TemplateInfoDTO getTemplateIdAlls(TemplateIdVO templateIdVO) {
  182. //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
  183. QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
  184. templateInfoQuery
  185. .eq("id", templateIdVO.getId())
  186. .eq("is_deleted", IsDeleteEnum.N.getKey());
  187. TemplateInfoDTO data = new TemplateInfoDTO();
  188. TemplateInfo datas = getOne(templateInfoQuery, false);
  189. //过滤
  190. BeanUtil.copyProperties(datas, data);
  191. return data;
  192. }
  193. }