|
@@ -28,26 +28,88 @@ class TempHandleBusinessData extends Command
|
|
|
|
|
|
if ($tmp) return '';//不执行
|
|
|
|
|
|
- Cache::store('redis')->handler()->set($this->key,1,5*60);
|
|
|
+ Cache::store('redis')->handler()->set($this->key, 1, 5 * 60);
|
|
|
|
|
|
try {
|
|
|
|
|
|
+ //临时同步供应商数据
|
|
|
+ $temp = Db::connect('mysql_sys')
|
|
|
+ ->name('supplier')
|
|
|
+ ->alias('a')
|
|
|
+ ->field('a.*,b.contactor,b.position,b.mobile')
|
|
|
+ ->leftJoin('supplier_contact b', 'b.code=a.code')
|
|
|
+ ->where('a.is_del', 0)
|
|
|
+ ->where('a.addtime', '>=', date('Y-m-d H:i:s', time() - 5 * 60))
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ if (!empty($temp)) {
|
|
|
+ $a = Db::connect('mysql_cxinv')
|
|
|
+ ->table('cfp_supplier_info')
|
|
|
+ ->whereIn('code', array_column($temp, 'code'))
|
|
|
+ ->column('code', 'code');
|
|
|
+
|
|
|
+ $ins_supplier = [];
|
|
|
+ foreach ($temp as $val) {
|
|
|
+
|
|
|
+ if (!isset($a[$val['code']])) {
|
|
|
+ $ins_supplier[] = [
|
|
|
+ 'name' => $val['name'],
|
|
|
+ 'code' => $val['code'],
|
|
|
+ 'source' => $val['source'],
|
|
|
+ 'contector' => $val['contactor'],
|
|
|
+ 'post' => $val['position'],
|
|
|
+ 'type' => $val['type'],
|
|
|
+ 'nature' => $val['supplier_type'],
|
|
|
+ 'corporation' => $val['legaler'],
|
|
|
+ 'registertime' => $val['registertime'],
|
|
|
+ 'capital' => $val['capital'],
|
|
|
+ 'supplier_type' => $val['supplier_type'],
|
|
|
+ 'pay_method' => $val['pay_type'],
|
|
|
+ 'paydays' => $val['pay_day'],
|
|
|
+ 'mobile' => $val['mobile'],
|
|
|
+ 'address' => $val['addr'],
|
|
|
+ 'return_ticket' => $val['ticket_type'],
|
|
|
+ 'delivery' => $val['delivery_way'],
|
|
|
+ 'status' => $val['status'],
|
|
|
+ 'addtime' => $val['addtime'],
|
|
|
+ 'updatetime' => $val['updatetime'],
|
|
|
+ 'registercode' => $val['registercode'],
|
|
|
+ 'level' => $val['level'],
|
|
|
+ 'product_category' => $val['product_category'],
|
|
|
+ 'license_img' => $val['license_img'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if ($ins_supplier) Db::connect('mysql_cxinv')->table('cfp_supplier_info')->insertAll($ins_supplier);
|
|
|
+ }
|
|
|
+
|
|
|
$userCommon = new User();
|
|
|
$rs = $userCommon->handle('get_business_list_tmp', ['where' => [
|
|
|
- ['addtime', '>=', date('Y-m-d H:i:s', time() - 5 * 60)],
|
|
|
+ ['a.addtime', '>=', date('Y-m-d H:i:s', time() - 5 * 60)],
|
|
|
]]);
|
|
|
|
|
|
+// $output->writeln('---***---');
|
|
|
+// $output->writeln(json_encode($rs,JSON_UNESCAPED_UNICODE));
|
|
|
+// $output->writeln('---***---');
|
|
|
if (isset($rs['code']) && $rs['code'] == 0 && !empty($rs['data'])) {
|
|
|
|
|
|
$all_code = array_column($rs['data'], 'companyNo');
|
|
|
|
|
|
- //获取结算平台已存在的编码
|
|
|
+ //业务公司
|
|
|
$exists = Db::connect('mysql_cxinv')
|
|
|
->table('cfp_company_info')
|
|
|
->whereIn('companyNo', $all_code)
|
|
|
->column('id', 'companyNo');
|
|
|
|
|
|
- $insert = [];
|
|
|
+ //供应商
|
|
|
+ $gys_exists = Db::connect('mysql_cxinv')
|
|
|
+ ->table('cfp_supplier_info')
|
|
|
+ ->whereIn('code', array_column($rs['data'], 'supplierNo'))
|
|
|
+ ->column('*', 'code');
|
|
|
+
|
|
|
+ $insert = $gys_insert = [];
|
|
|
foreach ($rs['data'] as $item) {
|
|
|
if (!isset($exists[$item['companyNo']])) {
|
|
|
$insert[] = [
|
|
@@ -64,7 +126,6 @@ class TempHandleBusinessData extends Command
|
|
|
'is_del' => $item['is_del'],
|
|
|
'addtime' => $item['addtime'],
|
|
|
'updatetime' => $item['updatetime'],
|
|
|
- 'invoice_title' => $item['invoice_title'],
|
|
|
//以下字段填空字符串,需要用户在结算平台补充值
|
|
|
'input_ticket' => '',
|
|
|
'out_ticket' => '',
|
|
@@ -76,6 +137,17 @@ class TempHandleBusinessData extends Command
|
|
|
'denomination' => '',
|
|
|
'invoiceType' => '',
|
|
|
];
|
|
|
+
|
|
|
+ $gys_insert[] = array_merge(
|
|
|
+ $gys_exists[$item['supplierNo']],
|
|
|
+ [
|
|
|
+ 'id' => null,
|
|
|
+ 'code' => $item['companyNo'],
|
|
|
+ 'type' => '企业',
|
|
|
+ 'addtime' => date('Y-m-d H:i:s'),
|
|
|
+ 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
+ ]
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -85,6 +157,11 @@ class TempHandleBusinessData extends Command
|
|
|
->insertAll($insert);
|
|
|
$output->writeln('同步业务公司数据成功,共' . $res);
|
|
|
}
|
|
|
+ if ($gys_insert) {
|
|
|
+ Db::connect('mysql_cxinv')
|
|
|
+ ->table('cfp_supplier_info')
|
|
|
+ ->insertAll($gys_insert);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -97,7 +174,6 @@ class TempHandleBusinessData extends Command
|
|
|
$output->writeln('脚本出错,' . $exception->getMessage() . '|' . $exception->getFile() . ':' . $exception->getLine());
|
|
|
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|