Commit 688bd7af by 杨树贤

新增签约公司相关操作

parent fe6ae5fc
......@@ -167,3 +167,5 @@ SKIP_SEND_EMAIL=true
IMAGE_SERVER_URL=http://image.liexindev.net
FILE_SERVER_URL=http://file.liexindev.net
CRM_URL=http://crmnew.liexindev.net
......@@ -2,25 +2,26 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Filter\SupplierFilter;
use App\Http\Services\AdminUserService;
use App\Http\Services\CompanyService;
use App\Http\Services\LogService;
use App\Http\Services\StandardBrandService;
use App\Http\Services\SupplierAuditService;
use App\Http\Services\SupplierService;
use App\Http\Services\SupplierStatisticsService;
use App\Http\Services\SyncSupplierService;
use App\Http\Transformers\SupplierTransformer;
use App\Http\Validators\SupplierValidator;
use Cookie;
use App\Model\LogModel;
use App\Model\RedisModel;
use App\Model\SupplierChannelModel;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Services\CrmService;
use App\Http\Services\LogService;
use App\Model\SupplierChannelModel;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Cookie;
use App\Http\Services\CompanyService;
use App\Http\Services\SupplierService;
use App\Http\Services\AdminUserService;
use App\Http\Services\SyncSupplierService;
use App\Http\Validators\SupplierValidator;
use App\Http\Services\StandardBrandService;
use App\Http\Services\SupplierAuditService;
use App\Http\Transformers\SupplierTransformer;
use App\Http\Controllers\Filter\SupplierFilter;
use App\Http\Services\SupplierStatisticsService;
class SupplierApiController extends Controller
{
......@@ -98,6 +99,7 @@ class SupplierApiController extends Controller
'has_legal_ID_card',
'agency_brands',
'purchase_type',
'sign_com_id',
];
public function Entrance(Request $request, $id)
......@@ -150,6 +152,7 @@ class SupplierApiController extends Controller
'swift_code',
'nation_id',
'intermediary_bank',
'sign_com_id',
]);
$channel = $request->only($channelMap);
......@@ -174,8 +177,9 @@ class SupplierApiController extends Controller
$channel['supplier_name'] = trim($channel['supplier_name']);
$channel['supplier_name'] = replaceSpecialSpace($channel['supplier_name']);
$channel['supplier_name'] = deleteExtraSpace($channel['supplier_name']);
$signComName = array_get(CrmService::getSignCompanyListMap(), $channel['sign_com_id']);
//校验一体化实体名单
$checkCompanyEntity = (new CompanyService())->checkCompanyEntity($channel['supplier_name'], $channel['supplier_name_en'], $channel['supplier_address'], $businessLicense);
$checkCompanyEntity = (new CompanyService())->checkCompanyEntity($channel['supplier_name'], $channel['supplier_name_en'], $channel['supplier_address'], $businessLicense, $signComName);
//待确认要透传到数据库里面去
if ($checkCompanyEntity == 0) {
$channel['is_entity'] = 0;
......@@ -276,7 +280,6 @@ class SupplierApiController extends Controller
} else {
$this->response(-1, '禁用失败');
}
}
//修改状态(禁用,启用(审核通过),驳回,草稿,取消黑名单)
......@@ -349,7 +352,6 @@ class SupplierApiController extends Controller
->where('supplier_name', '!=', $originSupplierName)
->value('supplier_name');
if ($supplierName !== $existedSupplierName) {
} else {
$this->response(-1, '供应商已存在,请重新输入或者咨询审批人');
}
......@@ -409,7 +411,6 @@ class SupplierApiController extends Controller
$this->response(-1, '审核失败');
}
$this->response(0, '审核成功');
}
//分配渠道开发员
......@@ -546,12 +547,12 @@ class SupplierApiController extends Controller
SupplierChannelModel::where('supplier_id', $supplierId)->update([
'tax_number' => $taxNumber,
]);
// $this->response(-1, '该供应商属于国内,但是没有税号,不允许同步');
// $this->response(-1, '该供应商属于国内,但是没有税号,不允许同步');
}
if ($supplier['is_standard_add'] == 1 && $supplier['region'] != SupplierChannelModel::REGION_CN) {
// if (empty($companyInfo)) {
// $this->response(-1, '该供应商属于海外,但是无法查询公司信息,不允许同步');
// }
// if (empty($companyInfo)) {
// $this->response(-1, '该供应商属于海外,但是无法查询公司信息,不允许同步');
// }
}
$service = new SyncSupplierService();
$service->syncSupplierToUnited($supplierId);
......@@ -796,5 +797,4 @@ class SupplierApiController extends Controller
}
$this->response(0, '修改供应商名称成功,请等待一体化再次审核');
}
}
......@@ -74,7 +74,10 @@ class SupplierFilter
$q->where('supplier_name', 'like', "%${map['supplier_search_fuzzy']}%")
->orWhere('supplier_code', 'like', "%${map['supplier_search_fuzzy']}%");
});
}
if (!empty($map['sign_com_id'])) {
$query->where('sign_com_id', $map['sign_com_id']);
}
if (!empty($map['create_uid'])) {
......
......@@ -4,13 +4,14 @@
namespace App\Http\Services;
//后台用户相关信息服务
use Log;
use App\Model\UserInfoModel;
use App\Model\IntracodeModel;
use App\Model\SupplierAddressModel;
use App\Model\SupplierAttachmentsModel;
use App\Model\SupplierChannelModel;
use App\Model\UserDepartmentModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;
use App\Model\SupplierAddressModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierAttachmentsModel;
class CompanyService
{
......@@ -84,7 +85,7 @@ class CompanyService
}
//校验是否实体名单通过
public function checkCompanyEntity($supplierName, $supplierNameEn = '', $supplierAddress = '', $businessLicense = '')
public function checkCompanyEntity($supplierName, $supplierNameEn = '', $supplierAddress = '', $businessLicense = '', $signComName = '')
{
$params = [
'company_name_cn' => $supplierName,
......@@ -96,6 +97,7 @@ class CompanyService
'create_name' => request()->user->name,
'source_system_id' => 1,
'address_data' => [],
'sign_company_name' => $signComName,
];
$url = config('website.UnitedDataDomain') . '/sync/Company/checkCompanyEntity';
$result = curlJson($url, $params);
......@@ -103,7 +105,7 @@ class CompanyService
if (array_get($result, 'code') === 0) {
return $result['data']['result'];
}
\Log::error(json_encode($result));
Log::error(json_encode($result));
return '一体化校验实体名单失败,请联系管理员';
}
......@@ -178,7 +180,7 @@ class CompanyService
return $result['data']['result'];
}
\Log::error(json_encode($result));
Log::error(json_encode($result));
return '一体化校验实体名单失败,请联系管理员';
}
}
<?php
namespace App\Http\Services;
use GuzzleHttp\Client;
use App\Model\RedisModel;
use Illuminate\Support\Facades\DB;
class CrmService
{
//获取签约公司列表
public static function getSignCompanyList()
{
$cacheKey = 'sign_company_list';
$cachedData = (new RedisModel())->get($cacheKey);
if ($cachedData) {
return json_decode($cachedData, true);
}
$url = env('CRM_URL') . '/open/signComs/getSignComs';
$client = new Client();
$response = $client->get($url);
$result = json_decode($response->getBody()->getContents(), true);
if ($result['code'] != 0) {
return [];
}
(new RedisModel())->setex($cacheKey, 60, json_encode($result['data']['list']));
return $result['data']['list'];
}
//获取简单形式给各个地方使用
public static function getSignCompanyListMap()
{
$list = self::getSignCompanyList();
$map = [];
foreach ($list as $item) {
$map[$item['sign_com_id']] = $item['com_name'];
}
return $map;
}
}
......@@ -908,7 +908,8 @@ class SupplierService
$businessLicense = $registrationCertificate;
}
}
$checkCompanyEntity = (new CompanyService())->checkCompanyEntity($supplierName, $supplier['supplier_name_en'], $supplier['supplier_address'], $businessLicense);
$signComName = array_get(CrmService::getSignCompanyListMap(), $supplier['sign_com_id']);
$checkCompanyEntity = (new CompanyService())->checkCompanyEntity($supplierName, $supplier['supplier_name_en'], $supplier['supplier_address'], $businessLicense, $signComName);
//还要去检测是否是一体化黑名单
//新增的时候要先去检验下一体化的数据,如果是实体黑名单用户,那么就不允许新增
//还要校验提交上来的公司是否有合法信息
......
......@@ -4,20 +4,21 @@
namespace App\Http\Transformers;
use App\Model\LogModel;
use App\Model\RedisModel;
use App\Model\IntracodeModel;
use App\Http\Services\CrmService;
use App\Http\Services\SkuService;
use App\Model\SupplierExtendModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use App\Http\Services\SupplierService;
use App\Http\Services\AdminUserService;
use App\Http\Services\ViewCheckService;
use App\Http\Services\DepartmentService;
use App\Http\Services\SkuService;
use App\Http\Services\SupplierPayTypeService;
use App\Http\Services\SupplierService;
use App\Http\Services\SupplierSkuAuditRulerService;
use App\Http\Services\SupplierSkuUploadRulerService;
use App\Http\Services\ViewCheckService;
use App\Model\IntracodeModel;
use App\Model\LogModel;
use App\Model\RedisModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use App\Model\SupplierExtendModel;
class SupplierTransformer
{
......@@ -69,7 +70,7 @@ class SupplierTransformer
$userInfo = $adminUserService->getAdminUserInfo($supplier['create_uid']);
$supplier['create_name'] = array_get($userInfo, 'name');
}
$supplier['sign_com_name'] = array_get(CrmService::getSignCompanyListMap(), $supplier['sign_com_id']);
$supplier['last_upload_sku_time'] = array_get($lastUploadSkuTimes, $supplier['supplier_code']) ? date('Y-m-d H:i:s',
$lastUploadSkuTimes[$supplier['supplier_code']]) : '';
......@@ -178,6 +179,7 @@ class SupplierTransformer
$supplier['established_time'] = !empty($supplier['established_time']) ? date('Y-m-d',
$supplier['established_time']) : '';
$supplier = $this->getStockupType($supplier);
$supplier['sign_com_name'] = array_get(CrmService::getSignCompanyListMap(), $supplier['sign_com_id']);
$supplier['status_name'] = array_get(config('fixed.SupplierStatus'), $supplier['status']);
$supplier['region_name'] = array_get(config('fixed.Region'), $supplier['region']);
$supplier['currency_name'] = array_get(config('fixed.Currency'), $supplier['currency']);
......
......@@ -12,10 +12,12 @@
*/
use App\Model\RedisModel;
use App\Http\Services\SkuService;
use App\Http\Services\CompanyService;
use App\Http\Services\CrmService;
use Illuminate\Support\Facades\Route;
use App\Http\Services\DepartmentService;
use App\Http\Services\SkuService;
use App\Model\RedisModel;
Route::group(['middleware' => ['web', 'menu']], function () {
Route::get('/', 'WebController@Entrance');
......@@ -86,15 +88,6 @@ Route::group(['middleware' => ['external'], 'namespace' => 'Sync'], function ()
});
Route::match(['get', 'post'], '/test', function () {
\App\Model\SupplierChannelModel::where('supplier_id', 129)->update([
'is_entity' => -1,
'status' => 2,
'update_time' => time(),
]);
\App\Model\SupplierChannelModel::where('supplier_id', 8214)->update([
'is_entity' => 1,
'status' => -2,
'update_time' => time(),
]);
$list = CrmService::getSignCompanyList();
dd($list);
});
......@@ -13,10 +13,11 @@ class StatusPresenter
$width = array_get($option, 'width', 'auto');
$noName = array_get($option, 'noName');
$name = $noName ? '' : $name;
$title = array_get($option, 'title');
$labelWidth = array_get($option, 'label_width');
$requiredHtml = $isRequired ? '<span class="require">*</span>' : "";
$html = <<<EOF
<label class="layui-form-label" style="width: $labelWidth">
<label class="layui-form-label" style="width: $labelWidth" title="$title">
$requiredHtml
$text
</label>
......@@ -45,4 +46,4 @@ EOF;
}
return $optionsHtml;
}
}
\ No newline at end of file
}
......@@ -57,5 +57,7 @@ return [
'billing_period_detail' => '账期详情',
'registered_capital' => '注册资金(万)',
'purchase_type_name' => '代购类型',
'sign_com_id' => '签约公司id',
'sign_com_name' => '签约公司名称',
]
];
\ No newline at end of file
];
......@@ -42,5 +42,6 @@ return [
],
'TagUrl' => env('TAG_URL'),
'CloudUrl' => env('CLOUD_URL'),
'CrmUrl' => env('CRM_URL'),
'SkipSendEmail' => env('skip_send_email'),
];
......@@ -222,6 +222,7 @@
}
}
},
{field: 'sign_com_name', title: '签约公司', align: 'center', width: 130},
{field: 'last_update_name', title: '最新修改人', align: 'center', width: 110},
{
field: 'contact_num', title: '联系人', align: 'center', width: 70, templet: function (data) {
......
......@@ -265,12 +265,18 @@
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-col-md3">
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('purchase_type','代购类型 : ',!empty($supplier)?$supplier['purchase_type']:'',config('field.PurchaseType')) !!}
</div>
</div>
<div class="layui-col-md3">
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('sign_com_id','签约公司 : ',!empty($supplier)?$supplier['sign_com_id']:2,\App\Http\Services\CrmService::getSignCompanyListMap(),['title'=>'发生跨境交易时的合同签约主体','required'=>true]) !!}
</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">资信调查 : </label>
......
......@@ -210,6 +210,9 @@
<div class="layui-col-md2">
代购类型 : {{$supplier['purchase_type_name']}}
</div>
<div class="layui-col-md2">
签约公司 : {{$supplier['sign_com_name']}}
</div>
</div>
<div class="layui-row">
<div class="layui-col-md2">
......
......@@ -271,12 +271,18 @@
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-inline">
<div class="layui-col-md3">
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('purchase_type','代购类型 : ',!empty($supplier)?$supplier['purchase_type']:'',config('field.PurchaseType')) !!}
</div>
</div>
</div>
<div class="layui-col-md3">
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('sign_com_id','签约公司 : ',!empty($supplier)?$supplier['sign_com_id']:2,\App\Http\Services\CrmService::getSignCompanyListMap(),['title'=>'发生跨境交易时的合同签约主体','required'=>true]) !!}
</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">资信调查 : </label>
......
......@@ -17,113 +17,6 @@
</div>
</div>
</div>
{{-- <div class="split-item" id="s2" style="text-align: center">--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="need_review" data-value="-1">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @if(checkPerm('SupplierPendingList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="pending" data-value="0">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierInReviewList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="in_review" data-value="1">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierRejectList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="rejected" data-value="3">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierPassedList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="passed" data-value="2">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- </div>--}}
{{-- <div class="split-item" id="s3" style="text-align: center">--}}
{{-- @if(checkPerm('SupplierNoPurchaseUidList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a title="非禁用状态的渠道开发员为空的供应商" class="main_filter" id="no_purchase_uid">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierNoChannelUidList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a title="采购员为空的供应商" class="main_filter" id="no_channel_uid">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierInvalidChannelUidList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a title="非禁止交易状态联系人绑定的采购员姓名不在组织架构中(采购员离职)的供应商"--}}
{{-- class="main_filter"--}}
{{-- id="invalid_channel_uid">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierInvalidPurchaseUidList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a title="非禁止交易状态联系人绑定的渠道开发员姓名不在组织架构中(渠道开发员离职)的供应商"--}}
{{-- class="main_filter"--}}
{{-- id="invalid_purchase_uid">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- <div class="layui-row">--}}
{{-- <a title="联系人中存在非必填字段未填写" class="main_filter"--}}
{{-- id="contact_no_complete">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="split-item" id="s4" style="text-align: center">--}}
{{-- @if(checkPerm('SupplierToFollowUpList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a title="非禁止交易状态的供应商重新分配渠道员,且必填信息不完整;或者禁用状态的供应商重新分配渠道员"--}}
{{-- class="main_filter"--}}
{{-- id="to_follow_up">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierNoSkuList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="no_sku">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- <div class="layui-row">--}}
{{-- <a title="采购员全离职" class="main_filter" id="all_channel_user_resigned">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="split-item" id="s5" style="text-align: center">--}}
{{-- @if(checkPerm('SupplierBlockList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="block" data-value="-3">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- @if(checkPerm('SupplierDisableList'))--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" id="disable" data-value="-2">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- @endif--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" title="历史检测异常" id="history_abnormal">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- <div class="layui-row">--}}
{{-- <a class="main_filter" title="系统标签中贴有客户指定的供应商" id="has_supplier_tag">--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- </div>--}}
<div class="split-item" id="s6" style="text-align: center">
<div class="layui-row">
<a class="main_filter" title="战略供应商" id="level_a">
......@@ -326,6 +219,10 @@
{!! $statusPresenter->render('is_entity','实体名单','',config('field.IsEntity')) !!}
</div>
<div class="layui-inline">
@inject('statusPresenter', 'App\Presenters\StatusPresenter')
{!! $statusPresenter->render('sign_com_id', '签约公司', 0, \App\Http\Services\CrmService::getSignCompanyListMap()) !!}
</div>
<div class="layui-inline">
<label class="layui-form-label">创建部门</label>
<div class="layui-input-inline">
<div id="create_user_department" style="width: 150px"></div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment