中標(biāo)后生成訂單

/**

* 中標(biāo)后生成訂單

* 準(zhǔn)備廢棄

*/

public function create_order() {

if (!$quotation_id = input('get.quotation_id', false)) {

return $this->api_error(130007);

}

//檢查該報(bào)價(jià)單是否中標(biāo)

$self_info = $this->model->__find($quotation_id, false, true);

if ($self_info === false) {

return $this->api_error(-1);

}

if (!$self_info) {

return $this->api_error(130007);

}

if ($self_info['is_bidding'] == 2) {

return $this->api_error(130007);

}

$responsible_userid_list = model('supplier/Supplier')->__getContactBySecondId($self_info['company_id'], $this->user_info['company_id']);

//沒有供應(yīng)商負(fù)責(zé)人

if (empty($responsible_userid_list)) {

return $this->api_error(90008);

}

//開始生成訂單

$params = [];

$params['responsible_userid_list'] = $responsible_userid_list;

$params['company_id'] = $this->user_info['company_id'];

$params['create_user'] = $this->user_info['userid'];

$params['create_time'] = time();

$params['id'] = uuid_create(1);

$params['first_com_id'] = $this->user_info['company_id'];

$params['second_com_id'] = $self_info['company_id'];

//折扣后合計(jì)金額

$params['order_price'] = $self_info['discount_amount'];

$params['order_status'] = 1;

//生成訂單編碼

$params['order_code'] = date('md') . str_pad(mt_rand(1, 999999), 7, '0', STR_PAD_LEFT);

$task_quo_detail = $this->model->getTaskIdListById($quotation_id);

$task_detail_id_list = array_column($task_quo_detail, 'task_detail_id');

$errcode = 0;

//任務(wù)明細(xì)數(shù)據(jù)狀態(tài)一致性校驗(yàn)

if (!$this->uniformity_check($task_detail_id_list, 'check', 'create_order')) {

//$errcode = 90007;

}

//任務(wù)狀態(tài)為未指派的才可以

if ($errcode == 0 && $check_state = model('task/taskDetail')->__checkTaskDetailState($task_detail_id_list)) {

if ($check_state === -1) {

$errcode = -1;

}

if ($check_state === false) {

$errcode = 90007;

}

}

if ($errcode != 0) {

if (!$this->uniformity_check($task_detail_id_list, 'remove', 'create_order')) {

$errcode = 90007;

}

return $this->api_error($errcode);

}

Db::startTrans();

try {

$errcode = 1;

//回填詢價(jià)單狀態(tài) 已生成訂單

if (false === model('comparison/Enquiry')->update(['id' => $self_info['enquiry_id'], 'has_order' => 1])) {

$errcode = -1;

}

//創(chuàng)建訂單

$order_model = new JsonModel('order');

if (!$order_model->save($params)) {

$errcode = 90010;

}

if ($errcode == 1) {

//創(chuàng)建訂單明細(xì)

$task_detail_list = [];

$time = time();

foreach ($task_quo_detail as $value) {

$item = [];

$item['id'] = uuid_create(1);

$item['order_id'] = $params['id'];

$item['company_id'] = $this->user_info['company_id'];

$item['create_user'] = $this->user_info['userid'];

$item['create_time'] = $time;

//訂單明細(xì)狀態(tài)說明? 1 待確認(rèn)? 2 未開始 3 已開始 4 已完成 5 已關(guān)閉

$item['order_detail_status'] = 1;

$item['task_detail_id'] = $value['task_detail_id'];

$item['price'] = $value['unit_price'] + 0;

$item['quantity'] = $value['task_count'] + 0;

$task_detail_list[] = $item;

}

}

if ($errcode == 1 && !model('order/OrderDetails')->__create($task_detail_list)) {

$errcode = 90011;

}

if ($errcode == 1 && false === controller('task/TaskDetail')->updateStatus($task_detail_id_list, 2)) {

$errcode = -1;

}

//置空

if (!$this->uniformity_check($task_detail_id_list, 'remove', 'create_order')) {

$errcode = 90007;

}

if ($errcode == 1) {

Db::commit();

} else {

Db::rollback();

}

//發(fā)送乙方通知消息

//msg_type: 1 訂單待確認(rèn) 2 訂單確認(rèn) 3 訂單退回 4 進(jìn)度反饋

$send_data = [

'order_id' => $params['id'],

'to_userid' => $responsible_userid_list[0],

'msg_type' => 1,

];

controller('message/Message')->send($send_data);

} catch (\Exception $ex) {

$errcode = -1;

Db::rollback();

}

return $this->api_error($errcode);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Overview The ccxt library is a collection of available cr...
    郭蟈兒蟈兒閱讀 4,026評(píng)論 0 1
  • Getting Started Use the Current Stable Version (7.1) Buil...
    Leonzai閱讀 2,067評(píng)論 0 3
  • 首先分析數(shù)據(jù)庫(kù)模型! 用戶表: id, 用戶名, 密碼, 郵箱, 激活標(biāo)志, 權(quán)限標(biāo)識(shí)(是否管理員) 地址表 :...
    上帝大人閱讀 2,784評(píng)論 0 2
  • 一.簡(jiǎn)介 使用導(dǎo)航器可以讓你在應(yīng)用的不同場(chǎng)景(頁面)間進(jìn)行切換。導(dǎo)航器通過路由對(duì)象來分辨不同的場(chǎng)景。利用rende...
    飛奔的小馬閱讀 892評(píng)論 0 0
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,865評(píng)論 16 22

友情鏈接更多精彩內(nèi)容