代码优化

3.2.4.44
宇宙皮皮娃 2 years ago
parent 6b6958258e
commit 539b2bd70e

@ -28,4 +28,10 @@ public class TBasicDto {
private String sex;
private String idCard;
private String disDept;
private String sexName;
private String bedNum;
private String isDead;
private String admissDays;
private String wardCode;
private String wardName;
}

@ -154,5 +154,6 @@ public class TBasic implements Serializable {
@ApiModelProperty(value = "记账号")
private String jzh;
@ApiModelProperty(value = "床位号")
private String bedNum;
}

@ -0,0 +1,36 @@
package com.docus.server.collection.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* @BelongsProject: docus-webservice-sdry
* @BelongsPackage: com.docus.server.collection.entity
* @Author: chierhao
* @CreateTime: 2023-03-07 15:29
* @Description: TODO
* @Version: 1.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "tBasicExtend对象", description = "病案基本信息扩展")
public class TBasicExtend implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "病案主键")
private String patientId;
@ApiModelProperty(value = "病区编号")
private String wardCode;
@ApiModelProperty(value = "病区名称")
private String wardName;
}

@ -3,6 +3,7 @@ package com.docus.server.collection.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.docus.server.collection.entity.TBasic;
import com.docus.server.collection.entity.TBasicExtend;
import org.apache.ibatis.annotations.Param;
/**
@ -18,4 +19,7 @@ public interface TBasicMapper{
Integer selectOne(@Param("jzh") String jzh);
Integer insert(@Param("tBasic") TBasic tBasic);
Integer insertExtend(@Param("tBasicExtend") TBasicExtend tBasicExtend);
}

@ -6,9 +6,11 @@ import com.docus.core.util.Func;
import com.docus.infrastructure.redis.service.IdService;
import com.docus.server.collection.dto.TBasicDto;
import com.docus.server.collection.entity.TBasic;
import com.docus.server.collection.entity.TBasicExtend;
import com.docus.server.collection.mapper.TBasicMapper;
import com.docus.server.collection.service.ITBasicService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@ -31,13 +33,14 @@ public class TBasicServiceImpl implements ITBasicService {
private IdService idService;
@Override
@Transactional
public void setTBasic(TBasicDto tBasicDto) throws Exception {
//判断jzh是否重复
Integer num = tBasicMapper.selectOne(tBasicDto.getJzh());
if (num>0) {
throw new Exception("记帐号已存在");
}
long patientId = idService.getDateSeq();
Long patientId = idService.getDateSeq();
//数据类型转化,格式处理
Date admissDate = Func.parseDate(tBasicDto.getAdmissDate(), DateUtil.PATTERN_DATETIME_MINI);
@ -54,6 +57,20 @@ public class TBasicServiceImpl implements ITBasicService {
if(NumberUtil.isInteger(ageStr)){
age=Integer.parseInt(ageStr);
}
String sexName=tBasicDto.getSexName();
if(sexName.length()>1){
sexName=sexName.substring(0,1);
}
String admissDaysStr = tBasicDto.getAdmissDays();
Integer admissDays=null;
if(NumberUtil.isInteger(admissDaysStr)){
admissDays=Integer.parseInt(admissDaysStr);
}
String isDeadStr = tBasicDto.getIsDead();
Integer isDead=0;
if("死亡".equals(isDeadStr)){
isDead=1;
}
//组装数据
TBasic tBasic=new TBasic();
@ -71,9 +88,19 @@ public class TBasicServiceImpl implements ITBasicService {
tBasic.setSex(tBasicDto.getSex());
tBasic.setIdCard(tBasicDto.getIdCard());
tBasic.setDisDept(tBasicDto.getDisDept());
tBasic.setSexName(sexName);
tBasic.setBedNum(tBasicDto.getBedNum());
tBasic.setAdmissDays(admissDays);
tBasic.setIsDead(isDead);
TBasicExtend tBasicExtend=new TBasicExtend();
tBasicExtend.setPatientId(patientId.toString());
tBasicExtend.setWardCode(tBasicDto.getWardCode());
tBasicExtend.setWardName(tBasicDto.getWardName());
//持久化
tBasicMapper.insert(tBasic);
tBasicMapper.insertExtend(tBasicExtend);
}
}

@ -147,6 +147,43 @@ public class BasicServiceImpl implements BasicService {
if(Func.isNotEmpty(disDeptCardNode)){
disDept=disDeptCardNode.getNodeValue();
}
//性别名称
String sexName=null;
Node sexNameNode = xml.getNode("//PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/administrativeGenderCode/@displayName");
if(Func.isNotEmpty(sexNameNode)){
sexName=sexNameNode.getNodeValue();
}
//床位号
String bedNum=null;
Node bedNumNode = xml.getNode("//PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/id/@extension");
if(Func.isNotEmpty(bedNumNode)){
bedNum=bedNumNode.getNodeValue();
}
//住院天数数[]
String admissDays=null;
Node admissDaysNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/lengthOfStayQuantity[@unit='天']/@value");
if(Func.isNotEmpty(admissDaysNode)){
admissDays=admissDaysNode.getNodeValue();
}
//是否死亡[]
String isDead=null;
Node isDeadNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/component[@displayName='出院诊断']/section/entry[@displayName='出院情况']/observation/value");
if(Func.isNotEmpty(isDeadNode)){
isDead=isDeadNode.getTextContent();
}
//病区编号
String wardCode=null;
Node wardCodeNode = xml.getNode("//PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/id/@extension");
if(Func.isNotEmpty(wardCodeNode)){
wardCode=wardCodeNode.getNodeValue();
}
//病区名称
String wardName=null;
Node wardNameNode = xml.getNode("//PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/name");
if(Func.isNotEmpty(wardNameNode)){
wardName=wardNameNode.getTextContent();
}
//设置dto
TBasicDto dto=new TBasicDto();
@ -166,6 +203,12 @@ public class BasicServiceImpl implements BasicService {
dto.setSex(sex);
dto.setIdCard(idCard);
dto.setDisDept(disDept);
dto.setSexName(sexName);
dto.setBedNum(bedNum);
dto.setIsDead(isDead);
dto.setAdmissDays(admissDays);
dto.setWardCode(wardCode);
dto.setWardName(wardName);
return dto;
}
}

@ -5,11 +5,17 @@
<mapper namespace="com.docus.server.collection.mapper.TBasicMapper">
<insert id="insert">
INSERT INTO `docus_medicalrecord`.`t_basic`
(`age`,`sex`,`id_card`,`dis_dept`,`patient_id`, `admiss_times`, `inpatient_no`,`name`, `admiss_date`, `admiss_dept_name`, `dis_date`, `dis_dept_name`,`attending_name`,`jzh`)
(`admiss_days`,`is_dead`,`sex_name`,`bed_num`,`age`,`sex`,`id_card`,`dis_dept`,`patient_id`, `admiss_times`, `inpatient_no`,`name`, `admiss_date`, `admiss_dept_name`, `dis_date`, `dis_dept_name`,`attending_name`,`jzh`)
VALUES
(#{tBasic.age},#{tBasic.sex},#{tBasic.idCard},#{tBasic.disDept},#{tBasic.patientId},#{tBasic.admissTimes},#{tBasic.inpatientNo},#{tBasic.name},
(#{tBasic.admissDays},#{tBasic.isDead},#{tBasic.sexName},#{tBasic.bedNum},#{tBasic.age},#{tBasic.sex},#{tBasic.idCard},#{tBasic.disDept},#{tBasic.patientId},#{tBasic.admissTimes},#{tBasic.inpatientNo},#{tBasic.name},
#{tBasic.admissDate},#{tBasic.admissDeptName},#{tBasic.disDate},#{tBasic.disDeptName},#{tBasic.attendingName},#{tBasic.jzh})
</insert>
<insert id="insertExtend">
INSERT INTO `docus_medicalrecord`.`t_basic_extend`
(`patient_id`,`ward_code`,`ward_name`)
VALUES
(#{tBasicExtend.patientId},#{tBasicExtend.wardCode},#{tBasicExtend.wardName})
</insert>
<select id="selectOne" resultType="java.lang.Integer">
select count(patient_id) from t_basic where jzh=#{jzh}

Loading…
Cancel
Save