Explorar o código

feat:日志调整

Hu Jie %!s(int64=7) %!d(string=hai) anos
pai
achega
06de90c259

+ 13 - 5
src/main/java/com/uas/platform/b2b/event/SaleSendAgentListener.java

@@ -41,12 +41,20 @@ public class SaleSendAgentListener implements ApplicationListener<SaleSendAgentE
 //        } catch (Exception e) {
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //            e.printStackTrace();
 //        }
 //        }
-        LOGGER.info(String.format("代采订单开始发货,客户送货提醒id:%s,送货提醒id:%s", notice.getSaleNoticeId(), notice.getId()));
-        SaleSend send = saleSendService.send(notice, saleSend);
-        if (!StringUtils.isEmpty(send)) {
-            LOGGER.info(String.format("代采订单发货成功,客户送货提醒id:%s,送货提醒id:%s", notice.getSaleNoticeId(), notice.getId()));
+        if (StringUtils.isEmpty(notice.getId())) {
+            SaleSend send = saleSendService.sendBatch(saleSend);
+            if (!StringUtils.isEmpty(send)) {
+                LOGGER.info(String.format("代采订单批量发货成功,送货单id:%s", saleSend.getId()));
+            } else {
+                LOGGER.error(String.format("代采订单批量发货失败,送货单id:%s", saleSend.getId()));
+            }
         } else {
         } else {
-            LOGGER.error(String.format("代采订单发货失败,客户送货提醒id:%s,送货提醒id:%s", notice.getSaleNoticeId(), notice.getId()));
+            SaleSend send = saleSendService.send(notice, saleSend);
+            if (!StringUtils.isEmpty(send)) {
+                LOGGER.info(String.format("代采订单发货成功,客户送货提醒id:%s,送货提醒id:%s", notice.getSaleNoticeId(), notice.getId()));
+            } else {
+                LOGGER.error(String.format("代采订单发货失败,客户送货提醒id:%s,送货提醒id:%s", notice.getSaleNoticeId(), notice.getId()));
+            }
         }
         }
     }
     }
 }
 }

+ 8 - 1
src/main/java/com/uas/platform/b2b/service/SaleSendAgentService.java

@@ -11,9 +11,16 @@ public interface SaleSendAgentService {
 
 
     /**
     /**
      * 代采订单发货
      * 代采订单发货
-     * @param purchaseNotice 发货提醒
+     * @param notice 发货提醒
      * @param saleSend 发货单
      * @param saleSend 发货单
      * @return 送货单
      * @return 送货单
      */
      */
     SaleSend send(PurchaseNotice notice, SaleSend saleSend);
     SaleSend send(PurchaseNotice notice, SaleSend saleSend);
+
+    /**
+     * 代采订单发货批量
+     * @param saleSend 发货单
+     * @return 送货单
+     */
+    SaleSend sendBatch(SaleSend saleSend);
 }
 }

+ 3 - 5
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -474,11 +474,9 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
             SaleSend send = new SaleSend();
             SaleSend send = new SaleSend();
             BeanUtils.copyProperties(sendItems.get(0).getSend(), send);
             BeanUtils.copyProperties(sendItems.get(0).getSend(), send);
 			for (SaleSendItem sendItem : sendItems) {
 			for (SaleSendItem sendItem : sendItems) {
-				Long noticeId = sendItem.getNoticeId();
-				for (PurchaseNotice notice : noticeList) {
-					if (notice.getId().equals(noticeId) && !StringUtils.isEmpty(notice.getOrderItem().getCustPurchaseCode())) {
-						ContextUtils.publishEvent(new SaleSendAgentEvent(notice, sendItems.get(0).getSend()));
-					}
+				if (!StringUtils.isEmpty(sendItem.getNotice().getSaleNoticeId())) {
+					ContextUtils.publishEvent(new SaleSendAgentEvent(new PurchaseNotice(), sendItems.get(0).getSend()));
+					break;
 				}
 				}
 			}
 			}
 			if (!CollectionUtils.isEmpty(sendItems)) {
 			if (!CollectionUtils.isEmpty(sendItems)) {

+ 63 - 0
src/main/java/com/uas/platform/b2b/service/impl/SaleSendAgentServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
 import java.util.Date;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -98,4 +99,66 @@ public class SaleSendAgentServiceImpl implements SaleSendAgentService {
             throw new IllegalOperatorException("请对有效的送货提醒发货!");
             throw new IllegalOperatorException("请对有效的送货提醒发货!");
         }
         }
     }
     }
+
+    /**
+     * 代采订单发货批量
+     * @param saleSend 发货单
+     * @return 送货单
+     */
+    @Override
+    public SaleSend sendBatch(SaleSend saleSend) {
+        SaleSend send = saleSend;
+        short number = 0;
+        boolean setSend = false;
+        Iterator<SaleSendItem> iterator = send.getSendItems().iterator();
+        while (iterator.hasNext()) {
+            SaleSendItem next = iterator.next();
+            if (StringUtils.isEmpty(next.getNotice().getSaleNoticeId())) {
+                iterator.remove();
+            }
+        }
+        for (SaleSendItem item : send.getSendItems()) {
+            if (!StringUtils.isEmpty(item.getNotice().getSaleNoticeId())) {
+                PurchaseNotice purchaseNotice = purchaseNoticeDao.findOne(item.getNoticeId());
+                PurchaseNotice notice = purchaseNoticeDao.findOne(item.getNotice().getSaleNoticeId());
+                item.setId(null);
+                item.setNoticeId(notice.getId());
+                item.setNotice(notice);
+                item.setNumber(++number);
+                item.setOrderItem(notice.getOrderItem());
+                item.setOrderItemId(notice.getOrderItem().getId());
+                item.setPrice(notice.getOrderItem().getPrice());
+                item.setSend(send);
+                if (!setSend) {
+                    PurchaseOrder order = notice.getOrderItem().getOrder();
+                    send.setCurrency(order.getCurrency());
+                    send.setBackStatus((short) Status.NOT_UPLOAD.value());
+                    send.setSendStatus((short) Status.NOT_UPLOAD.value());
+                    // 未收料
+                    send.setVerifystatus(Constant.NO);
+                    send.setCustUU(notice.getEnUU());
+                    send.setCustUserUU(order.getUserUU());
+                    send.setDate(new Date());
+                    send.setEnUU(order.getVendUU());
+                    send.setPayments(order.getPayments());
+                    send.setRate(order.getRate());
+                    send.setRecorder(saleSend.getRecorder());
+                    send.setId(null);
+                    ModelMap map = tokenService.getToken("salenotice", notice.getEnUU());
+                    String token = (String) map.get("token");
+                    send.setUuid(token);
+                    setSend = true;
+                }
+                notice.setEndQty(purchaseNotice.getEndQty());
+                notice.setStatus(purchaseNotice.getStatus());
+                purchaseNoticeDao.save(notice);
+            } else {
+                LOGGER.error(String.format("代采订单发货失败,客户送货提醒id:%s,送货提醒id:%s", "空",
+                        item.getNoticeId()));
+                throw new IllegalOperatorException("请对有效的送货提醒发货!");
+            }
+        }
+        List<SaleSendItem> sendItems = saleSendItemDao.save(send.getSendItems());
+        return sendItems.get(0).getSend();
+    }
 }
 }