|
@@ -48,6 +48,8 @@ import com.uas.platform.b2b.service.PurchaseOrderService;
|
|
|
import com.uas.platform.b2b.support.SPageUtils;
|
|
import com.uas.platform.b2b.support.SPageUtils;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.b2b.support.XingePusher;
|
|
import com.uas.platform.b2b.support.XingePusher;
|
|
|
|
|
+import com.uas.platform.b2b.support.mq.RabbitSendService;
|
|
|
|
|
+import com.uas.platform.b2b.support.mq.config.RabbitMqConfig;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
import com.uas.platform.core.exception.NotFoundException;
|
|
import com.uas.platform.core.exception.NotFoundException;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
import com.uas.platform.core.model.Constant;
|
|
@@ -64,6 +66,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.JoinType;
|
|
import javax.persistence.criteria.JoinType;
|
|
@@ -134,6 +137,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private OrderRedDotService redDotService;
|
|
private OrderRedDotService redDotService;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private RabbitSendService rabbitSendService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void save(List<PurcOrderInfoItem> orderItems) {
|
|
public void save(List<PurcOrderInfoItem> orderItems) {
|
|
|
orderItems = purcOrderInfoItemDao.save(orderItems);
|
|
orderItems = purcOrderInfoItemDao.save(orderItems);
|
|
@@ -158,6 +164,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
personalProductService.covertPersonalProduct(item.getProductId(), "erp上传采购单");
|
|
personalProductService.covertPersonalProduct(item.getProductId(), "erp上传采购单");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ // 发送上传SAAS的消息队列消息
|
|
|
|
|
+ rabbitSendService.sendMessage(RabbitMqConfig.QUEUE_SAAS_SALE_DOWN_NAME, "POST_SALE_ORDER", orderAll.getId());
|
|
|
}
|
|
}
|
|
|
Set<OrderRedDotAll> redDotAllSet = new HashSet<>();
|
|
Set<OrderRedDotAll> redDotAllSet = new HashSet<>();
|
|
|
orderAlls.forEach(orderInfo -> {
|
|
orderAlls.forEach(orderInfo -> {
|
|
@@ -288,6 +296,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
private PurchaseOrder updateOrderStatus(long orderId) {
|
|
private PurchaseOrder updateOrderStatus(long orderId) {
|
|
|
int notReply = purchaseOrderItemDao.getCountByStatus(orderId, (short) Status.NOT_REPLY.value());
|
|
int notReply = purchaseOrderItemDao.getCountByStatus(orderId, (short) Status.NOT_REPLY.value());
|
|
|
PurchaseOrder order = purchaseOrderDao.findOne(orderId);
|
|
PurchaseOrder order = purchaseOrderDao.findOne(orderId);
|
|
|
|
|
+ // 原有结案状态
|
|
|
|
|
+ Short oldEndStatus = order.getEnd();
|
|
|
if (order.getDisplay() == 1) {
|
|
if (order.getDisplay() == 1) {
|
|
|
// 设置查看状态为已查看
|
|
// 设置查看状态为已查看
|
|
|
order.setDisplay(Constant.NO);
|
|
order.setDisplay(Constant.NO);
|
|
@@ -305,6 +315,11 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
order.setEnd(Constant.NO);
|
|
order.setEnd(Constant.NO);
|
|
|
}
|
|
}
|
|
|
order = purchaseOrderDao.save(order);
|
|
order = purchaseOrderDao.save(order);
|
|
|
|
|
+ // 如果新的结案状态与原有结案状态不一致
|
|
|
|
|
+ if (!order.getEnd().equals(oldEndStatus)) {
|
|
|
|
|
+ // 生成上传采购订单结案状态到SAAS的消息队列消息
|
|
|
|
|
+ rabbitSendService.sendMessage(RabbitMqConfig.QUEUE_SAAS_SALE_DOWN_NAME, "POST_SALE_ORDER_END", orderId);
|
|
|
|
|
+ }
|
|
|
return order;
|
|
return order;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -468,13 +483,14 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void saveItems(List<PurchaseOrderItem> items) {
|
|
public void saveItems(List<PurchaseOrderItem> items) {
|
|
|
- purchaseOrderItemDao.save(items);
|
|
|
|
|
|
|
+ items = purchaseOrderItemDao.save(items);
|
|
|
List<PurchaseOrderItem> eventItems = new ArrayList<>();
|
|
List<PurchaseOrderItem> eventItems = new ArrayList<>();
|
|
|
for (PurchaseOrderItem item : items) {
|
|
for (PurchaseOrderItem item : items) {
|
|
|
if (NumberUtil.nvl(item.getAcceptQty(), 0).doubleValue() < item.getQty() + NumberUtil.nvl(item.getReturnQty(), 0).doubleValue()) {
|
|
if (NumberUtil.nvl(item.getAcceptQty(), 0).doubleValue() < item.getQty() + NumberUtil.nvl(item.getReturnQty(), 0).doubleValue()) {
|
|
|
eventItems.add(item);
|
|
eventItems.add(item);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
ContextUtils.publishEvent(new PurchaseOrderEndReleaseEvent(PurchaseOrderItem.distinctItem(eventItems)));
|
|
ContextUtils.publishEvent(new PurchaseOrderEndReleaseEvent(PurchaseOrderItem.distinctItem(eventItems)));
|
|
|
for (PurchaseOrderItem item : items)
|
|
for (PurchaseOrderItem item : items)
|
|
|
// 明细结案情况下,明细状态为已回复(即不再处理),此时同时修改主记录状态
|
|
// 明细结案情况下,明细状态为已回复(即不再处理),此时同时修改主记录状态
|