|
@ -16,6 +16,7 @@ import com.yihu.wlyy.entity.patient.Patient;
|
|
|
import com.yihu.wlyy.entity.patient.PatientFamilyMember;
|
|
|
import com.yihu.wlyy.entity.patient.SignFamily;
|
|
|
import com.yihu.wlyy.entity.patient.prescription.*;
|
|
|
import com.yihu.wlyy.entity.zydict.ZyIvPhysicDict;
|
|
|
import com.yihu.wlyy.repository.consult.ConsultTeamDao;
|
|
|
import com.yihu.wlyy.repository.consult.ConsultTeamDoctorDao;
|
|
|
import com.yihu.wlyy.repository.consult.ConsultTeamLogDao;
|
|
@ -176,27 +177,28 @@ public class ConsultTeamService extends ConsultService {
|
|
|
return json;
|
|
|
}
|
|
|
//点击后判断,如果用户当前存在可申请续方的处方记录,则进入续方申请流程,若不存在可续方记录,alert“当前没有可以申请续方的处方记录”
|
|
|
int num = 0;
|
|
|
Patient p = patientDao.findByCode(patient);
|
|
|
String rp= jwPrescriptionService.getRecipeList(p.getSsc(),null,null,null);
|
|
|
com.alibaba.fastjson.JSONArray pres =presModeAdapter.modeToPrescription(rp);
|
|
|
Iterator iterator = pres.iterator();
|
|
|
while (iterator.hasNext()){
|
|
|
com.alibaba.fastjson.JSONObject r = ( com.alibaba.fastjson.JSONObject)iterator.next();
|
|
|
com.alibaba.fastjson.JSONArray des = r.getJSONArray("prescriptionDt");
|
|
|
for(int i=0 ;i<des.size();i++){
|
|
|
PrescriptionDiagnosis ds = des.getObject(i,PrescriptionDiagnosis.class);
|
|
|
if(gxy.equals(ds.getHealthProblem())||tnb.equals(ds.getHealthProblem())){
|
|
|
//为糖尿病高血压
|
|
|
num++;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if(num==0){
|
|
|
json.put("msg","当前没有可以申请续方的处方记录");
|
|
|
return json;
|
|
|
}
|
|
|
// 智业接口没有返回列表,是单条 所以先不处理
|
|
|
// int num = 0;
|
|
|
// Patient p = patientDao.findByCode(patient);
|
|
|
// String rp= jwPrescriptionService.getRecipeList(p.getSsc(),null,null,null);
|
|
|
// com.alibaba.fastjson.JSONArray pres =presModeAdapter.modeToPrescription(rp);
|
|
|
// Iterator iterator = pres.iterator();
|
|
|
// while (iterator.hasNext()){
|
|
|
// com.alibaba.fastjson.JSONObject r = ( com.alibaba.fastjson.JSONObject)iterator.next();
|
|
|
// com.alibaba.fastjson.JSONArray des = r.getJSONArray("prescriptionDt");
|
|
|
// for(int i=0 ;i<des.size();i++){
|
|
|
// PrescriptionDiagnosis ds = des.getObject(i,PrescriptionDiagnosis.class);
|
|
|
// if(gxy.equals(ds.getHealthProblem())||tnb.equals(ds.getHealthProblem())){
|
|
|
// //为糖尿病高血压
|
|
|
// num++;
|
|
|
// break;
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// if(num==0){
|
|
|
// json.put("msg","当前没有可以申请续方的处方记录");
|
|
|
// return json;
|
|
|
// }
|
|
|
|
|
|
//续方说明
|
|
|
List<PrescriptionExplain> list = prescriptionExplainDao.findList();
|
|
@ -1156,11 +1158,7 @@ public class ConsultTeamService extends ConsultService {
|
|
|
prescriptionInfo.setPrice(CommonUtil.doubleToInt(info.getDouble("price")));//药品单价
|
|
|
// prescriptionInfo.setIsRefrigerate(0);//是否冷藏 1是 0否
|
|
|
prescriptionInfo.setJwSubCode(info.getString("jwSubCode"));//智业子处方号
|
|
|
String subjectClass = info.getString("subjectClass");
|
|
|
if(StringUtils.isBlank(subjectClass)){//处理默认药品的科目类型为空
|
|
|
subjectClass = zyDictService.getSubjectClass(info.getString("drugCode"));
|
|
|
}
|
|
|
prescriptionInfo.setSubjectClass(subjectClass);//科目编码
|
|
|
|
|
|
prescriptionInfo.setDrugNumUnit(info.getString("drugNumUnit"));//数量单位编码
|
|
|
prescriptionInfo.setDrugNumUnitName(info.getString("drugNumUnitName"));//数量单位名称
|
|
|
prescriptionInfo.setCost(CommonUtil.doubleToInt(info.getDouble("cost")));//金额
|
|
@ -1176,15 +1174,31 @@ public class ConsultTeamService extends ConsultService {
|
|
|
prescriptionInfo.setPhysicDose(info.getString("physicDose"));//用药剂量
|
|
|
prescriptionInfo.setPhysicDoseUnit(info.getString("physicDoseUnit"));//剂量单位编码
|
|
|
prescriptionInfo.setPhysicDoseUnitName(info.getString("physicDoseUnitName"));//剂量单位名称
|
|
|
prescriptionInfo.setPhysicAmount(info.getString("physicAmount"));//用药总量
|
|
|
prescriptionInfo.setPhysicAmountUnit(info.getString("physicAmount"));//总量单位编码
|
|
|
prescriptionInfo.setPhysicAmountUnitName(info.getString("physicAmountUnitName"));//总量单位名称
|
|
|
prescriptionInfo.setPhysicInjectPlace(info.getString("physicInjectPlace"));//注射地点编码
|
|
|
prescriptionInfo.setPhysicInjectPlaceName(info.getString("physicInjectPlaceName"));//注射地点名称
|
|
|
prescriptionInfo.setPhysicSkinTest(info.getString("physicSkinTest"));//注射地点名称
|
|
|
prescriptionInfo.setPhysicSkinTestName(info.getString("physicSkinTestName"));//皮试类型名称
|
|
|
prescriptionInfo.setRemark(info.getString("Remark"));//备注
|
|
|
prescriptionInfo.setIsRefrigerate(zyDictService.getIsRefrigerate(prescriptionInfo.getDrugCode()));
|
|
|
//需要特殊处理的字段
|
|
|
ZyIvPhysicDict physicDict = zyDictService.findByPhysicCode(prescriptionInfo.getDrugCode());
|
|
|
String subjectClass = info.getString("subjectClass");//科目类型
|
|
|
String physicAmount = info.getString("physicAmount");//用药总量
|
|
|
String physicAmountUnit = info.getString("physicAmountUnit");//总量单位编码
|
|
|
String physicAmountUnitName = info.getString("physicAmountUnitName");//总量单位名称
|
|
|
Integer isRefrigerate = 0;
|
|
|
if(physicDict!=null){
|
|
|
subjectClass = physicDict.getSubjectClass();
|
|
|
isRefrigerate = "2".equals(physicDict.getStorageConditions())?1:isRefrigerate;
|
|
|
physicAmount = null;
|
|
|
physicAmountUnit = physicDict.getPackUnit();
|
|
|
physicAmountUnitName = zyDictService.findByDictNameAndCode("IV_MEASURE_UNIT_DICT",physicAmountUnit);
|
|
|
}
|
|
|
prescriptionInfo.setPhysicAmount(physicAmount);
|
|
|
prescriptionInfo.setPhysicAmountUnit(physicAmountUnit);
|
|
|
prescriptionInfo.setPhysicAmountUnitName(physicAmountUnitName);
|
|
|
prescriptionInfo.setIsRefrigerate(isRefrigerate);
|
|
|
prescriptionInfo.setSubjectClass(subjectClass);//科目编码
|
|
|
|
|
|
prescriptionInfoDao.save(prescriptionInfo);
|
|
|
}
|
|
|
//设置最小用药天数
|