You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
4.8 KiB
Java

5 years ago
package com.ann.demo.service.impl;
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
import com.ann.demo.repository.ArchiveMasterRepository;
import com.ann.demo.service.ArchiveMasterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author: LeiJiaXin
* @Date: 2019/7/11 20:53
*/
@Service
public class ArchiveMasterServiceImpl implements ArchiveMasterService {
@Autowired
private ArchiveMasterRepository archiveMasterRepository;
@Override
public void save(ArchiveMaster archiveMaster) {
if (archiveMaster.getSex() != null) {
String sex = archiveMaster.getSex();
switch (sex) {
case "1":
sex = "男";
break;
case "2":
sex = "女";
break;
case "9":
sex = "未说明";
break;
case "0":
sex = "未知";
break;
}
archiveMaster.setSex(sex);
}
archiveMasterRepository.save(archiveMaster);
}
@Override
public String findArchiveMasterId(String patientId, String visitId, String inpNo) {
return archiveMasterRepository.findArchiveMasterId(patientId, visitId, inpNo);
}
@Override
public boolean updateArchiveMasterValid(String archiveMasterId) {
if(archiveMasterRepository.updateArchiveMasterValid(archiveMasterId) > 0)
return true;
return false;
}
@Override
public boolean transferDepartment(ArchiveMaster archiveMaster) {
// 20200426 因为之前考虑不周,没有考虑到转科会存在多次
String transferDept = archiveMasterRepository.findTransferDept(archiveMaster.getId());
if(transferDept != null){
transferDept = transferDept+","+archiveMaster.getTransferDept();
}else{
transferDept = archiveMaster.getTransferDept();
}
if(archiveMasterRepository.transferDepartment(archiveMaster.getId(), transferDept) > 0)
return true;
return false;
}
@Override
public void discharge(ArchiveMaster archiveMaster) {
ArchiveMaster master = archiveMasterRepository.findByIdAndIsValid(archiveMaster.getId(), 0);
if (master != null) {
master.setDeptName(archiveMaster.getDeptName());
master.setDischargeDateTime(archiveMaster.getDischargeDateTime());
if(master.getArchiveState().equals("在院")){
master.setArchiveState("归档中");
}
archiveMasterRepository.save(master);
}
}
@Override
public ArchiveMaster findByInpNoAndVisitIdAndIsValid(String inpNo, String visitId) throws Exception {
return archiveMasterRepository.findByInpNoAndVisitIdAndIsValid(inpNo, visitId, 0);
}
@Override
public ArchiveMaster findByPatientIdAndVisitIdAndIsValid(String patientId, String visitId) throws Exception {
return archiveMasterRepository.findByPatientIdAndVisitIdAndIsValid(patientId, visitId, 0);
}
@Override
public List<ArchiveMaster> findAllArchiveMaster() {
return archiveMasterRepository.findAllArchiveMaster();
}
@Override
public boolean updateCheckedDatetime(String id) {
if (archiveMasterRepository.updateCheckedDatetime(id) > 0)
return true;
return false;
}
@Override
public boolean updateArchiveMaster(ArchiveMaster archiveMaster) {
String sex = archiveMaster.getSex();
if (archiveMaster.getSex() != null && archiveMaster.getName() != null ) {
switch (sex) {
case "1":
sex = "男";
break;
case "2":
sex = "女";
break;
case "0":
sex = "未知";
break;
case "9":
sex = "未说明";
break;
}
if (archiveMasterRepository.updateArchiveMaster(archiveMaster.getId(),sex,archiveMaster.getName()) > 0){
return true;
}
}
return false;
}
@Override
public boolean updateArchiveMasterByDeathFlag(ArchiveMaster archiveMaster) {
if (archiveMasterRepository.updateDeathFlag(archiveMaster.getId(),archiveMaster.getDeathFlag()) > 0)
return true;
return false;
}
@Override
public boolean updateArchiveMasterBydoctorInCharge(ArchiveMaster archiveMaster) {
if (archiveMasterRepository.updateDoctorInCharge(archiveMaster.getId(),archiveMaster.getDoctorInCharge()) > 0)
return true;
return false;
}
}