AMedConsultationApplyFacade.java 3.9 KB

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