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.

87 lines
3.5 KiB
Java

package com.ann.service.impl;
import com.ann.entity.interfaceEntity.ArchiveMaster;
import com.ann.service.ArchiveMasterService;
import com.ann.utils.WebServiceUtils;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
/**
* @Author: LeiJiaXin
* @Date: 2020/1/7 11:15
*/
@Component
public class GenerateService {
@Autowired
ArchiveMasterService archiveMasterService;
private static String signContent;
@Value("${signContent}")
public void setSignContent(String signContent) {
GenerateService.signContent = signContent;
}
private static String cancelSignContent;
@Value("${cancelSignContent}")
public void setcancelSignContent(String cancelSignContent) {
GenerateService.cancelSignContent = cancelSignContent;
}
public void doSomethingBySendTime() throws Exception{
List<ArchiveMaster> all = archiveMasterService.findArchiveMasterBySendTime();
for (ArchiveMaster archiveMaster: all) {
if(archiveMaster != null){
//构建signContent
String now = LocalDateTime.now().toString();
Document signContentDocument = DocumentHelper.parseText(signContent);
Element root = signContentDocument.getRootElement();
Element patientStatu = root.element("patient_statu");
patientStatu.setText("0");
Element patientId = root.element("patient_id");
patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId());
Element creationTime = root.element("mr_back_date_time");
creationTime.setText(now);
Element man = root.element("mr_back_man");
man.setText(archiveMaster.getFirstInstance()+"");
String signReturn = signContentDocument.getRootElement().asXML();
//调用webservice
Object[] objects = WebServiceUtils.connectEMR(signReturn);
if(objects != null){
//更新发送时间
archiveMasterService.updateSendTime(archiveMaster.getId(), now,0);
}
}
}
/* List<ArchiveMaster> archiveMasters = archiveMasterService.findArchiveMasterBySendBackAndSendTime();
for (ArchiveMaster archiveMaster: archiveMasters) {
if(archiveMaster != null){
//构建cancelSignContent
Document cancelSignDocument = DocumentHelper.parseText(cancelSignContent);
Element cancelSignRoot = cancelSignDocument.getRootElement();
Element patientStatu = cancelSignRoot.element("patient_statu");
patientStatu.setText("1");
Element patientId = cancelSignRoot.element("patient_id");
patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId());
String cancelSignReturn = cancelSignDocument.getRootElement().asXML();
//调用webservice
Object[] objects = WebServiceUtils.connectEMR(cancelSignReturn);
if(objects != null){
//更新发送时间
archiveMasterService.updateSendTime(archiveMaster.getId(), null,1);
}
}
}*/
}
}