|
@@ -525,7 +525,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public String PrescribeImgYsy(Long prescribeId) {
|
|
|
|
|
|
|
+ public String PrescribeImgYsyTask(Long prescribeId,Integer signFlag) {
|
|
|
FsPrescribeVO f = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
|
|
FsPrescribeVO f = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
|
|
|
Asserts.notNull(f,String.format("处方 %d 未找到!",prescribeId));
|
|
Asserts.notNull(f,String.format("处方 %d 未找到!",prescribeId));
|
|
|
|
|
|
|
@@ -553,16 +553,6 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
} else {
|
|
} else {
|
|
|
o.setBedId("中医科");
|
|
o.setBedId("中医科");
|
|
|
}
|
|
}
|
|
|
-// String remark = "";
|
|
|
|
|
-// if (f.getUsageJson() != null) {
|
|
|
|
|
-// FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
|
|
|
|
|
-// remark = usage.getRemark();
|
|
|
|
|
-// }
|
|
|
|
|
-// if (remark != null && remark != "") {
|
|
|
|
|
-// o.setRemark(remark);
|
|
|
|
|
-// } else {
|
|
|
|
|
-// o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
|
|
|
-// }
|
|
|
|
|
if (StringUtils.isNotBlank(f.getRemark())){
|
|
if (StringUtils.isNotBlank(f.getRemark())){
|
|
|
o.setRemark(f.getRemark());
|
|
o.setRemark(f.getRemark());
|
|
|
} else {
|
|
} else {
|
|
@@ -573,10 +563,20 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
// 在这里添加处方药品列表的值
|
|
// 在这里添加处方药品列表的值
|
|
|
List<FsPrescribeDrug> PrescribeDrugList=filterNonDrugPrescribe(list);
|
|
List<FsPrescribeDrug> PrescribeDrugList=filterNonDrugPrescribe(list);
|
|
|
o.setPrescribeDrug(PrescribeDrugList);
|
|
o.setPrescribeDrug(PrescribeDrugList);
|
|
|
- //医生签名
|
|
|
|
|
- o.setUrl(f.getUrl());
|
|
|
|
|
- //药师签名
|
|
|
|
|
- o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
|
|
|
|
+ if (signFlag!=null&&signFlag==1){
|
|
|
|
|
+ //医生签名
|
|
|
|
|
+ o.setUrl(f.getUrl());
|
|
|
|
|
+ }else if (signFlag!=null&&signFlag==2){
|
|
|
|
|
+ //医生签名
|
|
|
|
|
+ o.setUrl(f.getUrl());
|
|
|
|
|
+ //药师签名
|
|
|
|
|
+ o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
|
|
+ } else if (signFlag==null){//保底策略 默认
|
|
|
|
|
+ //医生签名
|
|
|
|
|
+ o.setUrl(f.getUrl());
|
|
|
|
|
+ //药师签名
|
|
|
|
|
+ o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
|
|
+ }
|
|
|
//医生名称
|
|
//医生名称
|
|
|
o.setDoctorName(f.getDoctorName());
|
|
o.setDoctorName(f.getDoctorName());
|
|
|
//审核药师
|
|
//审核药师
|
|
@@ -602,17 +602,16 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
return f.getPrescribeImgUrl();
|
|
return f.getPrescribeImgUrl();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String PrescribeImgYsy(Long prescribeId) {
|
|
|
|
|
+ FsPrescribeVO f = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
|
|
|
|
|
+ Asserts.notNull(f,String.format("处方 %d 未找到!",prescribeId));
|
|
|
|
|
|
|
|
- //更新处方单图片
|
|
|
|
|
- private void prescriptionPicUpdate(PrescribeXyImgParam param,Long prescribeId){
|
|
|
|
|
- FsPrescribeVO prescribeVO = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
|
|
|
|
|
- Asserts.notNull(prescribeVO,String.format("处方 %d 未找到!",prescribeId));
|
|
|
|
|
-
|
|
|
|
|
- FsStoreOrder fsStoreOrder = storeOrderService.selectFsStoreOrderByOrderId(prescribeVO.getStoreOrderId());
|
|
|
|
|
- FsInquiryOrderVO order = fsInquiryOrderMapper.selectFsInquiryOrderVOByOrderId(prescribeVO.getInquiryOrderId());
|
|
|
|
|
- if (StringUtils.isNotBlank(prescribeVO.getPrescribeImgUrl())) {
|
|
|
|
|
|
|
+ FsStoreOrder fsStoreOrder = storeOrderService.selectFsStoreOrderByOrderId(f.getStoreOrderId());
|
|
|
|
|
+ FsInquiryOrderVO order = fsInquiryOrderMapper.selectFsInquiryOrderVOByOrderId(f.getInquiryOrderId());
|
|
|
|
|
+ if (StringUtils.isBlank(f.getPrescribeImgUrl())) {
|
|
|
FsPrescribeDrug d = new FsPrescribeDrug();
|
|
FsPrescribeDrug d = new FsPrescribeDrug();
|
|
|
- d.setPrescribeId(prescribeVO.getPrescribeId());
|
|
|
|
|
|
|
+ d.setPrescribeId(f.getPrescribeId());
|
|
|
List<FsPrescribeDrug> list = fsPrescribeDrugMapper.selectFsPrescribeDrugList(d);
|
|
List<FsPrescribeDrug> list = fsPrescribeDrugMapper.selectFsPrescribeDrugList(d);
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
@@ -621,55 +620,66 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
PrescribeXyImgParam o = new PrescribeXyImgParam();
|
|
PrescribeXyImgParam o = new PrescribeXyImgParam();
|
|
|
o.setStatus(fsStoreOrder.getStatus());
|
|
o.setStatus(fsStoreOrder.getStatus());
|
|
|
o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
|
- o.setTime(prescribeVO.getCreateTime());
|
|
|
|
|
- o.setPrescribeId(prescribeVO.getPrescribeCode());
|
|
|
|
|
- o.setPatientName(prescribeVO.getPatientName());
|
|
|
|
|
- o.setPatientGender(prescribeVO.getPatientGender());
|
|
|
|
|
- o.setPatientAge(prescribeVO.getPatientAge());
|
|
|
|
|
- o.setOutpatientId(prescribeVO.getPrescribeCode());
|
|
|
|
|
|
|
+ o.setTime(f.getCreateTime());
|
|
|
|
|
+ o.setPrescribeId(f.getPrescribeCode());
|
|
|
|
|
+ o.setPatientName(f.getPatientName());
|
|
|
|
|
+ o.setPatientGender(f.getPatientGender());
|
|
|
|
|
+ o.setPatientAge(f.getPatientAge());
|
|
|
|
|
+ o.setOutpatientId(f.getPrescribeCode());
|
|
|
if (order != null) {
|
|
if (order != null) {
|
|
|
o.setBedId(order.getDeptName());
|
|
o.setBedId(order.getDeptName());
|
|
|
} else {
|
|
} else {
|
|
|
o.setBedId("中医科");
|
|
o.setBedId("中医科");
|
|
|
}
|
|
}
|
|
|
- if (StringUtils.isNotBlank(prescribeVO.getRemark())){
|
|
|
|
|
- o.setRemark(prescribeVO.getRemark());
|
|
|
|
|
|
|
+// String remark = "";
|
|
|
|
|
+// if (f.getUsageJson() != null) {
|
|
|
|
|
+// FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
|
|
|
|
|
+// remark = usage.getRemark();
|
|
|
|
|
+// }
|
|
|
|
|
+// if (remark != null && remark != "") {
|
|
|
|
|
+// o.setRemark(remark);
|
|
|
|
|
+// } else {
|
|
|
|
|
+// o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
|
|
|
+// }
|
|
|
|
|
+ if (StringUtils.isNotBlank(f.getRemark())){
|
|
|
|
|
+ o.setRemark(f.getRemark());
|
|
|
} else {
|
|
} else {
|
|
|
o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
|
}
|
|
}
|
|
|
- o.setHistoryAllergic(prescribeVO.getHistoryAllergic());
|
|
|
|
|
- o.setDiagnose(prescribeVO.getDiagnose());
|
|
|
|
|
|
|
+ o.setHistoryAllergic(f.getHistoryAllergic());
|
|
|
|
|
+ o.setDiagnose(f.getDiagnose());
|
|
|
// 在这里添加处方药品列表的值
|
|
// 在这里添加处方药品列表的值
|
|
|
List<FsPrescribeDrug> PrescribeDrugList=filterNonDrugPrescribe(list);
|
|
List<FsPrescribeDrug> PrescribeDrugList=filterNonDrugPrescribe(list);
|
|
|
o.setPrescribeDrug(PrescribeDrugList);
|
|
o.setPrescribeDrug(PrescribeDrugList);
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ //医生签名
|
|
|
|
|
+ o.setUrl(f.getUrl());
|
|
|
|
|
+ //药师签名
|
|
|
|
|
+ o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
//医生名称
|
|
//医生名称
|
|
|
- o.setDoctorName(prescribeVO.getDoctorName());
|
|
|
|
|
|
|
+ o.setDoctorName(f.getDoctorName());
|
|
|
//审核药师
|
|
//审核药师
|
|
|
- o.setAuditDoctor(prescribeVO.getDoctorDrugName());
|
|
|
|
|
|
|
+ o.setAuditDoctor(f.getDoctorDrugName());
|
|
|
o.setDispatcher("");
|
|
o.setDispatcher("");
|
|
|
o.setCheckDoctor("");
|
|
o.setCheckDoctor("");
|
|
|
- o.setTelPhone(prescribeVO.getPatientTel());
|
|
|
|
|
- FsDoctor fsDoctor = doctorMapper.selectFsDoctorByDoctorId(prescribeVO.getDoctorId());
|
|
|
|
|
- Asserts.notNull(fsDoctor,String.format("医生 %s 未找到!",prescribeVO.getDoctorId()));
|
|
|
|
|
|
|
+ o.setTelPhone(f.getPatientTel());
|
|
|
|
|
+ FsDoctor fsDoctor = doctorMapper.selectFsDoctorByDoctorId(f.getDoctorId());
|
|
|
|
|
+ Asserts.notNull(fsDoctor,String.format("医生 %s 未找到!",f.getDoctorId()));
|
|
|
o.setDoctorNo(fsDoctor.getCertificateCode());
|
|
o.setDoctorNo(fsDoctor.getCertificateCode());
|
|
|
o.setDoctorTitle(fsDoctor.getPosition());
|
|
o.setDoctorTitle(fsDoctor.getPosition());
|
|
|
- //TODO 在医生确认开放及以后阶段可赋值 医生签名
|
|
|
|
|
- param.setUrl(prescribeVO.getUrl());
|
|
|
|
|
- //TODO 在药师审核及以后阶段可赋值 药师签名
|
|
|
|
|
- param.setDrugDoctorUrl(prescribeVO.getDrugDoctorSignUrl());
|
|
|
|
|
|
|
+
|
|
|
String url = prescriptionImageService.generatePrescriptionImage(o);
|
|
String url = prescriptionImageService.generatePrescriptionImage(o);
|
|
|
FsPrescribe fsPrescribe = new FsPrescribe();
|
|
FsPrescribe fsPrescribe = new FsPrescribe();
|
|
|
fsPrescribe.setPrescribeImgUrl(url);
|
|
fsPrescribe.setPrescribeImgUrl(url);
|
|
|
- fsPrescribe.setPrescribeId(prescribeVO.getPrescribeId());
|
|
|
|
|
|
|
+ fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
- prescribeVO.setPrescribeImgUrl(url);
|
|
|
|
|
|
|
+ f.setPrescribeImgUrl(url);
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
log.info("处方 {} 对应处方单已经被生成!",prescribeId);
|
|
log.info("处方 {} 对应处方单已经被生成!",prescribeId);
|
|
|
}
|
|
}
|
|
|
|
|
+ return f.getPrescribeImgUrl();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 根据产品最新状态过滤处方单药品列表。
|
|
* 根据产品最新状态过滤处方单药品列表。
|
|
|
* <p>
|
|
* <p>
|
|
@@ -1197,7 +1207,9 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
prescribeRecordService.insertFsPrescribeRecord(prescribeRecord);
|
|
prescribeRecordService.insertFsPrescribeRecord(prescribeRecord);
|
|
|
if (param.getStatus() == 1) {
|
|
if (param.getStatus() == 1) {
|
|
|
map.setAuditReason("");
|
|
map.setAuditReason("");
|
|
|
- fsExportTaskService.updateFsExportTaskByPrescribeId(param.getPrescribeId());
|
|
|
|
|
|
|
+ //fsExportTaskService.updateFsExportTaskByPrescribeId(param.getPrescribeId());
|
|
|
|
|
+ //重置处方单定时任务(药师审核通过后生成拥有药师签名的标识)
|
|
|
|
|
+ fsExportTaskService.resetFsExportTaskByPrescribeIdAndSignFlag(param.getPrescribeId(),2);
|
|
|
|
|
|
|
|
//审核通过 同步用户信息采集进度
|
|
//审核通过 同步用户信息采集进度
|
|
|
FsStoreOrder order = storeOrderMapper.selectByPrescriptionId(prescribe.getPrescribeId());
|
|
FsStoreOrder order = storeOrderMapper.selectByPrescriptionId(prescribe.getPrescribeId());
|
|
@@ -1233,17 +1245,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //同步用户信息采集进度
|
|
|
|
|
- FsStoreOrder order = storeOrderMapper.selectByPrescriptionId(prescribe.getPrescribeId());
|
|
|
|
|
- if (order != null){
|
|
|
|
|
- FsUserInformationCollectionSchedule schedule = scheduleMapper.selectFsUserInformationCollectionByOrderCode(order.getOrderCode());
|
|
|
|
|
- if (schedule != null){
|
|
|
|
|
- //"待用户二次确认"节点
|
|
|
|
|
- schedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_SECOND_CONFIRM.getCode());
|
|
|
|
|
- scheduleMapper.updateFsUserInformationCollectionSchedule(schedule);
|
|
|
|
|
- log.info("同步用户信息采集进度节点为:{},信息采集表id:{}",PrescriptionTaskStepEnum.WAITING_SECOND_CONFIRM.getDesc(),schedule.getCollectionId());
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
delUrl(param.getPrescribeId());
|
|
delUrl(param.getPrescribeId());
|
|
|
if (this.updateFsPrescribe(map) > 0){
|
|
if (this.updateFsPrescribe(map) > 0){
|
|
@@ -1349,13 +1351,14 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- //TODO 医生确认后生成处方单
|
|
|
|
|
|
|
+ //医生确认后生成处方单
|
|
|
PrescriptionTaskRecord record = new PrescriptionTaskRecord();
|
|
PrescriptionTaskRecord record = new PrescriptionTaskRecord();
|
|
|
record.setPrescribeId(param.getPrescribeId());
|
|
record.setPrescribeId(param.getPrescribeId());
|
|
|
record.setCreateTime(LocalDateTime.now());
|
|
record.setCreateTime(LocalDateTime.now());
|
|
|
record.setExecuteStatus(0);
|
|
record.setExecuteStatus(0);
|
|
|
record.setRetryCount(0);
|
|
record.setRetryCount(0);
|
|
|
|
|
+ //可生成医生签名图片标识
|
|
|
|
|
+ record.setSignFlag(1);
|
|
|
prescriptionTaskRecordMapper.insert(record);
|
|
prescriptionTaskRecordMapper.insert(record);
|
|
|
|
|
|
|
|
//生成药师审核消息
|
|
//生成药师审核消息
|