Commit 1d20524a by hcy001

Merge branch 'master' of ssh://119.23.72.7:22611/q578953158/php_frq_api

# Conflicts:
#	app/Http/Controllers/ApiController.php
parents 24fa1dec 47890d55
......@@ -171,4 +171,17 @@ class ApiController extends Controller
Export((new InquiryItemsModel())->import($input));
}
// 删除报价草稿
public function ApiDeleteQuoteDraft($input, $id)
{
Export((new QuoteModel())->deleteDraft($input));
}
// 批量提交报价
public function ApiBatchQuote($input, $id)
{
Export((new QuoteModel())->batchQuote($input));
}
}
......@@ -93,7 +93,7 @@ class QuoteModel extends Model
$map['start_time'] = isset($input['start_time']) ? strtotime($input['start_time']) : '';
$map['end_time'] = isset($input['end_time']) ? strtotime($input['end_time']) + 86399 : '';
$field = ['q.id', 'q.inquiry_id', 'q.inquiry_sn', 'q.quote_sn', 'q.source', 'q.price_origin', 'q.price_rmb', 'q.price_other', 'q.currency', 'q.supplier_id', 'q.supplier_name', 'q.quote_number', 'q.status', 'q.create_uid', 'q.create_name', 'q.create_time', 'it.goods_name', 'it.brand_name', 'it.inquiry_number'];
$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', 'it.goods_name', 'it.brand_name', 'it.inquiry_number'];
$list = $this->from('quote as q')
->join('inquiry_items as it', 'q.inquiry_items_id', '=', 'it.id')
......@@ -130,7 +130,7 @@ class QuoteModel extends Model
if ($type == 1) {
$list = $list->where('q.create_uid', $input['user_id']);
} else {
} else if ($type == 2) {
$perm = new PermController;
$role = $perm->getUserRole($input['user_id'], $input['user_name']); // 用户角色
......@@ -138,6 +138,8 @@ class QuoteModel extends Model
$sub_sale_ids = $perm->getSubSaleId($input['user_id']);
$list = $list->whereIn('q.create_uid', $sub_sale_ids);
}
} else {
$list = $list->where('q.status', 0)->where('q.inquiry_items_id', $input['inquiry_items_id']);
}
if ($map['create_uid']) { // 制单人
......@@ -170,8 +172,10 @@ class QuoteModel extends Model
foreach ($data as &$v) {
$currency_sign = $v['currency'] == 1 ? '¥' : '$';
$v['price'] = $v['currency'] == 1 ? $currency_sign.$v['price_rmb'] : $currency_sign.$v['price_origin'];
$v['status_val'] = array_get(Config('quote.quote_status'), $v['status'], '');
$v['currency_val'] = $v['currency'] == 1 ? 'RMB' : 'USD';
$v['price'] = $v['currency'] == 1 ? $currency_sign.$v['price_rmb'] : $currency_sign.$v['price_origin'];
$v['status_val'] = array_get(Config('quote.quote_status'), $v['status'], '');
}
return $data;
......@@ -185,21 +189,25 @@ class QuoteModel extends Model
if (!$id) return [-1, '参数缺失'];
$res = $this->where('id', $id)->update(['status' => -1, 'cancel_reason'=>$cancel_reason]);
try {
$res = $this->where('id', $id)->update(['status' => -1, 'cancel_reason'=>$cancel_reason]);
$quote_info = $this->find($id);
$quote_info = $this->find($id);
$UserModel = new UserModel;
$UserModel = new UserModel;
$data = [];
$data['types'] = 2;
$data['relation_id'] = $id;
$data['relation_sn'] = $quote_info['quote_sn'];
$data['content'] = '撤销报价,撤销原因:'.$cancel_reason.',报价单号:'.$quote_info['quote_sn'];
$data['create_uid'] = $input['user_id'];
$data['create_name'] = $UserModel->FinduserInfoName($input['user_id']);
$data = [];
$data['types'] = 2;
$data['relation_id'] = $id;
$data['relation_sn'] = $quote_info['quote_sn'];
$data['content'] = '撤销报价,撤销原因:'.$cancel_reason.',报价单号:'.$quote_info['quote_sn'];
$data['create_uid'] = $input['user_id'];
$data['create_name'] = $UserModel->FinduserInfoName($input['user_id']);
OplogModel::log($data);
OplogModel::log($data);
} catch (Exception $e) {
return [1, $e->getMessage()];
}
return [0, '撤销成功'];
}
......@@ -275,10 +283,11 @@ class QuoteModel extends Model
$v['inquiry_sn'] = $input['inquiry_sn'];
$v['inquiry_items_id'] = $input['inquiry_items_id'];
$v['status'] = 0;
$v['create_time'] = time();
$v['update_time'] = time();
}
$res = $this->create($excel);
$res = $this->insert($excel); // 批量插入
if ($res === false) return [1, '添加报价草稿失败'];
$UserModel = new UserModel;
......@@ -377,7 +386,82 @@ class QuoteModel extends Model
return [0, '验证成功'];
}
// 删除报价草稿
public function deleteDraft($input)
{
$id = $input['id'];
if (!$id) return [-1, '参数缺失'];
try {
$draft_info = $this->find($id);
if ($draft_info['currency'] == 1) {
$currency_val = 'RMB';
$price = ',单价:'.$draft_info['price_origin'].',含税单价:'.$draft_info['price_rmb'];
} else {
$currency_val = 'USD';
$price = ',单价:'.$draft_info['price_origin'];
}
$content = '删除报价草稿,草稿报价型号:'.$draft_info['goods_name'].',品牌:'.$draft_info['brand_name'].',供应商:'.$draft_info['supplier_name'].',币种:'.$currency_val.$price;
$res = $this->where('id', $id)->delete();
$UserModel = new UserModel;
$data = [];
$data['types'] = 2;
$data['relation_id'] = $input['inquiry_items_id'];
$data['relation_sn'] = '';
$data['content'] = $content;
$data['create_uid'] = $input['user_id'];
$data['create_name'] = $UserModel->FinduserInfoName($input['user_id']);
OplogModel::log($data);
} catch (Exception $e) {
return [1, $e->getMessage()];
}
return [0, '删除成功'];
}
// 批量提交报价
public function batchQuote($input)
{
if (!$input['inquiry_items_id']) return [-1, '参数缺失'];
try {
$map = [];
$map['inquiry_items_id'] = $input['inquiry_items_id'];
$map['status'] = 0; // 草稿状态
$count = $this->where($map)->count();
if (!$count) return [1, '当前没有导入报价单'];
$this->where($map)->update(['status' => 1]);
// 通知询价人,放入redis
RedisDB::set('frq_quote_urge', $input['inquiry_items_id']);
$UserModel = new UserModel;
$data = [];
$data['types'] = 2;
$data['relation_id'] = $input['inquiry_items_id'];
$data['relation_sn'] = '';
$data['content'] = '批量提交报价,询价型号:'.$input['inquiry_goods_name'];
$data['create_uid'] = $input['user_id'];
$data['create_name'] = $UserModel->FinduserInfoName($input['user_id']);
OplogModel::log($data);
} catch (Exception $e) {
return [1, $e->getMessage()];
}
return [0, '批量提交报价成功'];
}
}
\ No newline at end of file
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