zx 1 mês atrás
pai
commit
cc17910623

+ 27 - 25
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -475,34 +475,38 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
             return R.error("非法用户操作");
         }
         FsPatient patient=null;
-        if(param.getPatientId()!=null){
-            patient=fsPatientMapper.selectFsPatientByPatientId(param.getPatientId());
-        }else {
-            return R.error("请提交患者信息");
-        }
-        logger.info("用户{}创建套餐订单,套餐id{},患者id{}",param.getUserId(),param.getPackageId(),param.getPatientId());
-
+        FsDoctor doctor=null;
         FsPackage fsPackage=fsPackageMapper.selectFsPackageByPackageId(param.getPackageId());
-        logger.info("是否是中药或者西药{},{}",fsPackage.getProductType(),fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2);
-        if (fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2) {
-            if (StringUtils.isEmpty(patient.getIdCard())) {
-                return R.error("请完善患者身份证信息");
+        if(fsPackage.getProductType()==1 || fsPackage.getProductType()==2){
+            if(param.getPatientId()!=null){
+                patient=fsPatientMapper.selectFsPatientByPatientId(param.getPatientId());
+                if (patient==null){
+                    return R.error("请提交患者信息");
+                }
+            }else {
+                return R.error("请提交患者信息");
+            }
+            logger.info("是否是中药或者西药{},{}",fsPackage.getProductType(),fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2);
+            if (fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2) {
+                if (StringUtils.isEmpty(patient.getIdCard())) {
+                    return R.error("请完善患者身份证信息");
+                }
+            }
+
+            if(param.getDoctorId()!=null){
+                doctor=doctorMapper.selectFsDoctorByDoctorId(param.getDoctorId());
+                if(doctor==null||doctor.getStatus().equals(0)){
+                    return R.error("此医生已停用");
+                }
+                Integer orderCount=inquiryOrderMapper.checkAcceptOrder(param.getDoctorId(),param.getUserId());
+                if(orderCount>0){
+                    return R.error("您正在咨询此医生,请先结束当前订单");
+                }
             }
         }
         if(fsPackage.getStatus().equals(0)){
             return R.error("套餐名已下架");
         }
-        FsDoctor doctor=null;
-        if(param.getDoctorId()!=null){
-            doctor=doctorMapper.selectFsDoctorByDoctorId(param.getDoctorId());
-            if(doctor==null||doctor.getStatus().equals(0)){
-                return R.error("此医生已停用");
-            }
-            Integer orderCount=inquiryOrderMapper.checkAcceptOrder(param.getDoctorId(),param.getUserId());
-            if(orderCount>0){
-                return R.error("您正在咨询此医生,请先结束当前订单");
-            }
-        }
         //私域下套餐包(可覆盖医生信息 使用销售绑定的医生信息)
         if (fsPackage.getIsShow()==0){
             if (param.getCompanyId()==null||param.getCompanyUserId()==null){
@@ -527,9 +531,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                 return R.error("超过限购次数");
             }
         }
-        if (patient==null){
-            return R.error("请提交患者信息");
-        }
+
         FsPackageOrder  order=new FsPackageOrder();
         String orderSn =  OrderCodeUtils.getOrderSn();
         if(StringUtils.isEmpty(orderSn)){

+ 22 - 13
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -665,10 +665,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
     @Override
     public R createOrderByPackageOrder(FsPackageOrder packageOrder) {
         logger.info("111111111111111");
-        if (packageOrder.getDoctorId() == null) {
-            Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
-            packageOrder.setDoctorId(doctorID);
-        }
+
         logger.info("2222222222222");
         FsPackage fsPackage = fsPackageMapper.selectFsPackageByPackageId(packageOrder.getPackageId());
         JSONArray objects = JSONUtil.parseArray(fsPackage.getProductJson());
@@ -677,19 +674,28 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         Map<String, Object> packageJson = (Map) JSON.parse(packageOrder.getPackageJson());
         logger.info("55555555555555555555");
         Integer packageSubType = (Integer) packageJson.get("packageSubType");
-        if (packageSubType == 3) {
-            inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
-        }
-        logger.info("4444444444444444444");
-        Long prescribeId = fsPrescribeService.insertFsPrescribeByPackageOrder(packageOrder);
-        logger.info("66666666666666666");
+        Integer productType = (Integer) packageJson.get("productType");
         FsStoreOrder order = new FsStoreOrder();
+        Long prescribeId =null;
+        if (productType==1 || packageSubType==2){
+            if (packageOrder.getDoctorId() == null) {
+                Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
+                packageOrder.setDoctorId(doctorID);
+            }
+            if (packageSubType == 3 ) {
+                inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
+            }
+            prescribeId = fsPrescribeService.insertFsPrescribeByPackageOrder(packageOrder);
+            order.setPrescribeId(prescribeId);
+        }
+
+
         List<FsStoreOrderItem> items = new ArrayList<>();
         log.info("套餐包生成药品订单:{}", packageOrder.getOrderSn());
         order.setOrderCode(packageOrder.getOrderSn());
         order.setUserId(packageOrder.getUserId());
         order.setStoreId(fsPackage.getStoreId());
-        order.setPrescribeId(prescribeId);
+
         order.setStatus(2);
         order.setPayDelivery(packageOrder.getPayDelivery());
         order.setPayRemain(packageOrder.getPayRemain());
@@ -1880,8 +1886,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         erpOrder.setReceiver_address(erpOrder.getReceiver_address().replace("\n", ""));
 
         // 处方图片生成
-        String s = fsPrescribeService.PrescribeImg(order.getPrescribeId());
-        erpOrder.setSeller_memo(erpOrder.getSeller_memo() + "||" + s + "||");
+        String PrescribeImg=null;
+        if (order.getPrescribeId()!=null){
+            PrescribeImg = fsPrescribeService.PrescribeImg(order.getPrescribeId());
+        }
+        erpOrder.setSeller_memo(erpOrder.getSeller_memo() + "||" + PrescribeImg + "||");
         ErpOrderResponse response = erpOrderService.addOrder(erpOrder);
         log.info("ErpCreate:" + order.getOrderCode() + ":" + JSONUtil.toJsonStr(response));
         if (Boolean.TRUE.equals(response.getSuccess())) {