|
@@ -31,6 +31,7 @@ import com.fs.im.service.IImService;
|
|
|
import com.fs.system.oss.CloudStorageService;
|
|
|
import com.fs.system.oss.OSSFactory;
|
|
|
import com.google.zxing.WriterException;
|
|
|
+import jodd.util.StringUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.aop.framework.AopContext;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -404,99 +405,91 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
}
|
|
|
FsStoreOrder fsStoreOrder = storeOrderService.selectFsStoreOrderByOrderId(f.getStoreOrderId());
|
|
|
FsInquiryOrderVO order = fsInquiryOrderMapper.selectFsInquiryOrderVOByOrderId(f.getInquiryOrderId());
|
|
|
- if (f.getPrescribeImgUrl()==null||f.getPrescribeImgUrl().equals("")){
|
|
|
- FsPrescribeDrug d = new FsPrescribeDrug();
|
|
|
- d.setPrescribeId(f.getPrescribeId());
|
|
|
- List<FsPrescribeDrug> list = fsPrescribeDrugMapper.selectFsPrescribeDrugList(d);
|
|
|
-// List<FsPrescribeDrug> list =new ArrayList<>();
|
|
|
-// for (FsPrescribeDrug fsPrescribeDrug : FsPrescribeDruglist) {
|
|
|
-// if (fsPrescribeDrug.getIsDrug()!=null&&fsPrescribeDrug.getIsDrug()!=0){
|
|
|
-// list.add(fsPrescribeDrug);
|
|
|
-// }else if (fsPrescribeDrug.getIsDrug()==null){
|
|
|
-// list.add(fsPrescribeDrug);
|
|
|
-// }
|
|
|
-// }
|
|
|
- if(CollectionUtils.isEmpty(list)) {
|
|
|
- log.error(String.format("[生成处方图片] 当前处方单 %d 找不到药品数据 %s",PrescribeId,JSON.toJSONString(list)));
|
|
|
- throw new IllegalArgumentException(String.format("[生成处方图片] 当前处方单 %d 找不到药品数据 %s",PrescribeId,JSON.toJSONString(list)));
|
|
|
- }
|
|
|
- if (f.getPrescribeType()==1){
|
|
|
- PrescribeXyImgParam o = new PrescribeXyImgParam();
|
|
|
- o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
|
- o.setTime(f.getCreateTime());
|
|
|
- o.setPrescribeId(f.getPrescribeCode());
|
|
|
- o.setPatientName(f.getPatientName());
|
|
|
- o.setPatientGender(f.getPatientGender());
|
|
|
- o.setPatientAge(f.getPatientAge());
|
|
|
- o.setOutpatientId(f.getPrescribeCode());
|
|
|
- o.setUrl(f.getPrescribeDoctorSignUrl());
|
|
|
- o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
- if (order!=null){
|
|
|
- o.setBedId(order.getDeptName());
|
|
|
- }else {
|
|
|
- o.setBedId("中医科");
|
|
|
- }
|
|
|
- String remark="";
|
|
|
- if (f.getUsageJson()!=null){
|
|
|
- FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
|
|
|
- remark=usage.getRemark();
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(remark)){
|
|
|
- o.setRemark(remark);
|
|
|
- }else {
|
|
|
- o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
|
- }
|
|
|
- o.setHistoryAllergic(f.getHistoryAllergic());
|
|
|
- o.setDiagnose(f.getDiagnose());
|
|
|
- o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
|
|
|
- o.setDoctorName(f.getDoctorName());
|
|
|
- o.setAuditDoctor(f.getDoctorDrugName());
|
|
|
- o.setDispatcher("");
|
|
|
- o.setCheckDoctor("");
|
|
|
- o.setDoctorName(f.getDoctorName());
|
|
|
- String s = getFsPrescribeXyImg(o);
|
|
|
- FsPrescribe fsPrescribe = new FsPrescribe();
|
|
|
- fsPrescribe.setPrescribeImgUrl(s);
|
|
|
- fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
- fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
- return s;
|
|
|
- }else if (f.getPrescribeType()==2){
|
|
|
|
|
|
+ FsPrescribeDrug d = new FsPrescribeDrug();
|
|
|
+ d.setPrescribeId(f.getPrescribeId());
|
|
|
+ List<FsPrescribeDrug> list = fsPrescribeDrugMapper.selectFsPrescribeDrugList(d);
|
|
|
+
|
|
|
+ if(CollectionUtils.isEmpty(list)) {
|
|
|
+ log.error(String.format("[生成处方图片] 当前处方单 %d 找不到药品数据 %s",PrescribeId,JSON.toJSONString(list)));
|
|
|
+ throw new IllegalArgumentException(String.format("[生成处方图片] 当前处方单 %d 找不到药品数据 %s",PrescribeId,JSON.toJSONString(list)));
|
|
|
+ }
|
|
|
+ if (f.getPrescribeType()==1){
|
|
|
+ PrescribeXyImgParam o = new PrescribeXyImgParam();
|
|
|
+ o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
|
+ o.setTime(f.getCreateTime());
|
|
|
+ o.setPrescribeId(f.getPrescribeCode());
|
|
|
+ o.setPatientName(f.getPatientName());
|
|
|
+ o.setPatientGender(f.getPatientGender());
|
|
|
+ o.setPatientAge(f.getPatientAge());
|
|
|
+ o.setOutpatientId(f.getPrescribeCode());
|
|
|
+ o.setUrl(f.getPrescribeDoctorSignUrl());
|
|
|
+ o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
+ if (order!=null){
|
|
|
+ o.setBedId(order.getDeptName());
|
|
|
+ }else {
|
|
|
+ o.setBedId("中医科");
|
|
|
+ }
|
|
|
+ String remark="";
|
|
|
+ if (f.getUsageJson()!=null){
|
|
|
FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
|
|
|
+ remark=usage.getRemark();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(remark)){
|
|
|
+ o.setRemark(remark);
|
|
|
+ }else {
|
|
|
+ o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
|
|
|
+ }
|
|
|
+ o.setHistoryAllergic(f.getHistoryAllergic());
|
|
|
+ o.setDiagnose(f.getDiagnose());
|
|
|
+ o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
|
|
|
+ o.setDoctorName(f.getDoctorName());
|
|
|
+ o.setAuditDoctor(f.getDoctorDrugName());
|
|
|
+ o.setDispatcher("");
|
|
|
+ o.setCheckDoctor("");
|
|
|
+ o.setDoctorName(f.getDoctorName());
|
|
|
+ String s = getFsPrescribeXyImg(o);
|
|
|
+ FsPrescribe fsPrescribe = new FsPrescribe();
|
|
|
+ fsPrescribe.setPrescribeImgUrl(s);
|
|
|
+ fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
+ fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
+ return s;
|
|
|
+ }else if (f.getPrescribeType()==2){
|
|
|
|
|
|
- // 设置字段值
|
|
|
- PrescribeZyImgParam o = new PrescribeZyImgParam();
|
|
|
- o.setTime(f.getCreateTime());
|
|
|
-
|
|
|
- o.setPrescribeId(f.getPrescribeCode());
|
|
|
- o.setPatientName(f.getPatientName());
|
|
|
- o.setPatientGender(f.getPatientGender());
|
|
|
- o.setPatientAge(f.getPatientAge());
|
|
|
- o.setPatientTel(f.getPatientTel());
|
|
|
- o.setPrescribeDoctorName(f.getPrescribeDoctorName());
|
|
|
- o.setUserName(fsStoreOrder.getUserName()); //发货地址
|
|
|
- o.setUserPhone(fsStoreOrder.getUserPhone()); //收货人手机
|
|
|
- o.setUserAddress(fsStoreOrder.getUserAddress()); //收货地址
|
|
|
- o.setDiagnose(f.getDiagnose());
|
|
|
- o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
|
|
|
- o.setEat(usage.getUsageMethod());
|
|
|
- o.setUsageFrequencyUnit(usage.getUsageFrequencyUnit());
|
|
|
- o.setRemark(usage.getRemark());
|
|
|
- o.setDoctorName(f.getDoctorName());
|
|
|
- o.setCheck(f.getDoctorDrugName());
|
|
|
- if (usage.getCounts()!=null){
|
|
|
- o.setSize(usage.getCounts().toString());
|
|
|
- }
|
|
|
- o.setUrl(f.getPrescribeDoctorSignUrl());
|
|
|
- o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
- o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
|
- String s = getFsPrescribeZyImg(o);
|
|
|
- FsPrescribe fsPrescribe = new FsPrescribe();
|
|
|
- fsPrescribe.setPrescribeImgUrl(s);
|
|
|
- fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
- fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
- return s;
|
|
|
+ FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
|
|
|
+
|
|
|
+ // 设置字段值
|
|
|
+ PrescribeZyImgParam o = new PrescribeZyImgParam();
|
|
|
+ o.setTime(f.getCreateTime());
|
|
|
+
|
|
|
+ o.setPrescribeId(f.getPrescribeCode());
|
|
|
+ o.setPatientName(f.getPatientName());
|
|
|
+ o.setPatientGender(f.getPatientGender());
|
|
|
+ o.setPatientAge(f.getPatientAge());
|
|
|
+ o.setPatientTel(f.getPatientTel());
|
|
|
+ o.setPrescribeDoctorName(f.getPrescribeDoctorName());
|
|
|
+ o.setUserName(fsStoreOrder.getUserName()); //发货地址
|
|
|
+ o.setUserPhone(fsStoreOrder.getUserPhone()); //收货人手机
|
|
|
+ o.setUserAddress(fsStoreOrder.getUserAddress()); //收货地址
|
|
|
+ o.setDiagnose(f.getDiagnose());
|
|
|
+ o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
|
|
|
+ o.setEat(usage.getUsageMethod());
|
|
|
+ o.setUsageFrequencyUnit(usage.getUsageFrequencyUnit());
|
|
|
+ o.setRemark(usage.getRemark());
|
|
|
+ o.setDoctorName(f.getDoctorName());
|
|
|
+ o.setCheck(f.getDoctorDrugName());
|
|
|
+ if (usage.getCounts()!=null){
|
|
|
+ o.setSize(usage.getCounts().toString());
|
|
|
}
|
|
|
+ o.setUrl(f.getPrescribeDoctorSignUrl());
|
|
|
+ o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
|
|
|
+ o.setTotalPrice(fsStoreOrder.getPayPrice());
|
|
|
+ String s = getFsPrescribeZyImg(o);
|
|
|
+ FsPrescribe fsPrescribe = new FsPrescribe();
|
|
|
+ fsPrescribe.setPrescribeImgUrl(s);
|
|
|
+ fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
+ fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
+ return s;
|
|
|
}
|
|
|
return f.getPrescribeImgUrl();
|
|
|
}
|
|
@@ -935,12 +928,6 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
log.error("生成处方订单和处方图片失败!参数: {}",param,e);
|
|
|
}
|
|
|
|
|
|
- try{
|
|
|
- sendImMsg(fsPrescribeService, fsPrescribe.getPrescribeId());
|
|
|
- }catch (Exception e) {
|
|
|
- log.error("发送IM失败 {}",fsPrescribe,e);
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -995,6 +982,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
|
|
|
// 已生成
|
|
|
fsPrescribe.setStoreOrderPaid(2);
|
|
|
+ fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
log.info("处方单号: {} 图片生成成功", prescribeId);
|
|
|
} catch (Exception e) {
|
|
|
log.error("处方单号: {} 图片生成失败, 错误信息: {}", prescribeId, e.getMessage(), e);
|
|
@@ -1036,6 +1024,14 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
throw e;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ try{
|
|
|
+ // 发送IM
|
|
|
+ sendImMsg(fsPrescribeService, param.getPrescribeId());
|
|
|
+ }catch (Exception e) {
|
|
|
+ log.error("发送IM失败 {}",param,e);
|
|
|
+ }
|
|
|
+
|
|
|
log.info("完成生成订单和处方单,处方单ID: {}", param.getPrescribeId());
|
|
|
}
|
|
|
|