AStrCrisisNoteFacade.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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.StrCrisisNote;
  7. import com.diagbot.service.impl.StrCrisisNoteServiceImpl;
  8. import com.diagbot.util.DateUtil;
  9. import com.diagbot.util.EntityUtil;
  10. import com.diagbot.util.MapUtil;
  11. import com.diagbot.vo.data.AStrCrisisNoteVO;
  12. import org.springframework.beans.BeanUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Component;
  15. import java.util.Date;
  16. import java.util.List;
  17. import java.util.Map;
  18. @Component
  19. public class AStrCrisisNoteFacade extends StrCrisisNoteServiceImpl {
  20. @Autowired
  21. private ColumnFacade columnFacade;
  22. @Autowired
  23. private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
  24. public void getColumnZhAndCh(){
  25. List<ColumnZhAndChDTO> list=this.baseMapper.getColumnZhAndCh();
  26. list.forEach(s->{
  27. s.setEn(NamingStrategy.underlineToCamel(s.getEn()));
  28. });
  29. Map<String, String> columnMap= EntityUtil.makeMapWithKeyValue(list,"ch","en");
  30. Boolean flag=columnFacade.createColumn(columnMap,"strCrisisNote");
  31. if(!flag){
  32. return;
  33. }
  34. }
  35. public void dealData(String columnMap,Map<String, Object> entityMap,Long hospitalId){
  36. StrCrisisNote strCrisisNote=new StrCrisisNote();
  37. try {
  38. AStrCrisisNoteVO strCrisisNoteVO=(AStrCrisisNoteVO) MapUtil.mapToObject(entityMap, AStrCrisisNoteVO.class);
  39. BeanUtils.copyProperties(strCrisisNoteVO,strCrisisNote);
  40. strCrisisNote.setHospitalId(hospitalId);//医院编码
  41. strCrisisNote.setAuditDate(DateUtil.parseDateTime(strCrisisNoteVO.getAuditDate()));//审核时间
  42. strCrisisNote.setRecDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecDate()));//记录时间
  43. strCrisisNote.setRecieveDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecieveDate()));//开始时间
  44. strCrisisNote.setAuditDate(DateUtil.parseDate(strCrisisNoteVO.getAuditDate()));//结束时间
  45. strCrisisNote.setRecordDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecordDate()));//病历日期
  46. strCrisisNote.setWholeData(columnMap);
  47. //判断数据库中是否存在,不存在insert
  48. if(isExist(strCrisisNote)){
  49. strCrisisNote.setGmtCreate(new Date());//记录创建时间
  50. this.save(strCrisisNote);
  51. }else{
  52. strCrisisNote.setGmtModified(new Date());//记录修改时间
  53. this.update(strCrisisNote,new QueryWrapper<StrCrisisNote>()
  54. .eq("rec_id", strCrisisNote.getRecId())
  55. .eq("hospital_id", strCrisisNote.getHospitalId())
  56. .eq("behospital_code", strCrisisNote.getBehospitalCode()));
  57. }
  58. }catch (Exception e){
  59. log.error(e.getMessage(),e);
  60. aMedAbnormalInfoFacade.saveAbnormalInfo("危急值记录",strCrisisNote.getRecId(), JSON.toJSONString(entityMap),"",e.getMessage());
  61. }
  62. }
  63. public Boolean isExist(StrCrisisNote strCrisisNote){
  64. Boolean flag=true;
  65. int count = this.baseMapper.selectCount(new QueryWrapper<StrCrisisNote>()
  66. .eq("rec_id", strCrisisNote.getRecId())
  67. .eq("hospital_id", strCrisisNote.getHospitalId())
  68. .eq("behospital_code", strCrisisNote.getBehospitalCode()));
  69. if(count>0){
  70. flag=false;
  71. }
  72. return flag;
  73. }
  74. }