|
@@ -66,19 +66,20 @@ class SplitSale extends Command
|
|
|
$good = Db::name('consult_bids')
|
|
|
->field('b.noble_metal,c.brand_name brand,d.unit,a.cost_desc,a.good_weight noble_weight,a.tax,a.delivery_day,b.lead_time')
|
|
|
->alias('a')
|
|
|
- ->leftJoin('good_basic b', 'b.is_del=0 AND b.spuCode=a.spuCode')
|
|
|
+ ->leftJoin('good_zixun b', 'b.is_del=0 AND b.spuCode=a.spuCode')
|
|
|
->leftJoin('brand c', 'c.id=a.brand_id')
|
|
|
->leftJoin('unit d', 'd.id=a.unit_id')
|
|
|
- ->where(['a.is_del' => 0, 'a.bidNo' => $sale['zxNo']])
|
|
|
+ ->where(['a.is_del' => 0, 'a.spuCode' => $sale['good_code']])
|
|
|
->findOrEmpty();
|
|
|
} elseif ($sale['order_type'] == 4) {
|
|
|
//报备单
|
|
|
$good = Db::name('filing')
|
|
|
->field('a.noble_metal,c.brand_name brand,d.unit,a.cost_desc,a.gold_weight noble_weight,a.tax,a.delivery_day,0 lead_time')
|
|
|
->alias('a')
|
|
|
+ ->leftJoin('good_zixun b', 'b.is_del=0 AND b.spuCode=a.spuCode')
|
|
|
->leftJoin('brand c', 'c.id=a.brand_id')
|
|
|
->leftJoin('unit d', 'd.id=a.unit_id')
|
|
|
- ->where(['a.is_del' => 0, 'a.orderCode' => $sale['orderCode']])
|
|
|
+ ->where(['a.is_del' => 0, 'a.orderCode' => $sale['good_code']])
|
|
|
->findOrEmpty();
|
|
|
} else {
|
|
|
$good = Db::name('good')
|
|
@@ -115,15 +116,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' => $names['data'][$sale['customer_code']] ?? ''];
|
|
|
+ //客户
|
|
|
+ $customer = ['No' => $sale['customer_code'], 'name' => $sale['customerName']];
|
|
|
//供应商
|
|
|
- $supplier = ['No' => $sale['supplierNo'], 'name' => $names['data'][$sale['supplierNo']] ?? ''];
|
|
|
+ $suppliere = ['No' => $sale['supplierNo'], 'name' => $sale['supplierName']];
|
|
|
|
|
|
- foreach ($pay_rates as $pay_rate) {
|
|
|
+ foreach ($pay_rates as $key=>$pay_rate) {
|
|
|
|
|
|
//生成新的采购单号和销售单号
|
|
|
$cgdNo = makeNo('CG');
|
|
@@ -133,63 +131,23 @@ class SplitSale extends Command
|
|
|
|
|
|
$this->i++;
|
|
|
|
|
|
- $sale_total = $cgd_total;
|
|
|
+ $sale_total =$cgd_total;
|
|
|
$cgd_total = bcsub($cgd_total, bcmul($sale['total_price'] ?? 0, round($pay_rate['rate'] / 100, 4), 5), 5);
|
|
|
-
|
|
|
- //只处理采购单
|
|
|
- if (strtoupper($pay_rate['companyNo']) == 'KH') {
|
|
|
-
|
|
|
- //此时尚未生成销售单,存销售单号无意义 吧?
|
|
|
-// if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, $orderCode, $cgd_total);
|
|
|
-
|
|
|
- if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, '', $cgd_total);
|
|
|
-
|
|
|
- } elseif (strtoupper($pay_rate['companyNo']) == 'GYS') {
|
|
|
- //只处理销售单
|
|
|
-
|
|
|
- //供应商事先覆盖
|
|
|
- $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);
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- //供应商事先覆盖
|
|
|
- $supplier = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
|
|
|
-
|
|
|
- //需要生成销售单
|
|
|
- if ($pay_rate['is_qrd'] == 1) $this->_handle_sale_caixiao($sale, $orderCode, $cgdNo, $sale_total, $customer, $supplier);
|
|
|
-
|
|
|
- //需要生成采购单
|
|
|
- if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, $orderCode, $cgd_total);
|
|
|
-
|
|
|
- //客户事后覆盖
|
|
|
- $customer = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
|
|
|
-
|
|
|
- }
|
|
|
+ $supplier = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
|
|
|
+ $this->_handle_sale_caixiao($sale, $orderCode, $cgd['cgdNo'] ?? '', $sale_total, $customer, $supplier);
|
|
|
+ $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, '', $cgd_total);
|
|
|
+ $customer= ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
|
|
|
|
|
|
//把自己覆盖到上一个记录的供应商记录中
|
|
|
if (isset($this->cgd_insert[$this->cgd_key - 1])) {
|
|
|
-
|
|
|
- if (strtoupper($pay_rate['companyNo']) == 'KH') continue;
|
|
|
-
|
|
|
- else $supplierNo = $sale['supNo'];
|
|
|
-// else $supplierNo = $pay_rate['companyNo'];
|
|
|
-
|
|
|
-// $supplier = Db::name('supplier')
|
|
|
-// ->field('id,code,name,person,personid')
|
|
|
-// ->where('code', $supplierNo)
|
|
|
-// ->findOrEmpty();
|
|
|
- $temp = $userCommon->handle('sInfo', ['code' => $supplierNo]);
|
|
|
+ $temp = $userCommon->handle('hqInfo', ['code' =>$pay_rate['companyNo']]);
|
|
|
$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_persion'] = $supplier['person'] ?? '';
|
|
|
- $this->cgd_insert[$this->cgd_key - 1]['supplier_persionid'] = $supplier['personid'] ?? 0;
|
|
|
+ $this->cgd_insert[$this->cgd_key - 1]['supplierNo'] =$supplier['relation_code'];
|
|
|
+ $this->cgd_insert[$this->cgd_key - 1]['supplier_name'] = $supplier['relation_name'];
|
|
|
+ $temps = $userCommon->handle('sInfo', ['code' =>$supplier['relation_code']]);
|
|
|
+ $suppliers = $temps['data'] ?? [];
|
|
|
+ $this->cgd_insert[$this->cgd_key - 1]['supplier_persion'] = $suppliers['person'] ?? '';
|
|
|
+ $this->cgd_insert[$this->cgd_key - 1]['supplier_persionid'] = $suppliers['personid'] ?? 0;
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -363,8 +321,8 @@ class SplitSale extends Command
|
|
|
'cat_name' => json_encode($this->_get_cat_list($sale['cat_id']), JSON_UNESCAPED_UNICODE),
|
|
|
'companyNo' => $pay_rate['companyNo'],
|
|
|
'companyName' => $pay_rate['companyName'],
|
|
|
- 'supplierNo' => '',
|
|
|
- 'supplier_name' => '',
|
|
|
+ 'supplierNo' => $sale['supplierNo'],
|
|
|
+ 'supplier_name' => $sale['supplier_name'],
|
|
|
'bktime' => $cgd['bktime'] ?? '',
|
|
|
'bkcreater' => $cgd['bkcreater'] ?? '',
|
|
|
'noble_metal' => $sale['noble_metal'] ?? '',
|