|
@ -12,6 +12,7 @@ import com.yihu.wlyy.entity.patient.Patient;
|
|
import com.yihu.wlyy.entity.patient.ServerLabelTree;
|
|
import com.yihu.wlyy.entity.patient.ServerLabelTree;
|
|
import com.yihu.wlyy.entity.patient.SignFamily;
|
|
import com.yihu.wlyy.entity.patient.SignFamily;
|
|
import com.yihu.wlyy.entity.patient.SignFamilyRenew;
|
|
import com.yihu.wlyy.entity.patient.SignFamilyRenew;
|
|
|
|
import com.yihu.wlyy.entity.patient.prescription.PrescriptionLog;
|
|
import com.yihu.wlyy.entity.security.Token;
|
|
import com.yihu.wlyy.entity.security.Token;
|
|
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamDao;
|
|
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamDao;
|
|
import com.yihu.wlyy.repository.doctor.DoctorDao;
|
|
import com.yihu.wlyy.repository.doctor.DoctorDao;
|
|
@ -19,6 +20,7 @@ import com.yihu.wlyy.repository.doctor.DoctorPatientDao;
|
|
import com.yihu.wlyy.repository.patient.PatientDao;
|
|
import com.yihu.wlyy.repository.patient.PatientDao;
|
|
import com.yihu.wlyy.repository.patient.SignFamilyDao;
|
|
import com.yihu.wlyy.repository.patient.SignFamilyDao;
|
|
import com.yihu.wlyy.repository.security.TokenDao;
|
|
import com.yihu.wlyy.repository.security.TokenDao;
|
|
|
|
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
|
|
import com.yihu.wlyy.util.DateUtil;
|
|
import com.yihu.wlyy.util.DateUtil;
|
|
import com.yihu.wlyy.util.EncodesUtil;
|
|
import com.yihu.wlyy.util.EncodesUtil;
|
|
import com.yihu.wlyy.util.IdcardInfoExtractor;
|
|
import com.yihu.wlyy.util.IdcardInfoExtractor;
|
|
@ -27,13 +29,19 @@ import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.Sort;
|
|
import org.springframework.data.domain.Sort;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.transaction.TransactionDefinition;
|
|
|
|
import org.springframework.transaction.TransactionStatus;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
import org.springside.modules.utils.Clock;
|
|
import org.springside.modules.utils.Clock;
|
|
|
|
|
|
import java.text.DateFormat;
|
|
import java.text.DateFormat;
|
|
@ -49,6 +57,8 @@ import java.util.*;
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public class PatientService extends TokenService {
|
|
public class PatientService extends TokenService {
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(PatientService.class);
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private SignFamilyDao signFamilyDao;
|
|
private SignFamilyDao signFamilyDao;
|
|
@Autowired
|
|
@Autowired
|
|
@ -64,6 +74,9 @@ public class PatientService extends TokenService {
|
|
@Autowired
|
|
@Autowired
|
|
JdbcTemplate jdbcTemplate;
|
|
JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private JpaTransactionManager transactionManager;
|
|
|
|
|
|
private Clock clock = Clock.DEFAULT;
|
|
private Clock clock = Clock.DEFAULT;
|
|
//可续签月份
|
|
//可续签月份
|
|
private int[] canRenewMonth = {4, 5, 6, 7};
|
|
private int[] canRenewMonth = {4, 5, 6, 7};
|
|
@ -982,4 +995,32 @@ public class PatientService extends TokenService {
|
|
public void save(Patient patient) {
|
|
public void save(Patient patient) {
|
|
patientDao.save(patient);
|
|
patientDao.save(patient);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据患者身份证号更新患者颜色定标情况
|
|
|
|
* @param idcard_diseasecontion_map
|
|
|
|
*/
|
|
|
|
@Transactional
|
|
|
|
public void updatePatientDiseascontionByIdcard(HashMap<String, Integer> idcard_diseasecontion_map){
|
|
|
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
|
|
|
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务
|
|
|
|
TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态
|
|
|
|
try {
|
|
|
|
for (String idcard : idcard_diseasecontion_map.keySet()) {
|
|
|
|
patientDao.updatePatientDiseascontionByIdcard(idcard,idcard_diseasecontion_map.get(idcard));
|
|
|
|
}
|
|
|
|
//事务提交
|
|
|
|
transactionManager.commit(status);
|
|
|
|
} catch (Exception ex) {
|
|
|
|
logger.info("更新患者颜色定标情况出错,从基卫获取的患者数据为:START");
|
|
|
|
for (String idcard : idcard_diseasecontion_map.keySet()) {
|
|
|
|
logger.info("idcard:"+idcard);
|
|
|
|
logger.info("idcard:"+idcard_diseasecontion_map.get(idcard));
|
|
|
|
}
|
|
|
|
logger.info("更新患者颜色定标情况出错,从基卫获取的患者数据为:END");
|
|
|
|
//报错事务回滚
|
|
|
|
transactionManager.rollback(status);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
}
|