|
@ -4,7 +4,6 @@ import com.yihu.wlyy.entity.device.Device;
|
|
|
import com.yihu.wlyy.entity.device.PatientDevice;
|
|
|
import com.yihu.wlyy.entity.doctor.profile.Doctor;
|
|
|
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
|
|
|
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeamMember;
|
|
|
import com.yihu.wlyy.entity.patient.Patient;
|
|
|
import com.yihu.wlyy.repository.deviece.DeviceDao;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamMemberDao;
|
|
@ -68,65 +67,67 @@ public class PatientDeviceService extends BaseService {
|
|
|
* 保存患者设备
|
|
|
*/
|
|
|
public boolean saveDevice(PatientDevice patientDevice) throws Exception {
|
|
|
//判断sn码是否被使用
|
|
|
String sn = patientDevice.getDeviceSn();
|
|
|
String type = patientDevice.getCategoryCode();
|
|
|
Long deviceId = patientDevice.getDeviceId();
|
|
|
String userType = patientDevice.getUserType();
|
|
|
if(userType == null)
|
|
|
{
|
|
|
userType = "-1";
|
|
|
patientDevice.setUserType("-1");
|
|
|
}
|
|
|
synchronized (patientDevice.getDeviceSn()){
|
|
|
//判断sn码是否被使用
|
|
|
String sn = patientDevice.getDeviceSn();
|
|
|
String type = patientDevice.getCategoryCode();
|
|
|
Long deviceId = patientDevice.getDeviceId();
|
|
|
String userType = patientDevice.getUserType();
|
|
|
if(userType == null)
|
|
|
{
|
|
|
userType = "-1";
|
|
|
patientDevice.setUserType("-1");
|
|
|
}
|
|
|
|
|
|
boolean needVerify = true;
|
|
|
//修改操作
|
|
|
if(patientDevice.getId()!=null)
|
|
|
{
|
|
|
PatientDevice deviceOld = patientDeviceDao.findOne(patientDevice.getId());
|
|
|
if(deviceOld!=null)
|
|
|
boolean needVerify = true;
|
|
|
//修改操作
|
|
|
if(patientDevice.getId()!=null)
|
|
|
{
|
|
|
if(deviceOld.getDeviceSn().equals(sn))
|
|
|
PatientDevice deviceOld = patientDeviceDao.findOne(patientDevice.getId());
|
|
|
if(deviceOld!=null)
|
|
|
{
|
|
|
needVerify = false;
|
|
|
if(deviceOld.getDeviceSn().equals(sn))
|
|
|
{
|
|
|
needVerify = false;
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
throw new Exception("不存在该条记录!");
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
throw new Exception("不存在该条记录!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//校验sn码是否被使用
|
|
|
if(needVerify) {
|
|
|
PatientDevice device = patientDeviceDao.findByDeviceIdAndDeviceSnAndUserTypeAndDel(deviceId, sn, userType,0);
|
|
|
if (device != null && !device.getId().equals(patientDevice.getId())) {
|
|
|
throw new Exception("sn码" + sn + "已被使用!");
|
|
|
//校验sn码是否被使用
|
|
|
if(needVerify) {
|
|
|
PatientDevice device = patientDeviceDao.findByDeviceIdAndDeviceSnAndUserTypeAndDel(deviceId, sn, userType,0);
|
|
|
if (device != null && !device.getId().equals(patientDevice.getId())) {
|
|
|
throw new Exception("sn码" + sn + "已被使用!");
|
|
|
}
|
|
|
}
|
|
|
patientDevice.setCzrq(clock.getCurrentDate());
|
|
|
//当前用户的身份证
|
|
|
Patient patient = patientDao.findByCode(patientDevice.getUser());
|
|
|
patientDevice.setUserIdcard(patient.getIdcard());
|
|
|
|
|
|
//注册设备
|
|
|
Map<String, String> params = new HashMap<>();
|
|
|
params.put("deviceSn", sn);
|
|
|
|
|
|
//调用服务
|
|
|
String response = HttpClientUtil.httpPost(url + registerDevice,HttpClientUtil.getSecretParams(params,appid,secret));
|
|
|
System.out.println("注册设备="+response);
|
|
|
JSONObject json = new JSONObject(response);
|
|
|
String code = json.get("Code").toString();
|
|
|
//10000注册成功 10001已注册 -10000参数不通过(没传参数) -10001设备不存在 -10002设备未出库
|
|
|
if("10000".equals(code)||"10001".equals(code))
|
|
|
{
|
|
|
patientDeviceDao.save(patientDevice);
|
|
|
}else{
|
|
|
String message = json.get("Message").toString();
|
|
|
throw new Exception(message);
|
|
|
}
|
|
|
}
|
|
|
patientDevice.setCzrq(clock.getCurrentDate());
|
|
|
//当前用户的身份证
|
|
|
Patient patient = patientDao.findByCode(patientDevice.getUser());
|
|
|
patientDevice.setUserIdcard(patient.getIdcard());
|
|
|
|
|
|
//注册设备
|
|
|
Map<String, String> params = new HashMap<>();
|
|
|
params.put("deviceSn", sn);
|
|
|
|
|
|
//调用服务
|
|
|
String response = HttpClientUtil.httpPost(url + registerDevice,HttpClientUtil.getSecretParams(params,appid,secret));
|
|
|
System.out.println("注册设备="+response);
|
|
|
JSONObject json = new JSONObject(response);
|
|
|
String code = json.get("Code").toString();
|
|
|
//10000注册成功 10001已注册 -10000参数不通过(没传参数) -10001设备不存在 -10002设备未出库
|
|
|
if("10000".equals(code)||"10001".equals(code))
|
|
|
{
|
|
|
patientDeviceDao.save(patientDevice);
|
|
|
}else{
|
|
|
String message = json.get("Message").toString();
|
|
|
throw new Exception(message);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/**
|