12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package com.diagbot.facade.data;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
- import com.diagbot.dto.data.ColumnZhAndChDTO;
- import com.diagbot.entity.StrCrisisNote;
- import com.diagbot.service.impl.StrCrisisNoteServiceImpl;
- import com.diagbot.util.DateUtil;
- import com.diagbot.util.EntityUtil;
- import com.diagbot.util.MapUtil;
- import com.diagbot.vo.data.AStrCrisisNoteVO;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- @Component
- public class AStrCrisisNoteFacade extends StrCrisisNoteServiceImpl {
- @Autowired
- private ColumnFacade columnFacade;
- @Autowired
- private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
- public void getColumnZhAndCh(){
- List<ColumnZhAndChDTO> list=this.baseMapper.getColumnZhAndCh();
- list.forEach(s->{
- s.setEn(NamingStrategy.underlineToCamel(s.getEn()));
- });
- Map<String, String> columnMap= EntityUtil.makeMapWithKeyValue(list,"ch","en");
- Boolean flag=columnFacade.createColumn(columnMap,"strCrisisNote");
- if(!flag){
- return;
- }
- }
- public void dealData(String columnMap,Map<String, Object> entityMap,Long hospitalId){
- StrCrisisNote strCrisisNote=new StrCrisisNote();
- try {
- AStrCrisisNoteVO strCrisisNoteVO=(AStrCrisisNoteVO) MapUtil.mapToObject(entityMap, AStrCrisisNoteVO.class);
- BeanUtils.copyProperties(strCrisisNoteVO,strCrisisNote);
- strCrisisNote.setHospitalId(hospitalId);//医院编码
- strCrisisNote.setAuditDate(DateUtil.parseDateTime(strCrisisNoteVO.getAuditDate()));//审核时间
- strCrisisNote.setRecDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecDate()));//记录时间
- strCrisisNote.setRecieveDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecieveDate()));//开始时间
- strCrisisNote.setAuditDate(DateUtil.parseDate(strCrisisNoteVO.getAuditDate()));//结束时间
- strCrisisNote.setRecordDate(DateUtil.parseDateTime(strCrisisNoteVO.getRecordDate()));//病历日期
- strCrisisNote.setWholeData(columnMap);
- //判断数据库中是否存在,不存在insert
- if(isExist(strCrisisNote)){
- strCrisisNote.setGmtCreate(new Date());//记录创建时间
- this.save(strCrisisNote);
- }else{
- strCrisisNote.setGmtModified(new Date());//记录修改时间
- this.update(strCrisisNote,new QueryWrapper<StrCrisisNote>()
- .eq("rec_id", strCrisisNote.getRecId())
- .eq("hospital_id", strCrisisNote.getHospitalId())
- .eq("behospital_code", strCrisisNote.getBehospitalCode()));
- }
- }catch (Exception e){
- log.error(e.getMessage(),e);
- aMedAbnormalInfoFacade.saveAbnormalInfo("危急值记录",strCrisisNote.getRecId(), JSON.toJSONString(entityMap),"",e.getMessage());
- }
- }
- public Boolean isExist(StrCrisisNote strCrisisNote){
- Boolean flag=true;
- int count = this.baseMapper.selectCount(new QueryWrapper<StrCrisisNote>()
- .eq("rec_id", strCrisisNote.getRecId())
- .eq("hospital_id", strCrisisNote.getHospitalId())
- .eq("behospital_code", strCrisisNote.getBehospitalCode()));
- if(count>0){
- flag=false;
- }
- return flag;
- }
- }
|