|
|
@@ -257,6 +257,12 @@ class ShopController extends BaseController {
|
|
|
['LEFT JOIN', OrderGoods::tableName() . ' AS OG', 'OG.ORDER_SN=DO.ORDER_SN'],
|
|
|
],
|
|
|
]);
|
|
|
+
|
|
|
+ foreach ($data['list'] as &$value) {
|
|
|
+ $taxRate = $value['TAX_RATE'] ?? 0;
|
|
|
+ $value['TAX_AMOUNT'] = Tool::formatPrice(($value['REAL_PRICE'] - $value['REAL_PRICE'] / (1 + $taxRate / 100)) * $value['BUY_NUMS']);
|
|
|
+ }
|
|
|
+
|
|
|
return static::notice($data);
|
|
|
}
|
|
|
|
|
|
@@ -301,7 +307,7 @@ class ShopController extends BaseController {
|
|
|
// if($value['COUNTY']){
|
|
|
// $data['list'][$key]['FULL_ADDRESS'] .= Region::getCnName($value['COUNTY']);
|
|
|
// }
|
|
|
- $data['list'][$key]['TAX_AMOUNT'] = Tool::formatPrice($value['REAL_PRICE'] - $value['REAL_PRICE'] / (1 + $value['TAX_RATE'] / 100));
|
|
|
+ $data['list'][$key]['TAX_AMOUNT'] = Tool::formatPrice(($value['REAL_PRICE'] - $value['REAL_PRICE'] / (1 + $value['TAX_RATE'] / 100)) * $value['BUY_NUMS']);
|
|
|
}
|
|
|
return static::notice($data);
|
|
|
}
|
|
|
@@ -427,6 +433,8 @@ class ShopController extends BaseController {
|
|
|
$orderDetails = '';
|
|
|
$orderAmount = 0; // 合计总额
|
|
|
$orderNums = 0; // 合计总数
|
|
|
+ $totalTaxAmount = 0; // 合计税额
|
|
|
+ $totalAmount = 0;
|
|
|
foreach ($data['list'] as $key => $value) {
|
|
|
$provinceName = $value['PROVINCE'] ? Region::getCnName($value['PROVINCE']) : '';
|
|
|
$cityName = $value['CITY'] ? Region::getCnName($value['CITY']) : '';
|
|
|
@@ -439,16 +447,21 @@ class ShopController extends BaseController {
|
|
|
$orderAt = Date::convert($value['PAY_AT'],'Y-m-d H:i:s');
|
|
|
|
|
|
// 总价
|
|
|
- $totalAmount = $value['BUY_NUMS'] * $value['ORDER_AMOUNT'];
|
|
|
+ $totalAmount = $value['BUY_NUMS'] * $value['REAL_PRICE'];
|
|
|
$orderAmount += $totalAmount;
|
|
|
$orderNums += $value['BUY_NUMS'];
|
|
|
+ // 税额
|
|
|
+ $taxAmount = floatval(Tool::formatPrice(($value['REAL_PRICE'] - ($value['REAL_PRICE'] / (1 + $value['TAX_RATE'] / 100))) * $value['BUY_NUMS']));
|
|
|
+ $totalTaxAmount += $taxAmount;
|
|
|
// 订单详情
|
|
|
$orderDetails .= <<<EOT
|
|
|
<tr>
|
|
|
<td>{$value['SKU_CODE']}</td>
|
|
|
<td>{$value['GOODS_TITLE']}</td>
|
|
|
+ <td>{$value['REAL_PRICE']}</td>
|
|
|
<td>{$value['BUY_NUMS']}</td>
|
|
|
- <td>{$value['ORDER_AMOUNT']}</td>
|
|
|
+ <td>{$value['TAX_RATE']}</td>
|
|
|
+ <td>{$taxAmount}</td>
|
|
|
<td>{$totalAmount}</td>
|
|
|
</tr>
|
|
|
EOT;
|
|
|
@@ -523,19 +536,22 @@ ORDER;
|
|
|
<div style="display: block; width: 100%;">
|
|
|
{$orderBase}
|
|
|
|
|
|
- <table border="1" width="100%" style="padding: 10px 20px; text-align: center;">
|
|
|
+ <table border="1" width="100%" style="padding: 10px 5px; text-align: center;">
|
|
|
<tr>
|
|
|
- <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Product code</th>
|
|
|
- <th width="30%" style="font-size: 14px; font-weight: bold; text-align: center;">Product name</th>
|
|
|
- <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Quantity</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Product code</th>
|
|
|
+ <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Product name</th>
|
|
|
<th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Product price</th>
|
|
|
- <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Total amount</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Quantity</th>
|
|
|
+ <th width="10%" style="font-size: 14px; font-weight: bold; text-align: center;">Tax rate</th>
|
|
|
+ <th width="10%" style="font-size: 14px; font-weight: bold; text-align: center;">Tax</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Total amount</th>
|
|
|
</tr>
|
|
|
{$orderDetails}
|
|
|
<tr>
|
|
|
- <td colspan="2">Total</td>
|
|
|
+ <td colspan="3">Total</td>
|
|
|
<td>{$orderNums}</td>
|
|
|
<td></td>
|
|
|
+ <td>{$totalTaxAmount}</td>
|
|
|
<td>{$orderAmount}</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
@@ -610,7 +626,6 @@ ORDER;
|
|
|
* 导出订单.
|
|
|
* @return mixed
|
|
|
* @throws \yii\web\HttpException
|
|
|
- * @throws \Mpdf\MpdfException
|
|
|
*/
|
|
|
public function actionDecOrderExport()
|
|
|
{
|
|
|
@@ -642,6 +657,8 @@ ORDER;
|
|
|
$orderDetails = '';
|
|
|
$orderAmount = 0; // 合计总额
|
|
|
$orderNums = 0; // 合计总数
|
|
|
+ $totalTaxAmount = 0; // 合计税额
|
|
|
+ $totalAmount = 0;
|
|
|
foreach ($data['list'] as $key => $value) {
|
|
|
$provinceName = $value['PROVINCE'] ? Region::getCnName($value['PROVINCE']) : '';
|
|
|
$cityName = $value['CITY'] ? Region::getCnName($value['CITY']) : '';
|
|
|
@@ -651,20 +668,24 @@ ORDER;
|
|
|
$userName = $value['REAL_NAME'];
|
|
|
$address = $provinceName . $cityName . $countyName . $value['ADDRESS'];
|
|
|
$mobile = $value['MOBILE'];
|
|
|
- $orderAt = Date::convert($value['PAY_AT'],'Y-m-d H:i:s');
|
|
|
+ $orderAt = Date::convert($value['PAY_AT'] ?? $value['CREATED_AT'],'Y-m-d H:i:s');
|
|
|
|
|
|
// 总价
|
|
|
$totalAmount = $value['BUY_NUMS'] * $value['REAL_PRICE'];
|
|
|
$orderAmount += $totalAmount;
|
|
|
$orderNums += $value['BUY_NUMS'];
|
|
|
-
|
|
|
+ // 税额
|
|
|
+ $taxAmount = floatval(Tool::formatPrice(($value['REAL_PRICE'] - ($value['REAL_PRICE'] / (1 + $value['TAX_RATE'] / 100))) * $value['BUY_NUMS']));
|
|
|
+ $totalTaxAmount += $taxAmount;
|
|
|
// 订单详情
|
|
|
$orderDetails .= <<<EOT
|
|
|
<tr>
|
|
|
<td>{$value['SKU_CODE']}</td>
|
|
|
<td>{$value['GOODS_TITLE']}</td>
|
|
|
- <td>{$value['BUY_NUMS']}</td>
|
|
|
<td>{$value['REAL_PRICE']}</td>
|
|
|
+ <td>{$value['BUY_NUMS']}</td>
|
|
|
+ <td>{$value['TAX_RATE']}</td>
|
|
|
+ <td>{$taxAmount}</td>
|
|
|
<td>{$totalAmount}</td>
|
|
|
</tr>
|
|
|
EOT;
|
|
|
@@ -721,12 +742,12 @@ ORDER;
|
|
|
}
|
|
|
table td, table th {
|
|
|
border: 1px solid #ccc;
|
|
|
- padding: 10px 30px;
|
|
|
+ padding: 5px 5px;
|
|
|
border-collapse: collapse;
|
|
|
}
|
|
|
- td {
|
|
|
- padding: 120px;
|
|
|
- }
|
|
|
+ /*td {*/
|
|
|
+ /* padding: 120px;*/
|
|
|
+ /*}*/
|
|
|
.bg {
|
|
|
background-color: #ccc;
|
|
|
}
|
|
|
@@ -741,17 +762,20 @@ ORDER;
|
|
|
|
|
|
<table border="1" width="100%" style="padding: 10px 20px; text-align: center;">
|
|
|
<tr>
|
|
|
- <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Product code</th>
|
|
|
- <th width="30%" style="font-size: 14px; font-weight: bold; text-align: center;">Product name</th>
|
|
|
- <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Quantity</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Product code</th>
|
|
|
+ <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Product name</th>
|
|
|
<th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Product price</th>
|
|
|
- <th width="20%" style="font-size: 14px; font-weight: bold; text-align: center;">Total amount价</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Quantity</th>
|
|
|
+ <th width="10%" style="font-size: 14px; font-weight: bold; text-align: center;">Tax rate</th>
|
|
|
+ <th width="10%" style="font-size: 14px; font-weight: bold; text-align: center;">Tax</th>
|
|
|
+ <th width="15%" style="font-size: 14px; font-weight: bold; text-align: center;">Total amount</th>
|
|
|
</tr>
|
|
|
{$orderDetails}
|
|
|
<tr>
|
|
|
- <td colspan="2">Total</td>
|
|
|
+ <td colspan="3">Total</td>
|
|
|
<td>{$orderNums}</td>
|
|
|
<td></td>
|
|
|
+ <td>{$totalTaxAmount}</td>
|
|
|
<td>{$orderAmount}</td>
|
|
|
</tr>
|
|
|
</table>
|