|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace app\command;
|
|
|
|
|
|
+use app\admin\common\User;
|
|
|
use think\console\Command;
|
|
|
use think\console\Input;
|
|
|
use think\console\Output;
|
|
@@ -55,6 +56,8 @@ class SplitSale extends Command
|
|
|
|
|
|
// $cgd_insert_tmp_data=[];
|
|
|
|
|
|
+ $userCommon = new User();
|
|
|
+
|
|
|
foreach ($data as $sale) {
|
|
|
|
|
|
//补充商品信息
|
|
@@ -112,10 +115,12 @@ class SplitSale extends Command
|
|
|
//采购总金额和销售总金额
|
|
|
$cgd_total = $sale_total = $sale['total_price'];
|
|
|
|
|
|
+ $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($pay_rates, 'companyNo'), [$sale['customer_code'], $sale['supplierNo']]))]);
|
|
|
+
|
|
|
//客户
|
|
|
- $customer = ['No' => $sale['customer_code'], 'name' => Db::name('customer_info')->where('companyNo', $sale['customer_code'])->value('companyName', '')];
|
|
|
+ $customer = ['No' => $sale['customer_code'], 'name' => $names['data'][$sale['customer_code']] ?? ''];
|
|
|
//供应商
|
|
|
- $supplier = ['No' => $sale['supplierNo'], 'name' => Db::name('business')->where('companyNo', $sale['supplierNo'])->value('company', '')];
|
|
|
+ $supplier = ['No' => $sale['supplierNo'], 'name' => $names['data'][$sale['supplierNo']] ?? ''];
|
|
|
|
|
|
foreach ($pay_rates as $pay_rate) {
|
|
|
|
|
@@ -142,10 +147,10 @@ class SplitSale extends Command
|
|
|
//只处理销售单
|
|
|
|
|
|
//供应商事先覆盖
|
|
|
- $supplier = ['No' => $sale['supplierNo'], 'name' => Db::name('business')->where('companyNo', $sale['supplierNo'])->value('company', '')];
|
|
|
+ $supplier = ['No' => $sale['supplierNo'], 'name' => $names['data'][$sale['supplierNo']] ?? ''];
|
|
|
if ($pay_rate['is_qrd'] == 1) {
|
|
|
//此时生成的供应商的销售单,应该关联原始采购单号
|
|
|
- $this->_handle_sale_caixiao($sale, $orderCode, $cgd['cgdNo'], $sale_total, $customer, $supplier);
|
|
|
+ $this->_handle_sale_caixiao($sale, $orderCode, $cgd['cgdNo'] ?? '', $sale_total, $customer, $supplier);
|
|
|
}
|
|
|
|
|
|
} else {
|
|
@@ -171,25 +176,27 @@ class SplitSale extends Command
|
|
|
elseif (strtoupper($pay_rate['companyNo']) == 'GYS') $supplierNo = $sale['supplierNo'];
|
|
|
else $supplierNo = $pay_rate['companyNo'];
|
|
|
|
|
|
- $supplier = Db::name('supplier')
|
|
|
- ->field('id,code,name,person,personid')
|
|
|
- ->where('code', $supplierNo)
|
|
|
- ->findOrEmpty();
|
|
|
+// $supplier = Db::name('supplier')
|
|
|
+// ->field('id,code,name,person,personid')
|
|
|
+// ->where('code', $supplierNo)
|
|
|
+// ->findOrEmpty();
|
|
|
+ $temp = $userCommon->handle('sInfo', ['code' => $supplierNo]);
|
|
|
+ $supplier = $temp['data'] ?? [];
|
|
|
$this->cgd_insert[$this->cgd_key - 1]['supplierNo'] = $supplierNo;
|
|
|
- $this->cgd_insert[$this->cgd_key - 1]['supplier_name'] = $supplier['name'] ?? '';
|
|
|
+ $this->cgd_insert[$this->cgd_key - 1]['supplier_name'] = $names['data'][$supplierNo] ?? '';
|
|
|
$this->cgd_insert[$this->cgd_key - 1]['supplier_persion'] = $supplier['person'] ?? '';
|
|
|
$this->cgd_insert[$this->cgd_key - 1]['supplier_persionid'] = $supplier['personid'] ?? 0;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//清空该变量,以防止多个销售单覆盖数据的情况
|
|
|
// $cgd_insert_tmp_data = array_merge($cgd_insert_tmp_data, $this->cgd_insert);
|
|
|
|
|
|
//批量新增改为单次新增
|
|
|
if ($this->cgd_insert) Db::name('cgd_caixiao')->insertAll($this->cgd_insert);
|
|
|
- $this->cgd_insert=[];
|
|
|
- $this->cgd_key=0;
|
|
|
+ $this->cgd_insert = [];
|
|
|
+ $this->cgd_key = 0;
|
|
|
}
|
|
|
|
|
|
// if ($cgd_insert_tmp_data) Db::name('cgd_caixiao')->insertAll($cgd_insert_tmp_data);
|
|
@@ -285,7 +292,7 @@ class SplitSale extends Command
|
|
|
'noble_weight' => $sale['noble_weight'] ?? 0,
|
|
|
'tax' => $sale['tax'] ?? '',
|
|
|
'lead_time' => $sale['lead_time'] ?? 0,
|
|
|
- 'depart' => get_company_name_by_uid($sale['apply_id'] ?? 0) ?? '',
|
|
|
+ 'depart' => isset($sale['apply_id']) ? get_company_name_by_uid($sale['apply_id']) : '',
|
|
|
'cgdNo' => $cgdNo,
|
|
|
'pay_id' => $sale['pay_id'],
|
|
|
'oldCode' => $sale['orderCode'],
|
|
@@ -344,8 +351,7 @@ class SplitSale extends Command
|
|
|
'wsm_code' => $cgd['wsm_code'] ?? '',
|
|
|
'cgder' => $sale['cgder'] ?? '',
|
|
|
'cgder_id' => $sale['cgderid'] ?? 0,
|
|
|
- 'depart' => get_company_name_by_uid($cgd['cgder_id'] ?? 0) ?? '',
|
|
|
- 'qrdNo' => $orderCode,
|
|
|
+ 'depart' => isset($cgd['cgder_id']) ? get_company_name_by_uid($cgd['cgder_id']) : '', 'qrdNo' => $orderCode,
|
|
|
'spuCode' => $cgd['spuCode'] ?? $sale['good_code'],
|
|
|
'good_name' => $sale['good_name'],
|
|
|
'skuCode' => $cgd['skuCode'] ?? '',
|