|
@@ -14,6 +14,7 @@ use App\Model\OrderOperation;
|
|
use App\Model\PaymentReceipt;
|
|
use App\Model\PaymentReceipt;
|
|
use App\Model\PaymentReceiptInfo;
|
|
use App\Model\PaymentReceiptInfo;
|
|
use App\Model\Product;
|
|
use App\Model\Product;
|
|
|
|
+use App\Model\ReturnExchangeOrder;
|
|
use App\Model\SalesOrder;
|
|
use App\Model\SalesOrder;
|
|
use App\Model\SalesOrderInfo;
|
|
use App\Model\SalesOrderInfo;
|
|
use App\Model\SalesOrderOtherFee;
|
|
use App\Model\SalesOrderOtherFee;
|
|
@@ -658,10 +659,16 @@ class SalesOrderService extends Service
|
|
|
|
|
|
//退换货信息
|
|
//退换货信息
|
|
$sales['return_exchange'] = (new ReturnExchangeOrderService())->getDifferentAmount($data['id']);
|
|
$sales['return_exchange'] = (new ReturnExchangeOrderService())->getDifferentAmount($data['id']);
|
|
|
|
+ $sales['return_exchange_amount'] = 0;
|
|
|
|
+ foreach ($sales['return_exchange'] as $value){
|
|
|
|
+ if($value['state'] == ReturnExchangeOrder::State_two) $sales['return_exchange_amount'] += $value['difference_amount'];
|
|
|
|
+ }
|
|
|
|
|
|
- //收付款单信息
|
|
|
|
|
|
+ //回款单信息
|
|
$sales['payment_receipt_list'] = (new PaymentReceiptService())->getPaymentReceiptDataList($sales);
|
|
$sales['payment_receipt_list'] = (new PaymentReceiptService())->getPaymentReceiptDataList($sales);
|
|
- $sales['payment_receipt_list']['not_receipt_amount'] = $sales['contract_fee'] - $sales['payment_receipt_list']['receipt_amount'];
|
|
|
|
|
|
+ //总回款金额 = 合同金额 - 退换货金额
|
|
|
|
+ $total = $sales['contract_fee'] - $sales['return_exchange_amount'];
|
|
|
|
+ $sales['payment_receipt_list']['not_receipt_amount'] = $total - $sales['payment_receipt_list']['receipt_amount'];
|
|
$sales['not_payment_receipt_amount'] = $sales['payment_receipt_list']['not_receipt_amount'];
|
|
$sales['not_payment_receipt_amount'] = $sales['payment_receipt_list']['not_receipt_amount'];
|
|
|
|
|
|
//详情里的收付款信息
|
|
//详情里的收付款信息
|
|
@@ -706,8 +713,8 @@ class SalesOrderService extends Service
|
|
}
|
|
}
|
|
if(! empty($data['add_return'])) {
|
|
if(! empty($data['add_return'])) {
|
|
//能下退换货单的合同状态
|
|
//能下退换货单的合同状态
|
|
- $model->where('state','>=',SalesOrder::State_five);
|
|
|
|
- $model->where('state','<',SalesOrder::State_seven);
|
|
|
|
|
|
+ $model->where('state','>=',SalesOrder::State_two);
|
|
|
|
+// $model->where('state','<',SalesOrder::State_seven);
|
|
}
|
|
}
|
|
if(! empty($data['sales_order_id'])) $model->where('id',$data['sales_order_id']);
|
|
if(! empty($data['sales_order_id'])) $model->where('id',$data['sales_order_id']);
|
|
if(! empty($data['order_list'])){
|
|
if(! empty($data['order_list'])){
|
|
@@ -815,6 +822,7 @@ class SalesOrderService extends Service
|
|
if(empty($data['payment_receipt']['amount'])) return [false,'回款金额不能为空'];
|
|
if(empty($data['payment_receipt']['amount'])) return [false,'回款金额不能为空'];
|
|
$res = $this->checkNumber($data['payment_receipt']['amount']);
|
|
$res = $this->checkNumber($data['payment_receipt']['amount']);
|
|
if(! $res) return [false, '回款金额请输入不超过两位小数并且大于0的数值'];
|
|
if(! $res) return [false, '回款金额请输入不超过两位小数并且大于0的数值'];
|
|
|
|
+ if($data['contract_fee'] < $data['payment_receipt']['amount']) return [false, '回款金额不能大于合同金额'];
|
|
if(! empty($data['payment_receipt']['payment_receipt_date'])) $data['payment_receipt']['payment_receipt_date'] = $this->changeDateToDate($data['payment_receipt']['payment_receipt_date']);
|
|
if(! empty($data['payment_receipt']['payment_receipt_date'])) $data['payment_receipt']['payment_receipt_date'] = $this->changeDateToDate($data['payment_receipt']['payment_receipt_date']);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -889,8 +897,11 @@ class SalesOrderService extends Service
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- $for_amount_list = [];
|
|
|
|
- if(! empty($ergs['for_amount_list'])) $for_amount_list = (new PaymentReceiptService())->getPaymentReceiptDataCountList($data['data']);
|
|
|
|
|
|
+ $for_amount_list = $getDifferentAmountALL = [];
|
|
|
|
+ if(! empty($ergs['for_amount_list'])) {
|
|
|
|
+ $for_amount_list = (new PaymentReceiptService())->getPaymentReceiptDataCountList($data['data']);
|
|
|
|
+ $getDifferentAmountALL = (new ReturnExchangeOrderService())->getDifferentAmountALL(array_column($data['data'],'id'));
|
|
|
|
+ }
|
|
|
|
|
|
//获取分社订货合同关联的发货单
|
|
//获取分社订货合同关联的发货单
|
|
$invoiceData = $this->getInvoiceOrderData($data['data']);
|
|
$invoiceData = $this->getInvoiceOrderData($data['data']);
|
|
@@ -941,6 +952,7 @@ class SalesOrderService extends Service
|
|
$data['data'][$key]['invoice_arr'] = implode(',', $tmp);
|
|
$data['data'][$key]['invoice_arr'] = implode(',', $tmp);
|
|
$data['data'][$key]['dispatch_company'] = $dispatch[$value['id']] ?? '';
|
|
$data['data'][$key]['dispatch_company'] = $dispatch[$value['id']] ?? '';
|
|
$data['data'][$key]['payment_receipt_amount'] = $for_amount_list[$value['order_number']] ?? 0;
|
|
$data['data'][$key]['payment_receipt_amount'] = $for_amount_list[$value['order_number']] ?? 0;
|
|
|
|
+ $data['data'][$key]['return_exchange_amount'] = $getDifferentAmountALL[$value['id']] ?? 0;
|
|
|
|
|
|
//合同对应的金额数据
|
|
//合同对应的金额数据
|
|
$tmp = $money[$value['id']] ?? [];
|
|
$tmp = $money[$value['id']] ?? [];
|