|
@@ -3,32 +3,35 @@ package com.fs.store.service.impl;
|
|
|
import java.awt.*;
|
|
|
import java.awt.image.BufferedImage;
|
|
|
import java.io.*;
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.net.URL;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
-import cn.hutool.json.JSONUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fs.common.config.FSSysConfig;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.exception.CustomException;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.OrderUtils;
|
|
|
+import com.fs.common.utils.ParseUtils;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
|
-import com.fs.store.bean.DrugV2;
|
|
|
-import com.fs.store.bean.PrescribeV2;
|
|
|
import com.fs.store.domain.*;
|
|
|
-import com.fs.store.dto.FsPrescribeUsageDTO;
|
|
|
-import com.fs.store.mapper.FsInquiryOrderMapper;
|
|
|
-import com.fs.store.mapper.FsPrescribeDrugMapper;
|
|
|
+import com.fs.store.dto.FsStoreCartDTO;
|
|
|
+import com.fs.store.dto.MedicalRecordDTO;
|
|
|
import com.fs.store.param.*;
|
|
|
import com.fs.store.service.*;
|
|
|
-import com.fs.store.vo.FsInquiryOrderVO;
|
|
|
import com.fs.store.vo.FsPrescribeVO;
|
|
|
import com.fs.system.oss.CloudStorageService;
|
|
|
import com.fs.system.oss.OSSFactory;
|
|
|
+import com.hc.openapi.tool.fastjson.JSON;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import net.coobird.thumbnailator.Thumbnails;
|
|
|
+import net.coobird.thumbnailator.resizers.configurations.Antialiasing;
|
|
|
+import org.apache.commons.lang.exception.ExceptionUtils;
|
|
|
+import org.apache.http.util.Asserts;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.fs.store.mapper.FsPrescribeMapper;
|
|
@@ -41,11 +44,10 @@ import javax.imageio.ImageIO;
|
|
|
* @author fs
|
|
|
* @date 2022-03-15
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
{
|
|
|
- @Autowired
|
|
|
- private IPrescribeService prescribeService;
|
|
|
@Autowired
|
|
|
private FsPrescribeMapper fsPrescribeMapper;
|
|
|
@Autowired
|
|
@@ -53,19 +55,11 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
@Autowired
|
|
|
private IFsPatientService patientService;
|
|
|
@Autowired
|
|
|
- private IFsUserService userService;
|
|
|
- @Autowired
|
|
|
- private FSSysConfig fsSysConfig;
|
|
|
+ private MedicalRecordService medicalRecordService;
|
|
|
@Autowired
|
|
|
- private IFsStoreOrderItemService orderItemService;
|
|
|
- @Autowired
|
|
|
- private IFsStoreProductService productService;
|
|
|
-
|
|
|
+ private IFsStoreOrderService fsStoreOrderService;
|
|
|
@Autowired
|
|
|
- private FsInquiryOrderMapper fsInquiryOrderMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private FsPrescribeDrugMapper fsPrescribeDrugMapper;
|
|
|
+ private FSSysConfig fsSysConfig;
|
|
|
/**
|
|
|
* 查询处方
|
|
|
*
|
|
@@ -141,6 +135,9 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
|
|
|
@Override
|
|
|
public R doPrescribe(long userId, FsPrescribeParam param) {
|
|
|
+ if(param.getPatientId() == null) {
|
|
|
+ throw new CustomException("患者必须选择!");
|
|
|
+ }
|
|
|
FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
|
|
|
if(order==null){
|
|
|
throw new CustomException("订单不存在");
|
|
@@ -206,107 +203,66 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String PrescribeImg(Long prescribeId) {
|
|
|
- FsPrescribeVO f = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
|
|
|
- if (f==null){
|
|
|
- return "";
|
|
|
+ public String prescribeImg(Long prescribeId) {
|
|
|
+
|
|
|
+ FsPrescribe fsPrescribe = fsPrescribeMapper.selectFsPrescribeById(prescribeId);
|
|
|
+
|
|
|
+ Asserts.notNull(fsPrescribe, String.format("该处方 %d 无法找到!",prescribeId));
|
|
|
+
|
|
|
+ Long orderId = fsPrescribe.getOrderId();
|
|
|
+
|
|
|
+ Asserts.notNull(orderId,String.format("该处方 %d 对应订单号 %d 不存在!",prescribeId,orderId));
|
|
|
+
|
|
|
+ FsStoreOrder fsStoreOrder = orderService.selectFsStoreOrderById(orderId);
|
|
|
+
|
|
|
+ Asserts.notNull(fsStoreOrder,String.format("该处方 %d 对应订单号 %d 不存在!",prescribeId,orderId));
|
|
|
+
|
|
|
+ PrescribeXyImgParam param = new PrescribeXyImgParam();
|
|
|
+
|
|
|
+ param.setPrescribeId(String.valueOf(prescribeId));
|
|
|
+
|
|
|
+ // 门诊ID号
|
|
|
+ param.setOutpatientId(String.valueOf(prescribeId));
|
|
|
+ // 科别
|
|
|
+ param.setBedId("全科");
|
|
|
+ // 过敏史
|
|
|
+ param.setHistoryAllergic(fsPrescribe.getHistoryAllergic());
|
|
|
+ // 诊断
|
|
|
+ param.setDiagnose(fsPrescribe.getDiagnose());
|
|
|
+ // 开具日期
|
|
|
+ param.setTime(new Date());
|
|
|
+ // 药品目录
|
|
|
+ String itemJson = fsStoreOrder.getItemJson();
|
|
|
+ List<FsStoreOrderItem> fsStoreCartDTOS = JSONObject.parseArray(itemJson, FsStoreOrderItem.class);
|
|
|
+ List<FsPrescribeDrug> fsPrescribeDrugList = new ArrayList<>();
|
|
|
+ for (FsStoreOrderItem item : fsStoreCartDTOS) {
|
|
|
+ FsStoreCartDTO cartDTO = JSON.parseObject(item.getJsonInfo(),FsStoreCartDTO.class);
|
|
|
+ FsPrescribeDrug fsPrescribeDrug = new FsPrescribeDrug();
|
|
|
+ fsPrescribeDrug.setDrugName(cartDTO.getProductName());
|
|
|
+
|
|
|
+ // 使⽤⽅法
|
|
|
+ fsPrescribeDrug.setUsageMethod(cartDTO.getUsageMethod());
|
|
|
+ // 药品频次
|
|
|
+ fsPrescribeDrug.setUsageFrequencyUnit(String.format("每日 %s 次",cartDTO.getFrequency()));
|
|
|
+ // 用药数量
|
|
|
+ fsPrescribeDrug.setUsagePerUseCount(String.format("每次 %s 粒/片/支",cartDTO.getDosage()));
|
|
|
+ fsPrescribeDrug.setDrugNum(Long.valueOf(item.getNum()));
|
|
|
+ fsPrescribeDrugList.add(fsPrescribeDrug);
|
|
|
}
|
|
|
- FsStoreOrder fsStoreOrder = orderService.selectFsStoreOrderById(f.getOrderId());
|
|
|
- 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 (list.size()==0){
|
|
|
- return "";
|
|
|
- }
|
|
|
- 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 (remark!=null&&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.setRpUrl(s);
|
|
|
- fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
- fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
- return s;
|
|
|
- }else if (f.getPrescribeType()==2){
|
|
|
-
|
|
|
- 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.getRealName()); //发货地址
|
|
|
- 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.setRpUrl(s);
|
|
|
- fsPrescribe.setPrescribeId(f.getPrescribeId());
|
|
|
- fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
- return s;
|
|
|
- }
|
|
|
- }
|
|
|
- return f.getPrescribeImgUrl();
|
|
|
+ param.setPrescribeDrug(fsPrescribeDrugList);
|
|
|
+
|
|
|
+ param.setPatientName(fsPrescribe.getPatientName());
|
|
|
+ param.setPatientGender(fsPrescribe.getPatientGender());
|
|
|
+ param.setPatientAge(fsPrescribe.getPatientAge());
|
|
|
+
|
|
|
+ // 医生名称
|
|
|
+ param.setDoctorName(fsPrescribe.getDoctorName());
|
|
|
+ // 订单总价
|
|
|
+ param.setTotalPrice(fsStoreOrder.getTotalPrice());
|
|
|
+ param.setAuditDoctor(fsPrescribe.getAuditDoctor());
|
|
|
+ param.setDrugDoctorUrl(fsSysConfig.getDrugDoctorSignImgUrl());
|
|
|
+ param.setUrl(fsSysConfig.getDoctorSignImgUrl());
|
|
|
+ return getFsPrescribeXyImg(param);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -362,7 +318,6 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
penDrawString(pen,o.getUsageFrequencyUnit(),135,1240);
|
|
|
penDrawString(pen,o.getRemark(),110,1288);
|
|
|
|
|
|
- // penDrawString(pen,o.getDoctorName(),152,1378);
|
|
|
if (o.getUrl()!=null){
|
|
|
try {
|
|
|
URL imageUrl = new URL(o.getUrl());
|
|
@@ -386,7 +341,6 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
throw new CustomException("获取药师签名图片失败");
|
|
|
}
|
|
|
}
|
|
|
-// penDrawString(pen,o.getCheck(),348,1378);
|
|
|
penDrawString(pen,o.getSize(),620,1378);
|
|
|
if (o.getTotalPrice()!=null){
|
|
|
penDrawString(pen,o.getTotalPrice().toString(),370,1452);
|
|
@@ -406,8 +360,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
|
|
|
@Override
|
|
|
public String getFsPrescribeXyImg(PrescribeXyImgParam o) {
|
|
|
- // File mb = new File(System.getProperty("user.dir")+"\\xycf.jpg");
|
|
|
- File mb = new File("C:\\fs\\xycf.jpg");
|
|
|
+ File mb = new File(fsSysConfig.getPrescribeTemplateImgPath());
|
|
|
if (!mb.exists()) {
|
|
|
// 创建目录
|
|
|
throw new CustomException("模板文件不存在");
|
|
@@ -443,12 +396,9 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
penDrawString(pen,new SimpleDateFormat("yyyy-MM-dd").format(o.getTime()),400,257);
|
|
|
List<FsPrescribeDrug> Drug = o.getPrescribeDrug();
|
|
|
int size=Drug.size();
|
|
|
-// BigDecimal price=BigDecimal.valueOf(0);
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
FsPrescribeDrug d = Drug.get(i);
|
|
|
String drugName = d.getDrugName();
|
|
|
- BigDecimal drugPrice = d.getDrugPrice().multiply(BigDecimal.valueOf(d.getDrugNum()));
|
|
|
-// price= price.add(drugPrice);
|
|
|
if (drugName.length()>30){
|
|
|
drugName = drugName.substring(0, 30)+"...";
|
|
|
}
|
|
@@ -467,10 +417,13 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
penDrawString(pen,o.getRemark(),62,651);
|
|
|
if (o.getUrl()!=null){
|
|
|
try {
|
|
|
- URL imageUrl = new URL(o.getUrl());
|
|
|
- pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
|
|
|
- BufferedImage img = ImageIO.read(imageUrl);
|
|
|
- pen.drawImage(img, 65, 688, 88, 40, null);
|
|
|
+ URL imageUrl = new URL(o.getUrl());
|
|
|
+ BufferedImage scaledImg = Thumbnails.of(imageUrl)
|
|
|
+ .size(120, 55)
|
|
|
+ .outputQuality(1.0)
|
|
|
+ .antialiasing(Antialiasing.ON)
|
|
|
+ .asBufferedImage();
|
|
|
+ pen.drawImage(scaledImg, 65, 688, null);
|
|
|
} catch (Exception e) {
|
|
|
throw new CustomException("获取签名图片失败");
|
|
|
}
|
|
@@ -482,9 +435,13 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
if (o.getDrugDoctorUrl()!=null){
|
|
|
try {
|
|
|
URL imageUrl = new URL(o.getDrugDoctorUrl());
|
|
|
- BufferedImage img = ImageIO.read(imageUrl);
|
|
|
- pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
|
|
|
- pen.drawImage(img, 90, 730, 88, 40, null);
|
|
|
+ BufferedImage scaledImg = Thumbnails.of(imageUrl)
|
|
|
+ .size(120, 55)
|
|
|
+ .outputQuality(1.0)
|
|
|
+ .antialiasing(Antialiasing.ON)
|
|
|
+ .asBufferedImage();
|
|
|
+
|
|
|
+ pen.drawImage(scaledImg, 90, 730, null);
|
|
|
} catch (Exception e) {
|
|
|
throw new CustomException("获取药师签名图片失败");
|
|
|
}
|
|
@@ -501,8 +458,97 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
|
|
|
}
|
|
|
InputStream inputStream = new ByteArrayInputStream(os.toByteArray());
|
|
|
CloudStorageService storage = OSSFactory.build();
|
|
|
- String url = storage.uploadSuffix(inputStream, ".jpg");
|
|
|
- return url;
|
|
|
+ return storage.uploadSuffix(inputStream, ".jpg");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void generateDealImg() {
|
|
|
+ // 获取待处理数据
|
|
|
+ List<FsPrescribe> list = fsPrescribeMapper.selectPenddingData();
|
|
|
+ for (FsPrescribe fsPrescribe : list) {
|
|
|
+ String rpUrl = null;
|
|
|
+ try{
|
|
|
+ rpUrl = this.prescribeImg(fsPrescribe.getPrescribeId());
|
|
|
+ }catch (Exception e) {
|
|
|
+ log.error("生成处方失败!原因:{}",e.getMessage(),e);
|
|
|
+ fsPrescribe.setFailMsg(ExceptionUtils.getFullStackTrace(e));
|
|
|
+ }
|
|
|
+ // 生成处方图片
|
|
|
+ log.info("rpUrl: {}",rpUrl);
|
|
|
+
|
|
|
+ fsPrescribe.setRpUrl(rpUrl);
|
|
|
+ // 生成病历图片
|
|
|
+ MedicalRecordDTO medicalRecordDTO = new MedicalRecordDTO();
|
|
|
+ medicalRecordDTO.setVisitDate(new Date());
|
|
|
+ medicalRecordDTO.setOutpatientNo(String.valueOf(fsPrescribe.getPrescribeId()));
|
|
|
+ medicalRecordDTO.setDepartment("全科");
|
|
|
+ medicalRecordDTO.setPaymentType("自费缴费");
|
|
|
+
|
|
|
+ medicalRecordDTO.setPatientName(fsPrescribe.getPatientName());
|
|
|
+ if(StringUtils.isNotBlank(fsPrescribe.getPatientGender())){
|
|
|
+ if("1".equals(fsPrescribe.getPatientGender())){
|
|
|
+ medicalRecordDTO.setGender("男");
|
|
|
+ } else {
|
|
|
+ medicalRecordDTO.setGender("女");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ medicalRecordDTO.setAge(Integer.valueOf(fsPrescribe.getPatientAge()));
|
|
|
+ medicalRecordDTO.setHeight("-");
|
|
|
+ medicalRecordDTO.setWeight("-");
|
|
|
+
|
|
|
+ FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderById(fsPrescribe.getOrderId());
|
|
|
+ if(ObjectUtil.isNotNull(fsStoreOrder)) {
|
|
|
+ medicalRecordDTO.setAddress(ParseUtils.parseAddress(fsStoreOrder.getUserAddress()));
|
|
|
+ medicalRecordDTO.setPhone(ParseUtils.parsePhone(fsStoreOrder.getUserPhone()));
|
|
|
+
|
|
|
+ // 药品目录
|
|
|
+ String itemJson = fsStoreOrder.getItemJson();
|
|
|
+ List<FsStoreOrderItem> fsStoreCartDTOS = JSONObject.parseArray(itemJson, FsStoreOrderItem.class);
|
|
|
+ List<FsPrescribeDrug> fsPrescribeDrugList = new ArrayList<>();
|
|
|
+ StringBuilder prescription = new StringBuilder();
|
|
|
+
|
|
|
+ int i=1;
|
|
|
+ prescription.append("\n");
|
|
|
+ for (FsStoreOrderItem item : fsStoreCartDTOS) {
|
|
|
+ FsStoreCartDTO cartDTO = JSON.parseObject(item.getJsonInfo(),FsStoreCartDTO.class);
|
|
|
+
|
|
|
+ prescription.append(i++).append(".").append(cartDTO.getProductName())
|
|
|
+ .append("\t\t\t").append(item.getNum())
|
|
|
+ .append("\n")
|
|
|
+ .append("Sig:\t\t\t").append(cartDTO.getUsageMethod())
|
|
|
+ .append("\t").append(String.format("每日 %s 次",cartDTO.getFrequency()))
|
|
|
+ .append("\t").append(String.format("每次 %s 粒/片/支",cartDTO.getDosage()))
|
|
|
+ .append("\n");
|
|
|
+ }
|
|
|
+ medicalRecordDTO.setPrescription(prescription.toString());
|
|
|
+ medicalRecordDTO.setDrugList(fsPrescribeDrugList);
|
|
|
+ }
|
|
|
+
|
|
|
+ medicalRecordDTO.setChiefComplaint(fsPrescribe.getChiefComplaint());
|
|
|
+ medicalRecordDTO.setPresentIllness(fsPrescribe.getNowIllness());
|
|
|
+ medicalRecordDTO.setPastHistory(fsPrescribe.getHistoryIllness());
|
|
|
+ medicalRecordDTO.setAllergyHistory(fsPrescribe.getHistoryAllergic());
|
|
|
+
|
|
|
+ medicalRecordDTO.setVitalSigns("");
|
|
|
+ medicalRecordDTO.setAuxiliaryExam("");
|
|
|
+ medicalRecordDTO.setDiagnosis(fsPrescribe.getDiagnose());
|
|
|
+ medicalRecordDTO.setMedicalAdvice("请遵照医嘱用药,如有不适,请及时就医!");
|
|
|
+ medicalRecordDTO.setTreatmentPlan("");
|
|
|
+ medicalRecordDTO.setHealthEducation("");
|
|
|
+ String medicalUrl = null;
|
|
|
+ try{
|
|
|
+
|
|
|
+
|
|
|
+ medicalUrl = medicalRecordService.generateMedicalRecord(medicalRecordDTO);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("生成病历单图片失败!原因:{}",e.getMessage(),e);
|
|
|
+ fsPrescribe.setFailMsg(fsPrescribe.getFailMsg()+"\n"+ ExceptionUtils.getFullStackTrace(e));
|
|
|
+ }
|
|
|
+
|
|
|
+ fsPrescribe.setMedicalRecordUrl(medicalUrl);
|
|
|
+ fsPrescribe.setGenerateStatus(2);
|
|
|
+ fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void penDrawString( Graphics2D pen,String value,int x,int y){
|