|
|
@@ -1732,10 +1732,26 @@ public class OrderServiceImpl implements OrderService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public ResultMap ensureOrderAccept(Long id, String invoiceId) {
|
|
|
+ if (id == null && StringUtils.isEmpty(invoiceId)) {
|
|
|
+ throw new IllegalOperatorException("传入的订单信息和出货单信息都为空");
|
|
|
+ }
|
|
|
+ Order order = null;
|
|
|
if (id == null) {
|
|
|
- return new ResultMap(CodeType.NO_INFO, "订单信息缺失");
|
|
|
+ Invoice invoice = invoiceService.getInvoice(invoiceId);
|
|
|
+ if (invoice == null){
|
|
|
+ throw new IllegalOperatorException("找不到指定的出货单信息");
|
|
|
+ }
|
|
|
+ order = getOrderByOrderIdOrId(invoice.getOrderId(), invoice.getOrid());
|
|
|
+ if (order == null) {
|
|
|
+ Purchase purchase = purchaseService.getPurchaseByPurchaseidOrId(invoice.getPurchaseid(), invoice.getPuid());
|
|
|
+ if (purchase == null){
|
|
|
+ throw new IllegalOperatorException("找不到销售单信息");
|
|
|
+ }
|
|
|
+ order = getOrderByOrderIdOrId(null, purchase.getOrderid());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ order = orderDao.findOne(id);
|
|
|
}
|
|
|
- Order order = orderDao.findOne(id);
|
|
|
if (order == null) {
|
|
|
return new ResultMap(CodeType.NO_INFO, "订单信息错误,找不到对应订单信息");
|
|
|
}
|
|
|
@@ -3521,6 +3537,16 @@ public class OrderServiceImpl implements OrderService {
|
|
|
return ResultMap.success(orderTotal);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Order getOrderByOrderIdOrId(Long id, String orderid) {
|
|
|
+ if (id != null){
|
|
|
+ return orderDao.findOne(id);
|
|
|
+ }
|
|
|
+ if (org.apache.commons.lang.StringUtils.isNotEmpty(orderid)) {
|
|
|
+ return orderDao.findByOrderid(orderid);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 统计订单的总金额
|