LIJU 2 hafta önce
ebeveyn
işleme
e31cbf57c2

+ 11 - 5
src/main/java/cn/hnthyy/thmz/controller/mz/MzPharmacyController.java

@@ -302,22 +302,28 @@ public class MzPharmacyController {
         User tokenUser = TokenUtil.getUser(httpServletRequest);
         Map<String, Object> resultMap = new HashMap<>();
         try {
-            if (mzRefundMedicineVos == null && mzRefundMedicineVos.size() < 1) {
+            if (mzRefundMedicineVos == null || mzRefundMedicineVos.size() < 1) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "退药处理失败,参数为空");
                 return resultMap;
             }
             resultMap = mzPharmacyService.refundMedicineProcessing(mzRefundMedicineVos, tokenUser.getUserIdCode());
 
-            //将药品追溯码数据转移到退药表
-            mzDrugTracCodgService.changeDrugCodgDataToTy(mzRefundMedicineVos);
+            //将药品追溯码数据转移到退药表 - 单独处理,不影响退药主流程
+            try {
+                mzDrugTracCodgService.changeDrugCodgDataToTy(mzRefundMedicineVos);
+                log.info("追溯码转移成功,退药处理完成");
+            } catch (Exception e) {
+                log.error("追溯码转移失败,但不影响退药处理,错误信息:{}", e.getMessage(), e);
+                // 追溯码转移失败不影响退药主流程,只记录日志
+            }
 
             return resultMap;
         } catch (Exception e) {
             e.printStackTrace();
-            log.error("退药处理失败,错误信息{}", e.getMessage());
+            log.error("退药处理失败,错误信息{}", e.getMessage(), e);
             resultMap.put("code", -1);
-            resultMap.put("message", "退药处理失败");
+            resultMap.put("message", "退药处理失败" + e.getMessage());
             return resultMap;
         }
     }