huangzhiguo 1 year ago
parent
commit
af5240439d

+ 12 - 1
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -79,7 +79,18 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
             String no = "";
             String no = "";
             if ("1".equals(bean.getReceiptType()) || "3".equals(bean.getReceiptType()) || "5".equals(bean.getReceiptType())) {
             if ("1".equals(bean.getReceiptType()) || "3".equals(bean.getReceiptType()) || "5".equals(bean.getReceiptType())) {
                 List<Map<String, Object>> orderIDs = cmDiscernReceiptDao.getShopOrderIDStr(bean.getId());
                 List<Map<String, Object>> orderIDs = cmDiscernReceiptDao.getShopOrderIDStr(bean.getId());
-                if (orderIDs.size()<=0 || (orderIDs != null && null == orderIDs.get(0).get("shopOrderId"))) {
+                boolean flag = false;
+                boolean mapFlag = false;
+                if (orderIDs == null || orderIDs.size()<=0) {
+                    flag = true;
+                }
+                for (Map<String, Object> m : orderIDs){
+                    mapFlag = ObjectUtils.isEmpty(m);
+                }
+                if (!mapFlag && orderIDs != null && orderIDs.size()>0 && null == orderIDs.get(0).get("shopOrderId")) {
+                    flag = true;
+                }
+                if (flag) {
                     orderIDs = cmDiscernReceiptDao.getOrderIDStr(bean.getId());
                     orderIDs = cmDiscernReceiptDao.getOrderIDStr(bean.getId());
                 }
                 }
                 for (Map<String, Object> map : orderIDs) {
                 for (Map<String, Object> map : orderIDs) {

+ 1 - 1
src/main/resources/mappings/modules/order/CmDiscernReceiptMapper.xml

@@ -819,7 +819,7 @@
             cso.orderId AS orderID,
             cso.orderId AS orderID,
             (case when cror.relationType = '1'
             (case when cror.relationType = '1'
                       then (select b.orderType from cm_shop_order b where cso.shopOrderID =  b.shopOrderID)
                       then (select b.orderType from cm_shop_order b where cso.shopOrderID =  b.shopOrderID)
-                  else (select  c.orderType from cm_order c where cou.orderID = c.orderID)
+                  else (select  c.orderType from cm_order c where cso.orderID = c.orderID)
                 end) AS orderType
                 end) AS orderType
         FROM cm_receipt_order_relation cror
         FROM cm_receipt_order_relation cror
                  LEFT JOIN cm_shop_order cso ON cror.shopOrderId = cso.shopOrderID
                  LEFT JOIN cm_shop_order cso ON cror.shopOrderId = cso.shopOrderID