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
2ea3124c
authored
Jun 08, 2021
by
连敬荣
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
代码重构
parent
163cfd9a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
379 additions
and
30 deletions
app/Http/Controllers/DataController.php
app/Http/Controllers/SearchController.php
app/Http/routes/api.php
app/Http/Controllers/DataController.php
View file @
2ea3124c
...
@@ -4,12 +4,16 @@ namespace App\Http\Controllers;
...
@@ -4,12 +4,16 @@ namespace App\Http\Controllers;
use
App\Http\Queue\RabbitQueueModel
;
use
App\Http\Queue\RabbitQueueModel
;
use
App\Http\Utils\ApiCode
;
use
App\Http\Utils\ApiCode
;
use
App\map\InquiryMap
;
use
App\map\QuoteMap
;
use
App\Model\BestGoodsModel
;
use
App\Model\CommonModel
;
use
App\Model\CommonModel
;
use
App\Model\InquiryItemsAssignModel
;
use
App\Model\InquiryItemsAssignModel
;
use
App\Model\InquiryItemsModel
;
use
App\Model\InquiryItemsModel
;
use
App\Model\InquiryItemsReportModel
;
use
App\Model\InquiryItemsReportModel
;
use
App\Model\InquiryModel
;
use
App\Model\InquiryModel
;
use
App\Model\InquiryUsersModel
;
use
App\Model\InquiryUsersModel
;
use
App\Model\QuoteModel
;
use
Dompdf\Exception
;
use
Dompdf\Exception
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
use
DB
;
use
DB
;
...
@@ -235,17 +239,19 @@ class DataController extends Controller
...
@@ -235,17 +239,19 @@ class DataController extends Controller
exit
();
exit
();
}
}
public
function
editInquiryItemDetail
(
Request
$request
){
//修改单挑询价明细
public
function
editInquiryItemDetail
(
Request
$request
){
//修改单挑询价明细
$input
=
$request
->
input
();
$userInfo
=
$this
->
user
();
$inquiryItemsModel
=
new
InquiryItemsModel
();
$inquiryItemsModel
=
new
InquiryItemsModel
();
$inquiry_items_id
=
@
$
request
[
"inquiry_items_id"
]
?
$reques
t
[
"inquiry_items_id"
]
:
""
;
$inquiry_items_id
=
@
$
input
[
"inquiry_items_id"
]
?
$inpu
t
[
"inquiry_items_id"
]
:
""
;
if
(
!
$inquiry_items_id
){
if
(
!
$inquiry_items_id
){
return
[
ApiCode
::
API_CODE_DATA_INVALID
,
"修改明细ID不得为空"
];
return
[
ApiCode
::
API_CODE_DATA_INVALID
,
"修改明细ID不得为空"
];
}
}
if
(
empty
(
$
reques
t
[
"goods_name"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择型号名称"
];
if
(
empty
(
$
inpu
t
[
"goods_name"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择型号名称"
];
if
(
empty
(
$
reques
t
[
"brand_s"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择品牌名称"
];
if
(
empty
(
$
inpu
t
[
"brand_s"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择品牌名称"
];
if
(
empty
(
$
reques
t
[
"inquiry_number"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请输入询价数量"
];
if
(
empty
(
$
inpu
t
[
"inquiry_number"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请输入询价数量"
];
if
(
empty
(
$
reques
t
[
"batch"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请输入批次要求"
];
if
(
empty
(
$
inpu
t
[
"batch"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请输入批次要求"
];
if
(
empty
(
$
reques
t
[
"delivery_time"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择交货日期"
];
if
(
empty
(
$
inpu
t
[
"delivery_time"
]))
return
[
ApiCode
::
API_CODE_DATA_EMPTY
,
"请选择交货日期"
];
try
{
try
{
$con
=
DB
::
connection
(
'rfq'
);
$con
=
DB
::
connection
(
'rfq'
);
...
@@ -253,28 +259,28 @@ class DataController extends Controller
...
@@ -253,28 +259,28 @@ class DataController extends Controller
$InquiryItemsAssignModel
=
(
new
InquiryItemsAssignModel
());
$InquiryItemsAssignModel
=
(
new
InquiryItemsAssignModel
());
#更新明细
#更新明细
$
requestrandInfo
=
json_decode
(
$reques
t
[
"brand_s"
],
true
);
$
inputrandInfo
=
json_decode
(
$inpu
t
[
"brand_s"
],
true
);
$
request
[
"brand_id"
]
=
$reques
trandInfo
[
0
][
"value"
];
$
input
[
"brand_id"
]
=
$inpu
trandInfo
[
0
][
"value"
];
$
request
[
"brand_name"
]
=
$reques
trandInfo
[
0
][
"name"
];
$
input
[
"brand_name"
]
=
$inpu
trandInfo
[
0
][
"name"
];
$updateArr
=
[
$updateArr
=
[
"goods_name"
=>@
$
request
[
"goods_name"
]
?
$reques
t
[
"goods_name"
]
:
""
,
"goods_name"
=>@
$
input
[
"goods_name"
]
?
$inpu
t
[
"goods_name"
]
:
""
,
"brand_id"
=>@
$
request
[
"brand_id"
]
?
$reques
t
[
"brand_id"
]
:
0
,
"brand_id"
=>@
$
input
[
"brand_id"
]
?
$inpu
t
[
"brand_id"
]
:
0
,
"brand_name"
=>@
$
request
[
"brand_name"
]
?
$reques
t
[
"brand_name"
]
:
""
,
"brand_name"
=>@
$
input
[
"brand_name"
]
?
$inpu
t
[
"brand_name"
]
:
""
,
"class_id2"
=>@
$
request
[
"class_id2"
]
?
$reques
t
[
"class_id2"
]
:
0
,
"class_id2"
=>@
$
input
[
"class_id2"
]
?
$inpu
t
[
"class_id2"
]
:
0
,
"class_id2_name"
=>@
$
request
[
"class_id2_name"
]
?
$reques
t
[
"class_id2_name"
]
:
""
,
"class_id2_name"
=>@
$
input
[
"class_id2_name"
]
?
$inpu
t
[
"class_id2_name"
]
:
""
,
"inquiry_number"
=>@
$
request
[
"inquiry_number"
]
?
$reques
t
[
"inquiry_number"
]
:
0
,
"inquiry_number"
=>@
$
input
[
"inquiry_number"
]
?
$inpu
t
[
"inquiry_number"
]
:
0
,
"target_price"
=>@
$
request
[
"target_price"
]
?
$reques
t
[
"target_price"
]
:
0
,
"target_price"
=>@
$
input
[
"target_price"
]
?
$inpu
t
[
"target_price"
]
:
0
,
"delivery_time"
=>@
$
request
[
"delivery_time"
]
?
$reques
t
[
"delivery_time"
]
:
""
,
"delivery_time"
=>@
$
input
[
"delivery_time"
]
?
$inpu
t
[
"delivery_time"
]
:
""
,
"batch"
=>@
$
request
[
"batch"
]
?
$reques
t
[
"batch"
]
:
""
,
"batch"
=>@
$
input
[
"batch"
]
?
$inpu
t
[
"batch"
]
:
""
,
"assign_type"
=>@
$
reques
t
[
"pur_s"
]
!=
""
?
1
:
2
,
"assign_type"
=>@
$
inpu
t
[
"pur_s"
]
!=
""
?
1
:
2
,
"remark"
=>@
$
request
[
"remark"
]
?
$reques
t
[
"remark"
]
:
""
,
"remark"
=>@
$
input
[
"remark"
]
?
$inpu
t
[
"remark"
]
:
""
,
"flag"
=>
0
,
#重新自动报价
"flag"
=>
0
,
#重新自动报价
"create_time"
=>
time
()
,
"create_time"
=>
time
()
,
"update_time"
=>
time
()
,
"update_time"
=>
time
()
,
];
];
// 无需报价没勾选,则默认为待报价
// 无需报价没勾选,则默认为待报价
if
(
isset
(
$
request
[
'is_quote'
])
&&
$reques
t
[
'is_quote'
]
==
'on'
)
{
if
(
isset
(
$
input
[
'is_quote'
])
&&
$inpu
t
[
'is_quote'
]
==
'on'
)
{
$updateArr
[
'is_quote'
]
=
-
1
;
$updateArr
[
'is_quote'
]
=
-
1
;
$updateArr
[
'status'
]
=
5
;
$updateArr
[
'status'
]
=
5
;
}
else
{
}
else
{
...
@@ -288,8 +294,8 @@ class DataController extends Controller
...
@@ -288,8 +294,8 @@ class DataController extends Controller
// $InquiryItemsAssignModel->where("inquiry_items_id",$inquiry_items_id)->delete();
// $InquiryItemsAssignModel->where("inquiry_items_id",$inquiry_items_id)->delete();
$InquiryItemsAssignModel
->
clearOutAssign
(
$inquiry_items_id
);
$InquiryItemsAssignModel
->
clearOutAssign
(
$inquiry_items_id
);
#插入采购
#插入采购
if
(
@
$
reques
t
[
"pur_s"
]
!=
""
){
if
(
@
$
inpu
t
[
"pur_s"
]
!=
""
){
$purArr
=
json_decode
(
$
reques
t
[
"pur_s"
],
true
);
#指定采购
$purArr
=
json_decode
(
$
inpu
t
[
"pur_s"
],
true
);
#指定采购
$assignInsert
=
[];
#指定领取人
$assignInsert
=
[];
#指定领取人
foreach
(
$purArr
as
$f
=>
$c
){
foreach
(
$purArr
as
$f
=>
$c
){
array_push
(
$assignInsert
,[
array_push
(
$assignInsert
,[
...
@@ -317,7 +323,7 @@ class DataController extends Controller
...
@@ -317,7 +323,7 @@ class DataController extends Controller
$assignInfo
=
(
new
InquiryItemsAssignModel
())
->
getAssignInfo
(
$inquiry_items_id
);
//select("assign_uid")->where("inquiry_items_id",$inquiry_items_id)->get();
$assignInfo
=
(
new
InquiryItemsAssignModel
())
->
getAssignInfo
(
$inquiry_items_id
);
//select("assign_uid")->where("inquiry_items_id",$inquiry_items_id)->get();
if
(
$assignInfo
){
if
(
$assignInfo
){
$assignInfoArr
=
$assignInfo
->
toArray
();
$assignInfoArr
=
$assignInfo
->
toArray
();
$msg
=
$
reques
t
[
"user_name"
]
.
'已修改询价,询价单号:'
.
$mainArr
[
"inquiry_sn"
]
.
',内容改动后:型号:'
.
$updateArr
[
"goods_name"
]
$msg
=
$
inpu
t
[
"user_name"
]
.
'已修改询价,询价单号:'
.
$mainArr
[
"inquiry_sn"
]
.
',内容改动后:型号:'
.
$updateArr
[
"goods_name"
]
.
',品牌:'
.
$updateArr
[
"brand_name"
]
.
',批次要求:'
.
$updateArr
[
"batch"
]
.
',交货日期:'
.
(
$updateArr
[
"delivery_time"
]
>
6
?
(
$updateArr
[
"delivery_time"
]
/
7
)
.
"周"
:
$updateArr
[
"delivery_time"
]
.
"天"
)
.
',询价数量:'
.
$updateArr
[
"inquiry_number"
];
.
',品牌:'
.
$updateArr
[
"brand_name"
]
.
',批次要求:'
.
$updateArr
[
"batch"
]
.
',交货日期:'
.
(
$updateArr
[
"delivery_time"
]
>
6
?
(
$updateArr
[
"delivery_time"
]
/
7
)
.
"周"
:
$updateArr
[
"delivery_time"
]
.
"天"
)
.
',询价数量:'
.
$updateArr
[
"inquiry_number"
];
foreach
(
$assignInfoArr
as
$k
=>
$v
){
foreach
(
$assignInfoArr
as
$k
=>
$v
){
$CommonModel
->
send_msg
(
$v
[
"assign_uid"
],
$msg
);
$CommonModel
->
send_msg
(
$v
[
"assign_uid"
],
$msg
);
...
@@ -333,8 +339,8 @@ class DataController extends Controller
...
@@ -333,8 +339,8 @@ class DataController extends Controller
'content'
=>
'修改询价,型号:'
.
$updateArr
[
"goods_name"
]
.
" 品牌名称:"
.
$updateArr
[
"brand_name"
]
'content'
=>
'修改询价,型号:'
.
$updateArr
[
"goods_name"
]
.
" 品牌名称:"
.
$updateArr
[
"brand_name"
]
.
" 货期:"
.
$updateArr
[
"delivery_time"
]
.
" 询价数量:"
.
$updateArr
[
"inquiry_number"
]
.
" 批次:"
.
$updateArr
[
"batch"
]
.
" 货期:"
.
$updateArr
[
"delivery_time"
]
.
" 询价数量:"
.
$updateArr
[
"inquiry_number"
]
.
" 批次:"
.
$updateArr
[
"batch"
]
.
" 目标价:"
.
$updateArr
[
"target_price"
],
.
" 目标价:"
.
$updateArr
[
"target_price"
],
'create_uid'
=>
$
request
[
'user_id'
],
'create_uid'
=>
$
userInfo
[
'user_id'
],
'create_name'
=>
$
request
[
"user_name"
],
'create_name'
=>
$
userInfo
[
"user_name"
],
]);
]);
$con
->
commit
();
$con
->
commit
();
...
@@ -347,4 +353,169 @@ class DataController extends Controller
...
@@ -347,4 +353,169 @@ class DataController extends Controller
exit
();
exit
();
}
}
}
}
public
function
getList
(
$input
=
[],
$export
=
0
)
{
$user_id
=
@
$input
[
"user_id"
];
$user_name
=
@
$input
[
"user_name"
];
$rqpConn
=
DB
::
connection
(
'rfq'
);
$list
=
$rqpConn
->
table
(
'inquiry as a'
)
->
join
(
'inquiry_items as b'
,
'a.id'
,
'='
,
'b.inquiry_id'
)
->
select
(
DB
::
Raw
(
"lie_a.inquiry_sn,lie_a.currency,lie_a.status as status_a,lie_a.user_name,lie_a.create_name,lie_b.*"
))
->
where
(
function
(
$query
)
use
(
$input
)
{
if
(
@
$input
[
"types"
]
==
5
){
$query
->
where
(
'a.status'
,
0
);
}
else
{
$query
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
}
foreach
(
$input
as
$k
=>
$v
)
{
$v
=
trim
(
$v
);
if
(
empty
(
$v
))
{
continue
;
}
switch
(
$k
)
{
case
"inquiry_sn"
:
$query
->
whereRaw
(
'lie_a.'
.
$k
.
' like "%'
.
$v
.
'%" '
);
break
;
case
"inquiry_id"
:
$query
->
where
(
'a.id'
,
'='
,
$v
);
break
;
case
"goods_name"
:
case
"brand_name"
:
$query
->
whereRaw
(
'lie_b.'
.
$k
.
' like "%'
.
$v
.
'%" '
);
break
;
case
"customer_name"
:
$query
->
whereRaw
(
'lie_a.user_name like "'
.
$v
.
'%" '
);
break
;
case
"status"
:
$query
->
whereRaw
(
'lie_b.status in ('
.
rtrim
(
$v
,
","
)
.
')'
);
break
;
case
"create_uid"
:
$query
->
where
(
'a.create_uid'
,
'='
,
$v
);
break
;
case
"assign_type"
:
$query
->
where
(
'b.assign_type'
,
'='
,
$v
);
break
;
case
"start_time"
:
$query
->
where
(
'b.create_time'
,
'>='
,
strtotime
(
$v
));
break
;
case
"end_time"
:
$query
->
where
(
'b.create_time'
,
'<='
,
strtotime
(
$v
)
);
break
;
}
}
});
#不同类别查询
switch
(
@
$input
[
"types"
])
{
case
"1"
:
//我的询价
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
);
break
;
case
"2"
:
//我的已关闭询价
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
)
->
where
(
"b.status"
,
-
1
);
case
"3"
:
//所有询价
$perm
=
new
PermController
;
$role
=
$perm
->
getUserRole
(
$user_id
,
$user_name
);
// 用户角色
switch
(
$role
)
{
case
2
:
// 销售查看下级
$sub_sale_ids
=
$perm
->
getSubSaleId
(
$user_id
);
$list
=
$list
->
whereIn
(
'a.create_uid'
,
$sub_sale_ids
)
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
break
;
case
3
:
// 销售查看自己
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
)
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
break
;
}
break
;
}
$page
=
isset
(
$input
[
'p'
])
?
$input
[
'p'
]
:
$input
[
'page'
];
#排序
if
(
@
$input
[
"inquiry_number_sort"
]){
$list
=
$list
->
orderBy
(
'b.inquiry_number'
,
$input
[
"inquiry_number_sort"
]);
}
else
if
(
@
$input
[
"create_time_sort"
]){
$list
=
$list
->
orderBy
(
'b.create_time'
,
$input
[
"create_time_sort"
]);
}
else
{
$list
=
$list
->
orderBy
(
'b.id'
,
"desc"
);
}
$list
=
$list
->
paginate
(
@
$input
[
'limit'
]
?
$input
[
"limit"
]
:
10
,
[
'*'
],
'p'
,
@
$page
?
$page
:
1
)
->
toArray
();
if
(
!
$list
)
return
[
20001
,
'没有数据'
];
$QuoteModel
=
new
QuoteModel
();
$InquiryItemsAssignModel
=
new
InquiryItemsAssignModel
();
$BestGoodsModel
=
new
BestGoodsModel
();
$Redis
=
\RedisDB
::
connection
();
foreach
(
$list
[
'data'
]
as
$k
=>
&
$v
)
{
$inquiry_items_id
=
$v
[
"id"
];
#明细id
//报价
$v
[
'status_val'
]
=
InquiryMap
::
$status
[
$v
[
"status"
]];
if
(
$v
[
"status_val"
]
==
"已报价"
)
{
$count
=
$QuoteModel
->
where
(
"inquiry_items_id"
,
$inquiry_items_id
)
->
whereIn
(
"status"
,
QuoteMap
::
$status_used
)
->
count
();
$v
[
'status_val'
]
=
$v
[
'status_val'
]
.
"("
.
$count
.
")"
;
}
$v
[
'create_time'
]
=
timeToDate
(
$v
[
'create_time'
]);
//创建时间
$v
[
"customer_name"
]
=
$v
[
'user_name'
]
;
#目标价
if
(
@
$input
[
"types"
]
!=
5
){
$v
[
'target_price'
]
=
InquiryMap
::
$currency_sign
[
$v
[
"currency"
]]
.
$v
[
'target_price'
]
.
"
\t
"
;
// 客户目标报价
}
#交货日期
$v
[
'delivery_time'
]
=
$v
[
'delivery_time'
]
>
6
?
(
$v
[
'delivery_time'
]
/
7
)
.
'周'
:
$v
[
'delivery_time'
]
.
"天"
;
#查询所有报价
$v
[
'quote_price'
]
=
"--"
;
$quote
=
$QuoteModel
->
select
(
"status"
,
"currency"
,
"price_origin"
,
"price_rmb"
)
->
where
(
"inquiry_items_id"
,
$v
[
"id"
])
->
whereIn
(
"status"
,
QuoteMap
::
$status_used
)
->
orderby
(
"status"
,
"desc"
)
->
orderby
(
"price_rmb"
,
"asc"
)
->
first
();
if
(
$quote
){
$b
=
$quote
->
toArray
();
$lowerPrice
=
$b
[
"currency"
]
==
1
?
"¥"
.
$b
[
"price_rmb"
]
:
InquiryMap
::
$currency_sign
[
$b
[
"currency"
]]
.
$b
[
"price_origin"
];
$v
[
"quote_price"
]
=
$lowerPrice
;
}
#查询指定采购
$v
[
"assign_name"
]
=
""
;
if
(
$v
[
"assign_type"
]
==
1
){
$assign
=
$InquiryItemsAssignModel
->
select
(
DB
::
Raw
(
"GROUP_CONCAT(assign_name) assign_name"
))
->
where
(
"inquiry_items_id"
,
$inquiry_items_id
)
->
first
();
if
(
$assign
){
$v
[
"assign_name"
]
=
$assign
->
assign_name
;
}
}
$v
[
'inquiry_sn_origin'
]
=
$v
[
"inquiry_sn"
];
// 查询历史报价数
$v
[
'history_quote_count'
]
=
$QuoteModel
->
GetHistoryQuotedCount
(
$v
[
'goods_name'
]);
// 查询优选匹配数
$v
[
'best_count'
]
=
$BestGoodsModel
->
getCountByWhere
([[
"goods_name"
,
'='
,
$v
[
'goods_name'
]],
[
"g_status"
,
'='
,
BestGoodsModel
::
STATUS_ENABLE
]]);
// 在Redis集合中检查是否有新的报价
if
(
$export
==
0
){
$res
=
$Redis
->
SISMEMBER
(
'frq_quote_urge'
,
$v
[
'id'
]);
if
(
$res
)
{
$v
[
'inquiry_sn'
]
=
$v
[
'inquiry_sn'
]
.
"<span style='color:#f2f2f2;'> *</span>"
;
}
}
$v
[
'is_quote_val'
]
=
$v
[
'is_quote'
]
==
1
?
'是'
:
'否'
;
}
$data
=
$list
[
'data'
];
if
(
@
$input
[
"is_export"
]
==
1
)
{
#如果是导出
$data
=
$this
->
clearExport
(
$data
);
}
return
[
0
,
'成功'
,
$data
,
$list
[
'total'
]];
}
}
}
app/Http/Controllers/SearchController.php
View file @
2ea3124c
...
@@ -3,10 +3,15 @@
...
@@ -3,10 +3,15 @@
namespace
App\Http\Controllers
;
namespace
App\Http\Controllers
;
use
App\map\InquiryMap
;
use
App\map\QuoteMap
;
use
App\Model\BestGoodsModel
;
use
App\Model\InquiryItemsAssignModel
;
use
App\Model\InquiryItemsModel
;
use
App\Model\InquiryItemsModel
;
use
App\Model\LieBrandModel
;
use
App\Model\LieBrandModel
;
use
App\Model\QuoteModel
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
use
DB
;
class
SearchController
extends
Controller
class
SearchController
extends
Controller
{
{
...
@@ -39,8 +44,178 @@ class SearchController extends Controller
...
@@ -39,8 +44,178 @@ class SearchController extends Controller
$lieBrandModel
->
getBrandList
(
$k
,
$types
);
$lieBrandModel
->
getBrandList
(
$k
,
$types
);
}
}
public
function
checkUniqueGoods
(
Request
$request
)
public
function
checkUniqueGoods
(
Request
$request
)
{
var_dump
(
$request
->
input
());
exit
();
{
$InquiryItemsModel
=
new
InquiryItemsModel
();
$InquiryItemsModel
=
new
InquiryItemsModel
();
$InquiryItemsModel
->
checkGoods
(
$request
->
input
());
$InquiryItemsModel
->
checkGoods
(
$request
->
input
());
}
}
public
function
getInquiryList
(
Request
$request
){
$input
=
$request
->
input
();
Export
(
$this
->
getList
(
$input
));
}
protected
function
getList
(
$input
=
[],
$export
=
0
)
//获取询价列表
{
$user_id
=
@
$input
[
"user_id"
];
$user_name
=
@
$input
[
"user_name"
];
$rqpConn
=
DB
::
connection
(
'rfq'
);
$list
=
$rqpConn
->
table
(
'inquiry as a'
)
->
join
(
'inquiry_items as b'
,
'a.id'
,
'='
,
'b.inquiry_id'
)
->
select
(
DB
::
Raw
(
"lie_a.inquiry_sn,lie_a.currency,lie_a.status as status_a,lie_a.user_name,lie_a.create_name,lie_b.*"
))
->
where
(
function
(
$query
)
use
(
$input
)
{
if
(
@
$input
[
"types"
]
==
5
){
$query
->
where
(
'a.status'
,
0
);
}
else
{
$query
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
}
foreach
(
$input
as
$k
=>
$v
)
{
$v
=
trim
(
$v
);
if
(
empty
(
$v
))
{
continue
;
}
switch
(
$k
)
{
case
"inquiry_sn"
:
$query
->
whereRaw
(
'lie_a.'
.
$k
.
' like "%'
.
$v
.
'%" '
);
break
;
case
"inquiry_id"
:
$query
->
where
(
'a.id'
,
'='
,
$v
);
break
;
case
"goods_name"
:
case
"brand_name"
:
$query
->
whereRaw
(
'lie_b.'
.
$k
.
' like "%'
.
$v
.
'%" '
);
break
;
case
"customer_name"
:
$query
->
whereRaw
(
'lie_a.user_name like "'
.
$v
.
'%" '
);
break
;
case
"status"
:
$query
->
whereRaw
(
'lie_b.status in ('
.
rtrim
(
$v
,
","
)
.
')'
);
break
;
case
"create_uid"
:
$query
->
where
(
'a.create_uid'
,
'='
,
$v
);
break
;
case
"assign_type"
:
$query
->
where
(
'b.assign_type'
,
'='
,
$v
);
break
;
case
"start_time"
:
$query
->
where
(
'b.create_time'
,
'>='
,
strtotime
(
$v
));
break
;
case
"end_time"
:
$query
->
where
(
'b.create_time'
,
'<='
,
strtotime
(
$v
)
);
break
;
}
}
});
#不同类别查询
switch
(
@
$input
[
"types"
])
{
case
"1"
:
//我的询价
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
);
break
;
case
"2"
:
//我的已关闭询价
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
)
->
where
(
"b.status"
,
-
1
);
case
"3"
:
//所有询价
$perm
=
new
PermController
;
$role
=
$perm
->
getUserRole
(
$user_id
,
$user_name
);
// 用户角色
switch
(
$role
)
{
case
2
:
// 销售查看下级
$sub_sale_ids
=
$perm
->
getSubSaleId
(
$user_id
);
$list
=
$list
->
whereIn
(
'a.create_uid'
,
$sub_sale_ids
)
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
break
;
case
3
:
// 销售查看自己
$list
=
$list
->
where
(
'a.create_uid'
,
$user_id
)
->
whereIn
(
'a.status'
,
[
-
1
,
1
]);
break
;
}
break
;
}
$page
=
isset
(
$input
[
'p'
])
?
$input
[
'p'
]
:
$input
[
'page'
];
#排序
if
(
@
$input
[
"inquiry_number_sort"
]){
$list
=
$list
->
orderBy
(
'b.inquiry_number'
,
$input
[
"inquiry_number_sort"
]);
}
else
if
(
@
$input
[
"create_time_sort"
]){
$list
=
$list
->
orderBy
(
'b.create_time'
,
$input
[
"create_time_sort"
]);
}
else
{
$list
=
$list
->
orderBy
(
'b.id'
,
"desc"
);
}
$list
=
$list
->
paginate
(
@
$input
[
'limit'
]
?
$input
[
"limit"
]
:
10
,
[
'*'
],
'p'
,
@
$page
?
$page
:
1
)
->
toArray
();
if
(
!
$list
)
return
[
20001
,
'没有数据'
];
$QuoteModel
=
new
QuoteModel
();
$InquiryItemsAssignModel
=
new
InquiryItemsAssignModel
();
$BestGoodsModel
=
new
BestGoodsModel
();
$Redis
=
\RedisDB
::
connection
();
foreach
(
$list
[
'data'
]
as
$k
=>
&
$v
)
{
$inquiry_items_id
=
$v
[
"id"
];
#明细id
//报价
$v
[
'status_val'
]
=
InquiryMap
::
$status
[
$v
[
"status"
]];
if
(
$v
[
"status_val"
]
==
"已报价"
)
{
$count
=
$QuoteModel
->
where
(
"inquiry_items_id"
,
$inquiry_items_id
)
->
whereIn
(
"status"
,
QuoteMap
::
$status_used
)
->
count
();
$v
[
'status_val'
]
=
$v
[
'status_val'
]
.
"("
.
$count
.
")"
;
}
$v
[
'create_time'
]
=
timeToDate
(
$v
[
'create_time'
]);
//创建时间
$v
[
"customer_name"
]
=
$v
[
'user_name'
]
;
#目标价
if
(
@
$input
[
"types"
]
!=
5
){
$v
[
'target_price'
]
=
InquiryMap
::
$currency_sign
[
$v
[
"currency"
]]
.
$v
[
'target_price'
]
.
"
\t
"
;
// 客户目标报价
}
#交货日期
$v
[
'delivery_time'
]
=
$v
[
'delivery_time'
]
>
6
?
(
$v
[
'delivery_time'
]
/
7
)
.
'周'
:
$v
[
'delivery_time'
]
.
"天"
;
#查询所有报价
$v
[
'quote_price'
]
=
"--"
;
$quote
=
$QuoteModel
->
select
(
"status"
,
"currency"
,
"price_origin"
,
"price_rmb"
)
->
where
(
"inquiry_items_id"
,
$v
[
"id"
])
->
whereIn
(
"status"
,
QuoteMap
::
$status_used
)
->
orderby
(
"status"
,
"desc"
)
->
orderby
(
"price_rmb"
,
"asc"
)
->
first
();
if
(
$quote
){
$b
=
$quote
->
toArray
();
$lowerPrice
=
$b
[
"currency"
]
==
1
?
"¥"
.
$b
[
"price_rmb"
]
:
InquiryMap
::
$currency_sign
[
$b
[
"currency"
]]
.
$b
[
"price_origin"
];
$v
[
"quote_price"
]
=
$lowerPrice
;
}
#查询指定采购
$v
[
"assign_name"
]
=
""
;
if
(
$v
[
"assign_type"
]
==
1
){
$assign
=
$InquiryItemsAssignModel
->
select
(
DB
::
Raw
(
"GROUP_CONCAT(assign_name) assign_name"
))
->
where
(
"inquiry_items_id"
,
$inquiry_items_id
)
->
first
();
if
(
$assign
){
$v
[
"assign_name"
]
=
$assign
->
assign_name
;
}
}
$v
[
'inquiry_sn_origin'
]
=
$v
[
"inquiry_sn"
];
// 查询历史报价数
$v
[
'history_quote_count'
]
=
$QuoteModel
->
GetHistoryQuotedCount
(
$v
[
'goods_name'
]);
// 查询优选匹配数
$v
[
'best_count'
]
=
$BestGoodsModel
->
getCountByWhere
([[
"goods_name"
,
'='
,
$v
[
'goods_name'
]],
[
"g_status"
,
'='
,
BestGoodsModel
::
STATUS_ENABLE
]]);
// 在Redis集合中检查是否有新的报价
if
(
$export
==
0
){
$res
=
$Redis
->
SISMEMBER
(
'frq_quote_urge'
,
$v
[
'id'
]);
if
(
$res
)
{
$v
[
'inquiry_sn'
]
=
$v
[
'inquiry_sn'
]
.
"<span style='color:#f2f2f2;'> *</span>"
;
}
}
$v
[
'is_quote_val'
]
=
$v
[
'is_quote'
]
==
1
?
'是'
:
'否'
;
}
$data
=
$list
[
'data'
];
if
(
@
$input
[
"is_export"
]
==
1
)
{
#如果是导出
$data
=
$this
->
clearExport
(
$data
);
}
return
[
0
,
'成功'
,
$data
,
$list
[
'total'
]];
}
}
}
\ No newline at end of file
app/Http/routes/api.php
View file @
2ea3124c
...
@@ -5,6 +5,7 @@ Route::Get('/ApiSkuList','SearchController@getSkuList');//新增询价查询sku
...
@@ -5,6 +5,7 @@ Route::Get('/ApiSkuList','SearchController@getSkuList');//新增询价查询sku
Route
::
Get
(
'/ApiBrandList'
,
'SearchController@getBrandList'
);
//新增询价查询品牌接口;
Route
::
Get
(
'/ApiBrandList'
,
'SearchController@getBrandList'
);
//新增询价查询品牌接口;
Route
::
Post
(
'/ApiCheckGoods'
,
'SearchController@checkUniqueGoods'
);
//检查是否已经存在询价单;
Route
::
Post
(
'/ApiCheckGoods'
,
'SearchController@checkUniqueGoods'
);
//检查是否已经存在询价单;
Route
::
Post
(
'/ApiCreateOneItems'
,
'DataController@createInquiryItemsDetail'
);
//创建一条询价明细;
Route
::
Post
(
'/ApiCreateOneItems'
,
'DataController@createInquiryItemsDetail'
);
//创建一条询价明细;
Route
::
Post
(
'/
api/
ApiDeleteInquiryItems'
,
'DataController@deleteInquiryItemsDetail'
);
//删除询价明细;
Route
::
Post
(
'/ApiDeleteInquiryItems'
,
'DataController@deleteInquiryItemsDetail'
);
//删除询价明细;
Route
::
Post
(
'/
api/
ApiEditInquiry'
,
'DataController@creatInquiry'
);
//新增询价;
Route
::
Post
(
'/ApiEditInquiry'
,
'DataController@creatInquiry'
);
//新增询价;
Route
::
Post
(
'/ApiUpdateOneItems'
,
'DataController@editInquiryItemDetail'
);
//修改单条明细记录;
Route
::
Post
(
'/ApiUpdateOneItems'
,
'DataController@editInquiryItemDetail'
);
//修改单条明细记录;
//
Route
::
Get
(
'/ApiInquiryList'
,
'SearchController@getInquiryList'
);
//
询价列表
;
\ 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