Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄成意
/
php_frq_api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
6cfb0f3a
authored
Jun 10, 2021
by
连敬荣
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
报价代码重构
parent
37406929
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
2 deletions
app/Http/Controllers/SearchController.php
app/Http/routes/api.php
app/Http/Controllers/SearchController.php
View file @
6cfb0f3a
...
@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
...
@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
use
App\Http\Utils\ApiCode
;
use
App\Http\Utils\ApiCode
;
use
App\Http\Utils\AppType
;
use
App\Http\Utils\RequestHelper
;
use
App\map\InquiryMap
;
use
App\map\InquiryMap
;
use
App\map\QuoteMap
;
use
App\map\QuoteMap
;
use
App\Model\BestGoodsModel
;
use
App\Model\BestGoodsModel
;
...
@@ -365,4 +367,156 @@ class SearchController extends Controller
...
@@ -365,4 +367,156 @@ class SearchController extends Controller
return
[
ApiCode
::
API_CODE_SUCCESS
,
'成功'
,
$list
[
'data'
],
$list
[
'total'
]];
return
[
ApiCode
::
API_CODE_SUCCESS
,
'成功'
,
$list
[
'data'
],
$list
[
'total'
]];
}
}
public
function
getQuoteList
(
Request
$request
,
$export
=
''
)
{
$quoteModel
=
new
QuoteModel
();
$input
=
$request
->
input
();
$userInfo
=
$this
->
user
();
$page
=
$input
[
'page'
];
$limit
=
$input
[
'limit'
];
$type
=
$input
[
'type'
];
// 1-我的报价,2-所有报价,3-报价草稿,4-销售首页
$input
[
'user_id'
]
=
$userInfo
[
'user_id'
];
//赋值用户信息
$input
[
'user_name'
]
=
$userInfo
[
'user_name'
];
$input
[
'email'
]
=
$userInfo
[
'email'
];
$map
[
'inquiry_sn'
]
=
isset
(
$input
[
'inquiry_sn'
])
?
trim
(
$input
[
'inquiry_sn'
])
:
''
;
// 询价单号
$map
[
'goods_name'
]
=
isset
(
$input
[
'goods_name'
])
?
trim
(
$input
[
'goods_name'
])
:
''
;
// 型号
$map
[
'brand_name'
]
=
isset
(
$input
[
'brand_name'
])
?
trim
(
$input
[
'brand_name'
])
:
''
;
// 品牌
$map
[
'quote_sn'
]
=
isset
(
$input
[
'quote_sn'
])
?
trim
(
$input
[
'quote_sn'
])
:
''
;
// 报价单号
$map
[
'status'
]
=
isset
(
$input
[
'status'
])
?
$input
[
'status'
]
:
''
;
// 报价状态
$map
[
'source'
]
=
isset
(
$input
[
'source'
])
?
$input
[
'source'
]
:
''
;
// 来源
$map
[
'start_time'
]
=
!
empty
(
$input
[
'start_time'
])
?
strtotime
(
$input
[
'start_time'
])
:
''
;
$map
[
'end_time'
]
=
!
empty
(
$input
[
'end_time'
])
?
strtotime
(
$input
[
'end_time'
])
+
86399
:
''
;
$map
=
array_filter
(
$map
)
?
$map
:
[];
$field
=
[
'q.id'
,
'q.inquiry_id'
,
'q.inquiry_sn'
,
'q.inquiry_items_id'
,
'q.quote_sn'
,
'q.source'
,
'q.price_origin'
,
'q.price_rmb'
,
'q.price_other'
,
'q.currency'
,
'q.goods_name as quote_goods_name'
,
'q.brand_name as quote_brand_name'
,
'q.supplier_id'
,
'q.supplier_name'
,
'q.quote_number'
,
'q.status'
,
'q.create_uid'
,
'q.create_name'
,
'q.delivery_time'
,
'q.batch'
,
'q.create_time'
,
"q.tax_rate"
,
"q.mpq"
,
"q.moq"
,
"q.remark"
,
"q.expire_time"
,
'it.goods_name'
,
'it.brand_name'
,
'it.inquiry_number'
,
];
// if ($map) {
$list
=
$quoteModel
->
commonQuery
(
$map
,
$input
);
// } else {
// $list = $this->from('quote as q')
// ->join('inquiry_items as it', 'q.inquiry_items_id', '=', 'it.id');
// }
$map
[
'create_uid'
]
=
isset
(
$input
[
'create_uid'
])
?
$input
[
'create_uid'
]
:
''
;
// 报价制单人
if
(
$type
==
1
)
{
$list
=
$list
->
where
(
'q.create_uid'
,
$input
[
'user_id'
])
->
whereNotIn
(
'q.status'
,
[
0
,
-
1
]);
// 过滤报价草稿
// 如果是云芯的,过滤已删除状态
if
(
RequestHelper
::
getClientType
()
==
AppType
::
APPTYPE_YUNXIN
){
$list
=
$list
->
where
(
'q.status'
,
'<>'
,
QuoteModel
::
STATUS_DEL
);
}
}
elseif
(
$type
==
2
)
{
$perm
=
new
PermController
;
$role
=
$perm
->
getUserRole
(
$input
[
'user_id'
],
$input
[
'email'
]);
// 用户角色
if
(
$role
==
4
)
{
// 采购查看下级
$sub_sale_ids
=
$perm
->
getSubSaleId
(
$input
[
'user_id'
]);
$list
=
$list
->
whereIn
(
'q.create_uid'
,
$sub_sale_ids
);
}
$list
=
$list
->
whereNotIn
(
'q.status'
,
[
0
,
-
1
]);
// 过滤报价草稿
}
elseif
(
$type
==
3
)
{
$list
=
$list
->
where
(
'q.status'
,
0
)
->
whereIn
(
'q.inquiry_items_id'
,
explode
(
','
,
$input
[
'inquiry_items_ids'
]));
}
elseif
(
@
$input
[
'inquiry_items_id'
]
>
0
)
{
$list
=
$list
->
whereNotIn
(
'q.status'
,
[
0
,
-
1
])
->
where
(
'q.inquiry_items_id'
,
$input
[
'inquiry_items_id'
]);
}
elseif
(
isset
(
$input
[
'inquiry_items_ids'
])
&&
$input
[
'inquiry_items_ids'
])
{
$inquiry_items_ids
=
explode
(
","
,
$input
[
'inquiry_items_ids'
]);
$inquiry_items_ids
=
array_values
(
array_filter
(
$inquiry_items_ids
));
$list
=
$list
->
whereNotIn
(
'q.status'
,
[
0
,
-
1
])
->
whereIn
(
'q.inquiry_items_id'
,
$inquiry_items_ids
);
}
if
(
$map
[
'create_uid'
])
{
// 制单人
$list
=
$list
->
where
(
'q.create_uid'
,
$map
[
'create_uid'
]);
}
$list
=
$list
->
select
(
$field
)
->
orderBy
(
'id'
,
'desc'
);
// dump($list->getBindings());
// dump($list->toSql());
// $tmp = str_replace('?', '"'.'%s'.'"', $list->toSql());
// $tmp = vsprintf($tmp, $list->getBindings());
// echo $tmp;
// exit;
if
(
$export
)
{
$list
=
$list
->
get
()
->
toArray
();
if
(
empty
(
$list
))
{
echo
'<script>alert("导出数据为空");history.go(-1);</script>'
;
die
;
}
ExportLayui
(
$list
);
}
else
{
$list
=
$list
->
paginate
(
$limit
,
[
'*'
],
'page'
,
$page
)
->
toArray
();
$list
[
'data'
]
=
$quoteModel
->
handleData
(
$list
[
'data'
],
$type
);
$msg
=
'成功'
;
if
(
$type
==
1
)
{
// 我的报价
if
(
isset
(
$map
[
'status'
])
&&
$map
[
'status'
])
{
switch
(
$map
[
'status'
])
{
case
1
:
$list
[
'count'
][
'quoted_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
$list
[
'count'
][
'selected_status'
]
=
0
;
$list
[
'count'
][
'confirmed_status'
]
=
0
;
break
;
case
2
:
$list
[
'count'
][
'quoted_status'
]
=
0
;
$list
[
'count'
][
'selected_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
$list
[
'count'
][
'confirmed_status'
]
=
0
;
break
;
case
3
:
$list
[
'count'
][
'quoted_status'
]
=
0
;
$list
[
'count'
][
'selected_status'
]
=
0
;
$list
[
'count'
][
'confirmed_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
break
;
}
}
else
{
$map
[
'status'
]
=
1
;
$list
[
'count'
][
'quoted_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
$map
[
'status'
]
=
2
;
$list
[
'count'
][
'selected_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
$map
[
'status'
]
=
3
;
$list
[
'count'
][
'confirmed_status'
]
=
$quoteModel
->
commonQuery
(
$map
,
$input
,
2
);
}
if
(
isset
(
$list
[
'count'
])){
$msg
=
$list
[
'count'
];
}
}
// return [0, '获取成功', $list['data'], $list['total']];
ExportLayui
([
ApiCode
::
API_CODE_SUCCESS
,
$msg
,
$list
[
'data'
],
$list
[
'total'
]]);
}
}
}
}
\ No newline at end of file
app/Http/routes/api.php
View file @
6cfb0f3a
...
@@ -9,4 +9,5 @@ Route::Post('/ApiDeleteInquiryItems','DataController@deleteInquiryItemsDetail');
...
@@ -9,4 +9,5 @@ Route::Post('/ApiDeleteInquiryItems','DataController@deleteInquiryItemsDetail');
Route
::
Post
(
'/ApiEditInquiry'
,
'DataController@creatInquiry'
);
//新增询价;
Route
::
Post
(
'/ApiEditInquiry'
,
'DataController@creatInquiry'
);
//新增询价;
Route
::
Post
(
'/ApiUpdateOneItems'
,
'DataController@editInquiryItemDetail'
);
//修改单条明细记录;
Route
::
Post
(
'/ApiUpdateOneItems'
,
'DataController@editInquiryItemDetail'
);
//修改单条明细记录;
Route
::
Get
(
'/ApiInquiryList'
,
'SearchController@getInquiryList'
);
//询价列表;
Route
::
Get
(
'/ApiInquiryList'
,
'SearchController@getInquiryList'
);
//询价列表;
Route
::
Post
(
'/ApiInquiryListPool'
,
'SearchController@getInquiryListPool'
);
//
询价池
;
Route
::
Post
(
'/ApiInquiryListPool'
,
'SearchController@getInquiryListPool'
);
//询价池;
\ No newline at end of file
Route
::
Post
(
'/ApiQuoteList'
,
'SearchController@getQuoteList'
);
//
报价列表
;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment