AStrPeriodConclusionFacade.java 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.diagbot.facade.data;
  2. import com.alibaba.fastjson.JSON;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
  5. import com.diagbot.dto.data.ColumnZhAndChDTO;
  6. import com.diagbot.entity.StrPeriodConclusion;
  7. import com.diagbot.service.impl.StrPeriodConclusionServiceImpl;
  8. import com.diagbot.util.DateUtil;
  9. import com.diagbot.util.EntityUtil;
  10. import com.diagbot.util.MapUtil;
  11. import com.diagbot.vo.data.AStrAdmissionNoteVO;
  12. import com.diagbot.vo.data.AStrPeriodConclusionVO;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Component;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.Map;
  19. @Component
  20. public class AStrPeriodConclusionFacade extends StrPeriodConclusionServiceImpl {
  21. @Autowired
  22. private ColumnFacade columnFacade;
  23. @Autowired
  24. private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
  25. public void getColumnZhAndCh(){
  26. List<ColumnZhAndChDTO> list=this.baseMapper.getColumnZhAndCh();
  27. list.forEach(s->{
  28. s.setEn(NamingStrategy.underlineToCamel(s.getEn()));
  29. });
  30. Map<String, String> columnMap= EntityUtil.makeMapWithKeyValue(list,"ch","en");
  31. Boolean flag=columnFacade.createColumn(columnMap,"strPeriodConclusion");
  32. //Map<String, String> map=columnFacade.getColumn("strConsultationNote");
  33. if(!flag){
  34. return;
  35. }
  36. }
  37. public void dealData(String columnMap,Map<String, Object> entityMap,Long hospitalId){
  38. StrPeriodConclusion strPeriodConclusion=new StrPeriodConclusion();
  39. try {
  40. AStrPeriodConclusionVO strPeriodConclusionVO=(AStrPeriodConclusionVO) MapUtil.mapToObject(entityMap, AStrPeriodConclusionVO.class);
  41. BeanUtils.copyProperties(strPeriodConclusionVO,strPeriodConclusion);
  42. strPeriodConclusion.setHospitalId(hospitalId);//医院编码
  43. strPeriodConclusion.setAuditDate(DateUtil.parseDateTime(strPeriodConclusionVO.getAuditDate()));//审核时间
  44. strPeriodConclusion.setRecDate(DateUtil.parseDateTime(strPeriodConclusionVO.getRecDate()));//记录时间
  45. strPeriodConclusion.setRecordDate(DateUtil.parseDateTime(strPeriodConclusionVO.getRecordDate()));//病历日期
  46. strPeriodConclusion.setWholeData(columnMap);
  47. //判断数据库中是否存在,不存在insert
  48. if(isExist(strPeriodConclusion)){
  49. strPeriodConclusion.setGmtCreate(new Date());//记录创建时间
  50. this.save(strPeriodConclusion);
  51. }else{
  52. strPeriodConclusion.setGmtModified(new Date());//记录修改时间
  53. this.update(strPeriodConclusion,new QueryWrapper<StrPeriodConclusion>()
  54. .eq("rec_id", strPeriodConclusion.getRecId())
  55. .eq("hospital_id", strPeriodConclusion.getHospitalId())
  56. .eq("behospital_code", strPeriodConclusion.getBehospitalCode()));
  57. }
  58. }catch (Exception e){
  59. log.error(e.getMessage(),e);
  60. aMedAbnormalInfoFacade.saveAbnormalInfo("阶段小结",strPeriodConclusion.getRecId(),JSON.toJSONString(entityMap),"",e.getMessage());
  61. }
  62. }
  63. public Boolean isExist(StrPeriodConclusion strPeriodConclusion){
  64. Boolean flag=true;
  65. int count = this.baseMapper.selectCount(new QueryWrapper<StrPeriodConclusion>()
  66. .eq("rec_id", strPeriodConclusion.getRecId())
  67. .eq("hospital_id", strPeriodConclusion.getHospitalId())
  68. .eq("behospital_code", strPeriodConclusion.getBehospitalCode()));
  69. if(count>0){
  70. flag=false;
  71. }
  72. return flag;
  73. }
  74. }