query($sql); $check_name = $result->fetchAll(PDO::FETCH_ASSOC); if(count($check_name) > 0) { $json['code'] = '1'; $json['info'] = '用户名已存在'; echo json_encode($json); exit(); } //1.获取采购信息详情数组 $purchase_array = $this->getPurchaseInfo($purchase); //2.获取联系人详情数组 $link_array = $this->getLinkInfo($link_info); //3.判断必填数据是否为空 $judgeData = $this->judgeData($supplier_name, $area_id, $company_name, $sett_type, $sett_frequency); if ($judgeData['code'] == '1') { echo json_encode($judgeData); exit(); } //4.向数据库中中添加数据 $res = $this->addPdoSupply($supplier_name, $area_id, $company_name, $purchase_array, $sett_type, $sett_frequency, $account_bank, $account_num, $account_name, $link_array); echo json_encode($res); exit(); } //获取采购信息详情数组 function getPurchaseInfo($purchase) { if ($purchase == '') { $purchase_array = array(); return $purchase_array; } $purchase = substr($purchase, 1, strlen($purchase) - 2); $purchase = explode("}{", $purchase); $i = 0; foreach ($purchase as $item => $value) { $value = explode(",", $value); $status = 0; foreach ($value as $k => $v) { if (empty($v)) { $status = 1; break; } } if ($status == 0) { $purchase_array[$i]['product_type'] = $value[0]; $purchase_array[$i]['purchaser_name'] = $value[1]; $i++; } } return $purchase_array; } //获取联系人详情数组 function getLinkInfo($link_info) { if ($link_info == '') { $link_array = array(); return $link_array; } $link_info = explode(",", $link_info); $key = $_COOKIE['memcache']; $link_memcache = get_memcache('ZHANGS_LINK' . $key); $i = 0; foreach ($link_info as $item => $value) { $status = 0; if (empty($link_memcache[$value]['link_name']) || empty($link_memcache[$value]['contact_name'])) { $status = 1; } if ($status == 0) { $link_array[$i] = $link_memcache[$value]; $i++; } } return $link_array; } //检查必填数据是否为空 function judgeData($supplier_name, $area_id, $company_name, $sett_type, $sett_frequency) { if (empty($supplier_name)) { $json['code'] = '1'; $json['info'] = '供应商名称不能为空'; } elseif (empty($area_id)) { $json['code'] = '1'; $json['info'] = '供应商区域不能为空'; } elseif (empty($company_name)) { $json['code'] = '1'; $json['info'] = '供应商公司不能为空'; } elseif (empty($sett_type)) { $json['code'] = '1'; $json['info'] = '结算方式不能为空'; } elseif (empty($sett_frequency)) { $json['code'] = '1'; $json['info'] = '结算周期名称不能为空'; } else { $json['code'] = '0'; $json['info'] = '成功'; } return ($json); } //在数据库中添加供应商信息 function addPdoSupply($supplier_name, $area_id, $company_name, $purchase_array, $sett_type, $sett_frequency, $account_bank, $account_num, $account_name, $link_array) { global $pdo; $user_id = getUserId();//$_COOKIE['user_id']; //运营主体 $main_corp_id_sql = "select main_corp_id from base_user where id = " . $user_id . ' and cancel_flag = 0 limit 1'; $result = $pdo->query($main_corp_id_sql); $main_corp_id = $result->fetchAll(PDO::FETCH_ASSOC); $main_corp_id = $main_corp_id[0]['main_corp_id']; $time = date('Y-m-d H:i:s', time()); try { $pdo->beginTransaction(); //1.添加base_supplier表 $supplier_sql = "INSERT INTO base_supplier ( create_user_id, create_time, supplier_type, supplier_name, area_id, company_name, is_disabled, sett_type, sett_frequency, account_bank, account_num, account_name, main_corp_id ) VALUES (" . $user_id . ",'" . $time . "',187,'" . $supplier_name . "'," . $area_id . ",'" . $company_name . "',0," . $sett_type . "," . $sett_frequency . ",'" . $account_bank . "','" . $account_num . "','" . $account_name . "'," . $main_corp_id . ")"; writeLog("INSERT INTO base_supplier:" . $supplier_sql); $result = $pdo->exec($supplier_sql); if (!$result) { throw new Exception("db die"); } $supplier_id = $pdo->lastInsertId(); //2.添加base_supplier_purchase表 if(count($purchase_array) > 0) { $purchase_sql = "INSERT INTO base_supplier_purchase ( create_user_id, create_time, supplier_id, product_type, purchaser_name ) VALUES "; foreach ($purchase_array as $key => $v) { $purchase_sql_array[] = "(" . $user_id . ",'" . $time . "'," . $supplier_id . "," . $v['product_type'] . ",'" . $v['purchaser_name'] . "')"; } $purchase_sql .= implode(",", $purchase_sql_array); writeLog("INSERT INTO base_supplier_purchase:" . $purchase_sql); $result = $pdo->exec($purchase_sql); if (!$result) { throw new Exception("db die"); } } //3.添加base_supplier_link表 if(count($link_array) > 0) { $link_sql = "INSERT INTO base_supplier_link ( create_user_id, create_time, supplier_id, link_name, contact_name, contact_mobile, contact_telphone, fax, email, remark ) VALUES "; foreach ($link_array as $key => $v) { $link_sql_array[] = "(" . $user_id . ",'" . $time . "'," . $supplier_id . ",'" . $v['link_name'] . "','" . $v['contact_name'] . "','" . $v['contact_mobile'] . "','" . $v['contact_telphone'] . "','" . $v['fax'] . "','" . $v['email'] . "','" . $v['remark'] . "')"; } $link_sql .= implode(",", $link_sql_array); writeLog("INSERT INTO base_supplier_link:" . $link_sql); $result = $pdo->exec($link_sql); if (!$result) { throw new Exception("db die"); } } $pdo->commit(); //4.删除缓存 $key = $_COOKIE['memcache']; delete_memcache('ZHANGS_LINK' . $key); $json['code'] = '0'; $json['info'] = '添加数据成功'; } catch (PDOException $ex) { $pdo->rollBack(); $json['code'] = '1'; $json['info'] = '添加失败'; } return $json; } } $supplier_name = trim($_POST['supplier_name']);//供应商名称 $area_id = trim($_POST['area_id']);//所属区域市id $company_name = trim($_POST['company_name']);//公司名称 $purchase = trim($_POST['purchase']);//采购详情 $sett_type = trim($_POST['sett_type']);//结算方式 (授信:275,预付:288,单结:292) $sett_frequency = trim($_POST['sett_frequency']);//结算周期(日结:293,周结:294,月结:295) $account_bank = trim($_POST['account_bank']);//开户银行 $account_num = trim($_POST['account_num']);//银行账号 $account_name = trim($_POST['account_name']);//账号名称 $link_info = trim($_POST['link_info']);//联系人详情 $add_supply = new add_supply(); $add_supply->execAddSupply($supplier_name, $area_id, $company_name, $purchase, $sett_type, $sett_frequency, $account_bank, $account_num, $account_name, $link_info); ?>