public static function addExpressRemark($omOrderId, $data) { !self::$dbConn ? self::initDB() : null; BaseModel::begin(); //开始事务 if (!self::deleteExpressRemark($omOrderId)) { BaseModel::rollback(); self::$errCode = "001"; self::$errMsg = " 删除数据失败! "; return false; //失败则设置错误码和错误信息, 返回false } if (!empty($data)) { //var_dump($data); foreach ($data as $datavalue) { $string = array2sql_extral($datavalue); //$string = "('".$datavalue['omOrderId']."','". $datavalue['price']."','". $datavalue['amount']."','". $datavalue['hamcodes']."','". $datavalue['isBrand']."','". $datavalue['description']."','". $datavalue['creatorId']."','". $datavalue['createdTime'] ."'),"; $sql = "INSERT INTO " . self::$Table . " SET {$string} "; //echo $sql; if (!self::$dbConn->query($sql)) { BaseModel::rollback(); self::$errCode = "002"; self::$errMsg = " 插入数据失败! "; return false; //失败则设置错误码和错误信息, 返回false } } BaseModel::commit(); BaseModel::autoCommit(); self::$errCode = "200"; self::$errMsg = " 插入数据成功! "; return true; //失败则设置错误码和错误信息, 返回false } }
function act_applyTheLineEUBTrackNumber() { global $memc_obj; //调用memcache获取sku信息 //var_dump($SYSTEM_ACCOUNTS); require_once WEB_PATH . "lib/PHPExcel.php"; //PHPExcel //exit; $addUser = $_SESSION['sysUserId']; $filePath = WEB_PATH . "html/upload/eub/"; //var_dump($_FILES); exit; if (!empty($_FILES['theline_upfile']['tmp_name'])) { $uploadfile = date("Y") . date("m") . date("d") . rand(1, 3009) . ".xls"; $filePath .= $uploadfile; //echo $filePath; if (!move_uploaded_file($_FILES['theline_upfile']['tmp_name'], $filePath)) { self::$errCode = '003'; self::$errMsg = "文件上传失败!"; echo self::$errMsg; return false; } } else { self::$errCode = '003'; self::$errMsg = "文件上传不成功!"; echo self::$errMsg; return false; } //var_dump($addUser); $PHPExcel = new PHPExcel(); //var_dump($PHPExcel); exit; $PHPReader = new PHPExcel_Reader_Excel2007(); //var_dump($PHPReader); exit; //exit; //var_dump($PHPReader->canRead($filePath)); exit; if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); //var_dump($PHPReader); exit; if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } //exit; $PHPExcel = $PHPReader->load($filePath); $excellists = excel2array($PHPExcel, $filePath, 2, 0); //echo "<pre>";print_r($excellists); exit; $adjust_time = date('Y-m-d H:i:s'); $recordnumbers = array(); $tracknumbers = array(); foreach ($excellists as $key => $excellist) { $recordnumbers[] = array_shift($excellist); $tracknumbers[] = array_shift($excellist); } $total = count($recordnumbers); BaseModel::begin(); //开始事务 for ($ii = 1; $ii < $total; $ii++) { $recordnumber = $recordnumbers[$ii]; $tracknumber = $tracknumbers[$ii]; //盘点数量 $row = $ii; if (!preg_match('/^LN[0-9]{9}CN$/', $tracknumber)) { self::$errMsg .= " 第" . $row . "行" . $tracknumber . " 跟踪号格式有误<br>"; } if ($tracknumber == "") { self::$errMsg .= " 第" . $row . "行跟踪号为空请查证<br>"; } if (!OmEUBTrackNumberModel::applyTheLineEUBTrackNumber($recordnumber, $tracknumber)) { BaseModel::rollback(); } } self::$errCode .= OmEUBTrackNumberModel::$errCode; self::$errMsg .= OmEUBTrackNumberModel::$errMsg; BaseModel::commit(); BaseModel::autoCommit(); return true; }
public function view_modifyOrderList() { global $memc_obj; $sysUserId = $_SESSION['sysUserId']; $modify_showerrorinfo = ''; $OrderModifyAct = new OrderModifyAct(); $OrderindexAct = new OrderindexAct(); $UserCompetenceAct = new UserCompetenceAct(); //var_dump($_GET); exit; if (isset($_GET) && !empty($_GET)) { $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; } if (isset($_POST) && !empty($_POST)) { //var_dump($_POST); echo "<br>"; exit; $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ''; $ostatus = isset($_POST['edit_ostatus']) ? $_POST['edit_ostatus'] : $_POST['ostatus']; $otype = isset($_POST['edit_otype']) ? $_POST['edit_otype'] : $_POST['otype']; $update_order = array(); $update_userinfo = array(); $update_tracknumber = array(); //$orderid = $_POST['orderid']; //var_dump($_POST); exit; $updatestatus = false; if ($_POST['action'] == 'addDetail') { //var_dump($_GET); echo "<br>"; exit; $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; if ($OrderModifyAct->act_batchAdd($orderid, $_POST)) { $modify_showerrorinfo = "<font color='green'>添加成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>添加失败</font>"; } } else { if ($_POST['action'] == 'addNote') { //var_dump($_GET); echo "<br>"; exit; $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; if ($OrderModifyAct->act_addNote($orderid, $_POST)) { $modify_showerrorinfo = "<font color='green'>添加成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>添加失败</font>"; } } else { $visible_movefolder = $UserCompetenceAct->act_getInStatusIds($_POST['otype'], $sysUserId); if (!in_array($_POST['edit_otype'], $visible_movefolder)) { $modify_showerrorinfo = "<font color='red'>您没有改变订单状态的权限</font>"; } else { if ($_POST['username'] != $_POST['edit_username']) { $update_userinfo['username'] = $_POST['edit_username']; } if ($_POST['ostatus'] != $_POST['edit_ostatus']) { $update_order['orderStatus'] = $_POST['edit_ostatus']; } if ($_POST['otype'] != $_POST['edit_otype']) { $update_order['orderType'] = $_POST['edit_otype']; $updatestatus = true; } if ($_POST['street'] != $_POST['edit_street']) { $update_userinfo['street'] = $_POST['edit_street']; } if ($_POST['platformUsername'] != $_POST['edit_platformUsername']) { $update_userinfo['platformUsername'] = $_POST['edit_platformUsername']; } if ($_POST['address2'] != $_POST['edit_address2']) { $update_userinfo['address2'] = $_POST['edit_address2']; } if ($_POST['actualShipping'] != $_POST['edit_actualShipping']) { $update_order['actualShipping'] = $_POST['edit_actualShipping']; } if ($_POST['city'] != $_POST['edit_city']) { $update_userinfo['city'] = $_POST['edit_city']; } if ($_POST['state'] != $_POST['edit_state']) { $update_userinfo['state'] = $_POST['edit_state']; } if ($_POST['countryName'] != $_POST['edit_countryName']) { $update_userinfo['countryName'] = $_POST['edit_countryName']; } if ($_POST['zipCode'] != $_POST['edit_zipCode']) { $update_userinfo['zipCode'] = $_POST['edit_zipCode']; } if ($_POST['landline'] != $_POST['edit_landline']) { $update_userinfo['landline'] = $_POST['edit_landline']; } if ($_POST['phone'] != $_POST['edit_phone']) { $update_userinfo['phone'] = $_POST['edit_phone']; } if ($_POST['transportId'] != $_POST['edit_transportId']) { $update_order['transportId'] = $_POST['edit_transportId']; } if ($_POST['edit_tracknumber']) { $update_tracknumber['omOrderId'] = $orderid; $update_tracknumber['tracknumber'] = $_POST['edit_tracknumber']; $update_tracknumber['addUser'] = $sysUserId; $update_tracknumber['createdTime'] = time(); //var_dump($update_tracknumber); exit; } BaseModel::begin(); //开始事务 if ($update_order) { //$sql = "UPDATE om_unshipped_order set ".array2sql($update_order)." WHERE id = ".$orderid; //$msg = OrderLogModel::orderLog($orderid,$update_order['orderStatus'],$update_order['orderType'],$sql); if (OrderindexModel::updateOrder('om_unshipped_order', $update_order, ' WHERE id = ' . $orderid)) { if ($updatestatus) { $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($orderid), $batch_ostatus_val, $batch_otype_val)) { BaseModel::rollback(); } } $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>更新失败</font>"; BaseModel::rollback(); } } if ($update_userinfo) { //var_dump($update_userinfo); if (OrderindexModel::updateOrder('om_unshipped_order_userInfo', $update_userinfo, ' WHERE omOrderId = ' . $orderid)) { $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>更新失败</font>"; BaseModel::rollback(); } } if ($update_tracknumber) { //echo $msg; if (!OrderAddModel::insertOrderTrackRow($update_tracknumber)) { /*self :: $errCode = "001"; self :: $errMsg = "跟踪号插入失败"; return false;*/ $modify_showerrorinfo = "<font color='red'>跟踪号插入失败</font>"; BaseModel::rollback(); } } BaseModel::commit(); BaseModel::autoCommit(); } } } } $this->smarty->assign('modify_showerrorinfo', $modify_showerrorinfo); $omAvailableAct = new OmAvailableAct(); //平台信息 $platform = $omAvailableAct->act_getTNameList('om_platform', 'id,platform', 'WHERE is_delete=0'); //var_dump($platform); $platformList = array(); foreach ($platform as $v) { $platformList[$v['id']] = $v['platform']; } $this->smarty->assign('platformList', $platformList); /**导航 start**/ $this->smarty->assign('ostatus', $ostatus); $this->smarty->assign('otype', $otype); //二级目录 $StatusMenuAct = new StatusMenuAct(); $ostatusList = $StatusMenuAct->act_getStatusMenuList('statusCode,statusName', 'WHERE groupId = 0 AND is_delete=0'); //var_dump($ostatusList); $this->smarty->assign('ostatusList', $ostatusList); $otypeList = $StatusMenuAct->act_getStatusMenuList('statusCode,statusName', 'WHERE groupId = "' . $ostatus . '" AND is_delete=0'); //var_dump($otypeList); $this->smarty->assign('otypeList', $otypeList); /*$o_secondlevel = $omAvailableAct->act_getTNameList('om_status_menu','*','WHERE is_delete=0 and groupId=0 order by sort asc'); $this->smarty->assign('o_secondlevel', $o_secondlevel);*/ $second_count = array(); $second_type = array(); foreach ($ostatusList as $o_secondinfo) { $orderStatus = $o_secondinfo['statusCode']; /*$accountacc = $_SESSION['accountacc']; $oc_where = " where orderStatus='$orderStatus' "; if($accountacc){ $oc_where .= ' AND ('.$accountacc.') '; }*/ $s_total = $OrderindexAct->act_showSearchOrderNum($orderStatus); //$s_total = $omAvailableAct->act_getTNameCount("om_unshipped_order", $oc_where); $second_count[$o_secondinfo['statusCode']] = $s_total; $s_type = $omAvailableAct->act_getTNameList("om_status_menu", "*", "WHERE is_delete=0 and groupId='{$orderStatus}' order by sort asc"); $second_type[$o_secondinfo['statusCode']] = $s_type[0]['statusCode']; } //var_dump($second_count); $this->smarty->assign('second_count', $second_count); $this->smarty->assign('second_type', $second_type); //退款数量 $refund_total = $omAvailableAct->act_getTNameCount("om_order_refund", " where is_delete=0"); $this->smarty->assign('refund_total', $refund_total); //三级目录 $o_threelevel = $omAvailableAct->act_getTNameList("om_status_menu", "*", "WHERE is_delete=0 and groupId='{$ostatus}' order by sort asc"); $this->smarty->assign('o_threelevel', $o_threelevel); $three_count = array(); foreach ($o_threelevel as $o_threeinfo) { $orderType = $o_threeinfo['statusCode']; $s_total = $OrderindexAct->act_showSearchOrderNum($ostatus, $orderType); //$s_total = $omAvailableAct->act_getTNameCount("om_unshipped_order"," where orderStatus='$ostatus' and orderType='$orderType' and storeId=1 and is_delete=0"); $three_count[$o_threeinfo['statusCode']] = $s_total; } $this->smarty->assign('three_count', $three_count); $toptitle = '订单显示页面'; //头部title $this->smarty->assign('toptitle', $toptitle); $this->smarty->assign('toplevel', 0); $threelevel = '1'; //当前的三级菜单 $this->smarty->assign('threelevel', $threelevel); $statusMenu = $omAvailableAct->act_getTNameList('om_status_menu', ' * ', 'WHERE is_delete=0 '); $this->smarty->assign('statusMenu', $statusMenu); $value = ''; $where = ''; switch ($searchTransportationType) { case '1': $transportation = CommonModel::getCarrierList(1); //快递 break; case '2': $transportation = CommonModel::getCarrierList(0); //平邮 break; default: $transportation = CommonModel::getCarrierList(); //所有的 break; } //var_dump($transportation); exit; $transportationList = array(); foreach ($transportation as $tranValue) { $transportationList[$tranValue['id']] = $tranValue['carrierNameCn']; } //var_dump($transportationList); exit; $this->smarty->assign('transportation', $transportation); $this->smarty->assign('transportationList', $transportationList); //var_dump($orderid, $ostatus,$otype); $omOrderList = $OrderModifyAct->act_getModifyOrderList($orderid, $ostatus, $otype, $storeId = 1); //var_dump($omOrderList); //$sku = array(); $account_where = ' WHERE is_delete = 0 '; if ($searchPlatformId) { $account_where .= ' AND platformId = ' . $searchPlatformId; } $accountList = $UserCompetenceAct->act_showGlobalUser(); if ($accountList) { $account_where .= ' AND id in ( ' . join(',', $accountList) . ' ) '; } //帐号信息 $accountList = $omAvailableAct->act_getTNameList('om_account', '*', $account_where); //var_dump($accountList); exit; $account = array(); foreach ($accountList as $v) { $account[$v['id']] = $v['account']; } //包材信息 $pm = GoodsModel::getMaterInfoByList(); //获取系统所有状态 $statusList = copyOrderModel::selectStatusList(); $CurrencyAct = new CurrencyAct(); $currencyList = $CurrencyAct->act_getCurrencyListById(); //echo "<pre>"; print_r($currencyList); exit; $this->smarty->assign('currencyList', $currencyList); $this->smarty->assign('statusList', $statusList); $this->smarty->assign('show_page', $show_page); $this->smarty->assign('account', $account); $this->smarty->assign('accountList', $accountList); $this->smarty->assign('pm', $pm); $this->smarty->assign('omOrderList', $omOrderList); $this->smarty->display('orderModify.htm'); }
/** * 写入退款单 */ function act_addRefundInfo() { //print_r($_POST); //echo '00000000000000000000'; global $dbConn; $dbcon = $dbConn; $refundInfo = isset($_POST['orderobj']) ? $_POST['orderobj'] : ''; $orderType = isset($refundInfo['orderType']) ? $refundInfo['orderType'] : 1; if ($refundInfo == '') { self::$errCode = 1; self::$errMsg = '参数非法!'; return false; } $id = isset($refundInfo['id']) ? $refundInfo['id'] : ''; if ($id == '') { self::$errCode = 2; self::$errMsg = '参数Id为空!'; return false; } if ($orderType == 1) { //$ppRtnInfo = $this->act_curlRefund($refundInfo); $httpParsedResponseAr = $this->act_curlRefund($refundInfo); //var_dump($httpParsedResponseAr);exit; if ("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { $dataArr = $refundInfo; $operator = $_SESSION["userCnName"]; $time = time(); $sql = "insert into ebay_refund_log (order_id,trade_id,ebay_account,buyer_id,refund_reson,refund_type,operator,refund_time,paypal_account,money,currency,country) values ('{$dataArr['id']}','{$dataArr['PayPalPaymentId']}','{$dataArr['accountId']}','{$dataArr['platformUsername']}','{$dataArr['reason']}','{$dataArr['refundType']}','{$operator}','{$time}','{$dataArr['paypalAccount']}','{$dataArr['refundSum']}','{$dataArr['currency']}','{$dataArr['countryName']}')"; //echo $sql."\n"; $dbcon->execute($sql); //记录操作信息 $sql = "insert into ebay_refund_log_detail (order_id,sku,amount) values "; //记录退款单个sku 信息 $skuArr = $dataArr['skuArr']; foreach ($skuArr as $key => $sku) { $sql .= "('{$dataArr['id']}','{$sku['sku']}','{$sku['amount']}')"; if ($key < count($skuArr) - 1) { $sql .= ","; } } if ($dbcon->execute($sql)) { $rtnMsg = "订单编号: " . $dataArr['id'] . "退款成功"; } else { $rtnMsg = $sql; } $sql = " UPDATE `om_unshipped_order` SET orderStatus=2000 , orderType=1004 WHERE id={$dataArr['id']}"; $dbConn->execute($sql); $sql = " UPDATE `om_shipped_order` SET orderStatus=660 , orderType=710 WHERE id={$dataArr['id']}"; $dbConn->execute($sql); self::$errCode = 200; } else { self::$errCode = 404; $rtnMsg = "订单编号: " . $dataArr['id'] . "退款失败" . urldecode($httpParsedResponseAr['L_LONGMESSAGE0']) . '错误代码:' . $httpParsedResponseAr['L_ERRORCODE0']; self::$errMsg = $rtnMsg; return false; } } //$orderObj = new OrderRefundModel(); BaseModel::begin(); $sysUserId = $_SESSION['sysUserId']; $time = time(); $data = array(); $data['omOrderId'] = $refundInfo['id']; $data['recordNumber'] = $refundInfo['recordNumber']; $data['sellerAccountId'] = $refundInfo['accountId']; $data['totalSum'] = $refundInfo['totalSum']; $data['refundSum'] = $refundInfo['refundSum']; $data['refundType'] = $refundInfo['refundType'] == 'Full' ? 1 : 0; $data['platformUsername'] = $refundInfo['platformUsername']; $data['platformId'] = $refundInfo['platformId']; $data['platform'] = $refundInfo['platform']; $data['transId'] = $refundInfo['PayPalPaymentId']; $data['paypalAccount'] = $refundInfo['paypalAccount']; $data['pass'] = $refundInfo['pass']; $data['signature'] = $refundInfo['signature']; $data['reason'] = $refundInfo['reason']; $data['note'] = $refundInfo['note']; $data['currency'] = $refundInfo['currency']; $data['orderType'] = $orderType; $data['addTime'] = $time; $data['creatorId'] = $sysUserId; $tableRefund = 'om_order_refund'; $setField = array2sql($data); $insertId = OrderRefundModel::addTNameRow($tableRefund, $setField); if ($insertId !== FALSE) { foreach ($refundInfo['skuArr'] as $key => $orderInfo) { $refundDetail = array(); $refundDetail['orderRefundId'] = $insertId; $refundDetail['sku'] = $orderInfo['sku']; $refundDetail['amount'] = $orderInfo['amount']; $refundDetail['actualPrice'] = $orderInfo['actualPrice']; $refundDetail['addTime'] = $time; $tableRefundDetail = 'om_order_refund_detail'; $setFields = array2sql($refundDetail); $ret2 = OrderRefundModel::addTNameRow($tableRefundDetail, $setFields); if ($ret2 !== FALSE) { // } else { self::$errCode = OrderRefundModel::$errCode; self::$errMsg = OrderRefundModel::$errMsg; BaseModel::rollback(); return false; } } } else { self::$errCode = OrderRefundModel::$errCode; self::$errMsg = OrderRefundModel::$errMsg; BaseModel::rollback(); return false; } //echo '88888888888888888'; BaseModel::commit(); //self::$errMsg = '生成单据成功!'; self::$errMsg = $rtnMsg; return true; }
public function view_productsCombineSpuComplete() { $combineSpu = $_GET['combineSpu'] ? $_GET['combineSpu'] : ''; $id = $_GET['id'] ? $_GET['id'] : ''; $userId = $_SESSION['userId']; $now = time(); if (intval($userId) <= 0) { $status = "未登录"; header("Location:index.php?mod=products&act=getProductsCombineSpuTakeList&status={$status}&combineSpu={$combineSpu}"); exit; } if (empty($id)) { $status = "id为空"; header("Location:index.php?mod=products&act=getProductsCombineSpuTakeList&status={$status}&combineSpu={$combineSpu}"); exit; } $idArr = array_filter(explode(',', $id)); foreach ($idArr as $value) { if (intval($value) <= 0) { $status = "含有非法id"; header("Location:index.php?mod=products&act=getProductsCombineSpuTakeList&status={$status}&combineSpu={$combineSpu}"); exit; } } $newIdArr = implode(',', $idArr); try { BaseModel::begin(); $tName = 'pc_spu_web_maker'; $set = "SET isComplete=1,completeTime='{$now}'"; $where = "WHERE id in({$newIdArr})"; OmAvailableModel::updateTNameRow($tName, $set, $where); BaseModel::commit(); BaseModel::autoCommit(); $status = "制作完成成功"; header("Location:index.php?mod=products&act=getProductsCombineSpuTakeList&status={$status}&combineSpu={$combineSpu}"); } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = $e->getMessage(); header("Location:index.php?mod=products&act=getProductsCombineSpuTakeList&status={$status}&combineSpu={$combineSpu}"); } }
public static function overWeightSplitB2B($omOrderId) { !self::$dbConn ? self::initDB() : null; global $memc_obj; //调用memcache获取sku信息 $mctime = time(); //var_dump($moOrderIdArr); $tableName = 'om_unshipped_order'; $where = ' WHERE id = ' . $omOrderId . ' and is_delete = 0 and storeId = 1'; $orderData = OrderindexModel::showOrderList($tableName, $where); $orderDetail = $orderData[$omOrderId]['orderDetail']; $obj_order_data = $orderData[$omOrderId]['orderData']; $orderExtenData = $orderData[$omOrderId]['orderExtenData']; $orderUserInfoData = $orderData[$omOrderId]['orderUserInfoData']; $_actualTotal = $obj_order_data['actualTotal']; $_actualShipping = $obj_order_data['actualShipping']; $_platformId = $obj_order_data['platformId']; $_mainId = $obj_order_data['id']; $_transportId = $obj_order_data['transportId']; //var_dump($orderDetail); exit; $omAvailableAct = new OmAvailableAct(); $GLOBAL_EBAY_ACCOUNT = $omAvailableAct->act_getTNameList2arrById('om_account', 'id', 'account', ' WHERE is_delete=0 AND platformId in(1,5) '); $weightlists = array(); $skuinfo = array(); $goods_sn_nums = 0; $shippfee_arr = array(); $ebay_total_be = 0; foreach ($orderDetail as $k => $f) { $sku = trim($f['orderDetailData']['sku']); $amount = $f['orderDetailData']['amount']; $shippingFee = $f['orderDetailData']['shippingFee']; $goods_sn_nums += $amount; $ebay_total_be += $f['orderDetailData']['amount'] * $f['orderDetailData']['itemPrice']; $shippfee_arr[$sku] = round($shippingFee / $amount, 3); //单个料号的运费 $skuinfo[$sku] = $f; for ($i = 1; $i <= $amount; $i++) { $var = $sku; $oneskuweight = CommonModel::calcOnlySkuWeight($var, 1); //一个sku的重量 $weightlists[$var][] = $oneskuweight[0]; } } $rate = $_actualTotal / $ebay_total_be; //var_dump($weightlists); exit; if ($goods_sn_nums <= 1) { self::$errCode = '0020'; self::$errMsg = "只有一个料号组成,不允许超重拆分"; return false; } //echo "==========="; exit; $keyarray = array(); $keyarrays = array(); $checkweight = 0; $arrinfo = CommonModel::calcNowOrderWeight($omOrderId); //var_dump($arrinfo); exit; $realweight = $arrinfo[0]; $realcosts = $arrinfo[2]; $itemprices = $arrinfo[3]; foreach ($weightlists as $wk => $wv) { foreach ($wv as $weightlist) { $checkweight += $weightlist; if ($checkweight > 1.85) { $keyarrays[] = $keyarray; $keyarray = array(); $checkweight = $weightlist; $keyarray[$wk][] = $wk; } else { $keyarray[$wk][] = $wk; } } } if (!empty($keyarray)) { $keyarrays[] = $keyarray; } //var_dump($keyarrays); exit; BaseModel::begin(); //开始事务 $insert_orderData = array(); foreach ($keyarrays as $keyarray) { $ebay_total = 0; $totalweight = 0; $insert_ebay_ids = array(); //var_dump($skuinfo); echo "<br>"; foreach ($keyarray as $k => $kav) { //var_dump($skuinfo[$k]['orderDetailData']['itemPrice'], count($kav)); //$ebay_total += ($skuinfo[$k]['orderDetailData']['itemPrice'] + $shippfee_arr[$k]) * count($kav); $ebay_total += $skuinfo[$k]['orderDetailData']['itemPrice'] * count($kav); } $ebay_total = $rate * $ebay_total; $shipfee = 0; //$val = generateOrdersn(); $insert_obj_order_data = $obj_order_data; unset($insert_obj_order_data['id']); $insert_obj_order_data['actualTotal'] = $ebay_total; $insert_obj_order_data['orderType'] = C('STATEPENDING_OWDONE'); $insert_obj_order_data['orderAddTime'] = $mctime; $insert_obj_order_data['isSplit'] = 2; $insert_orderExtenData = $orderExtenData; unset($insert_orderExtenData['id']); $insert_orderUserInfoData = $orderUserInfoData; unset($insert_orderUserInfoData['id']); $insert_orderData = array('orderData' => $insert_obj_order_data, 'orderExtenData' => $insert_orderExtenData, 'orderUserInfoData' => $insert_orderUserInfoData); /*$sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, create_date) values ('$recordnumber', '$ebay_id', '$insert_ebay_id', '".date("Y-m-d H:i:s")."')"; $split_log .= "添加主定单和拆分订单到关系表中\r\n".$sql ."\r\n"; $dbcon->execute($sql) or die("Fail : $sql");*/ $obj_order_detail_data = array(); foreach ($keyarray as $k => $kav) { $sku = $k; $amount = count($kav); $insert_orderDetailData = $skuinfo[$k]['orderDetailData']; unset($insert_orderDetailData['id']); $insert_orderDetailData['sku'] = strtoupper($sku); $insert_orderDetailData['amount'] = $amount; $insert_orderDetailData['createdTime'] = $mctime; if (isset($shippfee_arr[$sku])) { $insert_orderDetailData['shippingFee'] = $shippfee_arr[$sku] * $amount; //相同料号运费拆分 } $insert_orderDetailExtenData = $skuinfo[$k]['orderDetailExtenData']; unset($insert_orderDetailExtenData['id']); $obj_order_detail_data[] = array('orderDetailData' => $insert_orderDetailData, 'orderDetailExtenData' => $insert_orderDetailExtenData); } $insert_orderData['orderDetail'] = $obj_order_detail_data; //echo "<pre>"; //var_dump($obj_order_detail_data); exit; $calcInfo = CommonModel::calcAddOrderWeight($obj_order_detail_data); //计算重量和包材 //var_dump($calcInfo); exit; $insert_orderData['orderData']['calcWeight'] = $calcInfo[0]; $insert_orderData['orderData']['pmId'] = $calcInfo[1]; //var_dump($insert_orderData); exit; $calcShippingInfo = CommonModel::calcAddOrderShippingFee($insert_orderData, 1); //计算运费 //var_dump($calcShippingInfo); exit; $insert_orderData['orderData']['calcShipping'] = $calcShippingInfo['fee']['fee']; $insert_orderData['orderData']['channelId'] = $calcShippingInfo['fee']['channelId']; /*$interceptInfo = CommonModel :: auto_contrast_intercept($orderData); //print_r($interceptInfo); exit; $orderData['orderData']['orderStatus'] = $interceptInfo['orderStatus']; $orderData['orderData']['orderType'] = $interceptInfo['orderType'];*/ if ($_spitId = OrderAddModel::insertAllOrderRowNoEvent($insert_orderData)) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($_spitId, 'INSERT ORDER')) { BaseModel::rollback(); self::$errCode = '0021'; self::$errMsg = "split error!"; return false; } if (!OrderRecordModel::insertSpitRecords($_mainId, $_spitId)) { BaseModel::rollback(); self::$errCode = '0022'; self::$errMsg = "split error!"; return false; } } else { $split_log .= 'insert error!' . "\n"; BaseModel::rollback(); self::$errCode = '0023'; self::$errMsg = "split error!"; return false; } if (!OrderindexModel::deleteOrderData($tableName, $where)) { self::$errCode = '0024'; self::$errMsg = "split error!"; return false; } if (!OrderLogModel::insertOrderLog($_mainId, 'DELETE ORDER')) { BaseModel::rollback(); self::$errCode = '0025'; self::$errMsg = "split error!"; return false; } BaseModel::commit(); BaseModel::autoCommit(); } self::$errCode = '200'; self::$errMsg = "split success!"; return true; }
/** * 生成海外备货单,根据下单人合并订单明细 * Enter description here ... */ public function createOwOrder() { global $dbConn; $skulist = $_POST['skulist']; $operator_id = $_SESSION[C('USER_AUTH_SYS_ID')]; //操作人员ID $comid = $_SESSION[C('USER_COM_ID')]; //公司ID $type = $_POST['type']; $rollback = false; $existSku = ''; $ismark = 0; BaseModel::begin(); //开始事务 foreach ($skulist as $key => $sku) { $price = PurchaseOrderModel::getPriceBySku($sku['sku']); //SKU单价 $purid = OwOrderModel::getPurchaseidBySku($sku['sku']); $parid = OwOrderModel::getPartnerId($sku['sku']); //供应商ID $parid = $parid['partnerId']; $storeid = 1; //仓库ID $orderData = OwOrderModel::getOwOrderNum($operator_id); //判断同操作员跟踪号是否已存在(未审核状态下) $orderSN = $orderData['recordnumber']; $main = array(); $detail = array(); if (!empty($orderSN)) { //存在符合条件的跟踪号,直接插入采购订单明细 /* $orderHasSku = OwOrderModel::orderExistSku($sku['sku']); if($orderHasSku){ $existSku .= '['.$sku['sku'].'],'; continue; }*/ $detail['sku'] = $sku['sku']; $detail['price'] = $price; //单价 $detail['count'] = $sku['rec']; //采购数量 $detail['goods_recommend_count'] = $sku['rec']; //采购数量 $detail['recordnumber'] = $orderData['recordnumber']; $poid = $orderData['id']; //根据跟踪号取采购主订单编号 $detail['parid'] = $parid; //料号供应商ID $detail['po_id'] = $poid; $dataSet = array2sql($detail); $sql = "insert into ph_ow_order_detail set {$dataSet} "; $rtndetail = $dbConn->execute($sql); if ($rtndetail === false) { $rollback = true; } else { $ismark = 1; } } else { //不存在符合条件的跟踪号重新生成 $recordnumber = PurchaseOrderModel::autoCreateOrderSn($purid, $comid); //生成对应公司的采购订单跟踪号 if (!empty($recordnumber)) { //生成采购订单号成功 $main['recordnumber'] = $recordnumber; //跟踪号 $main['purchaseuser_id'] = $purid; //采购员ID $main['operator_id'] = $operator_id; //操作人员id $main['warehouse_id'] = $storeid; //仓库ID $main['company_id'] = $comid; //公司编号 $main['partner_id'] = $parid; //供应商ID $main['addtime'] = time(); if ($type == "oversea") { $main['order_type'] = 5; // 给海外仓备货的订单 } else { $main['order_type'] = 1; // 正常订单 } $dataSet = array2sql($main); $sql = "insert into ph_ow_order set {$dataSet} "; $rtnmain = $dbConn->execute($sql); if ($rtnmain) { //主订单添加成功 /* $orderHasSku = OwOrderModel::orderExistSku($sku['sku']); if($orderHasSku){ $existSku .= '['.$sku['sku'].'],'; continue; }*/ $detail['sku'] = $sku['sku']; $detail['price'] = $price; //单价 $detail['count'] = $sku['rec']; //采购数量 $detail['goods_recommend_count'] = $sku['rec']; //采购数量 $detail['parid'] = $parid; //料号供应商ID $detail['recordnumber'] = $recordnumber; $poid = OwOrderModel::getOwPoid($recordnumber); //根据跟踪号取采购主订单编号 $detail['po_id'] = $poid; $dataSet = array2sql($detail); $sql = "insert into ph_ow_order_detail set {$dataSet} "; $rtndetail = $dbConn->execute($sql); if ($rtndetail === false) { $rollback = true; } else { $ismark = 1; } } else { $rollback = true; } } else { $rollback = true; } } } //$existSku = substr($existSku, 0, strlen($existSku) - 1); if ($rollback == false) { //if($ismark == 1){ BaseModel::commit(); BaseModel::autoCommit(); $result['msg'] = 'yes'; //}else{ // $result['msg'] = 'warn'; //} //$result['tip'] = $existSku; } else { BaseModel::rollback(); BaseModel::autoCommit(); $result['msg'] = 'no'; } return json_encode($result); }
public function act_cancelCombine() { //更新主从订单状态及记录 $str = isset($_POST['str']) ? $_POST['str'] : ""; $orderids = explode(",", $str); $userId = $_SESSION['sysUserId']; BaseModel::begin(); foreach ($orderids as $orderid) { $order = cancelCombineModel::selectRecord($orderid); if ($order[0]['combinePackage'] == 1) { $msg = cancelCombineModel::updateOrder($orderid); if (!$msg) { self::$errCode = 402; self::$errMsg = "更新主订单失败!"; BaseModel::rollback(); return false; } $sonOrders = cancelCombineModel::selectSonOrder($orderid); foreach ($sonOrders as $sonorder) { $msg1 = cancelCombineModel::updateOrder($sonorder['split_order_id']); if (!$msg1) { self::$errCode = 403; self::$errMsg = "更新子订单失败!"; BaseModel::rollback(); return false; } if (in_array($sonorder['split_order_id'], $orderids)) { unset($orderids[$sonorder['split_order_id']]); } } $msg2 = cancelCombineModel::updateRecords($orderid, $userId); if (!$msg2) { self::$errCode = 404; self::$errMsg = "更新合并包裹记录失败!"; BaseModel::rollback(); return false; } } if ($order[0]['combinePackage'] == 2) { $mainOrder = cancelCombineModel::selectMainOrder($order[0]['id']); $sonOrders = cancelCombineModel::selectSonOrder($mainOrder); if (count($sonOrders) == 1) { $msg3 = cancelCombineModel::updateOrder($mainorder); if (!$msg3) { self::$errCode = 405; self::$errMsg = "更新主订单失败!"; BaseModel::rollback(); return false; } if (in_array($mainOrder, $orderids)) { unset($orderids[$mainOrder]); } $msg4 = cancelCombineModel::updateOrder($sonOrders[0]['split_order_id']); if (!$msg4) { self::$errCode = 406; self::$errMsg = "更新子订单失败!"; BaseModel::rollback(); return false; } } else { $msg5 = cancelCombineModel::updateOrder($orderid); if (!$msg5) { self::$errCode = 407; self::$errMsg = "更新子订单失败!"; BaseModel::rollback(); return false; } } $msg6 = cancelCombineModel::updateRecords($orderid, $userId, "son"); if (!$msg6) { self::$errCode = 408; self::$errMsg = "更新合并包裹记录失败!"; BaseModel::rollback(); return false; } } } BaseModel::commit(); return true; }
public function act_copyOrder() { $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ""; $countryName = isset($_POST['countryName']) ? $_POST['countryName'] : ""; $state = isset($_POST['state']) ? $_POST['state'] : ""; $detail_sku = isset($_POST['detail_sku']) ? $_POST['detail_sku'] : ""; $city = isset($_POST['city']) ? $_POST['city'] : ""; $landline = isset($_POST['landline']) ? $_POST['landline'] : ""; $phone = isset($_POST['phone']) ? $_POST['phone'] : ""; $zipCode = isset($_POST['zipCode']) ? $_POST['zipCode'] : ""; $street = isset($_POST['street']) ? $_POST['street'] : ""; $address2 = isset($_POST['address2']) ? $_POST['address2'] : ""; $address3 = isset($_POST['address3']) ? $_POST['address3'] : ""; $transport = isset($_POST['transport']) ? $_POST['transport'] : ""; $note = isset($_POST['note']) ? $_POST['note'] : ""; $userId = $_SESSION['sysUserId']; $order = copyOrderModel::selectOrder($orderid); $user = copyOrderModel::selectUser($orderid); $details = copyOrderModel::selectDetail($orderid); $platformId = $order['platformId']; $plateform = copyOrderModel::selectplatform($platformId); $table = "om_unshipped_order_extension_" . $plateform; $extension = copyOrderModel::selectExtension($table, $orderid); $warehouse = copyOrderModel::selectWarehouse($orderid); $notes = copyOrderModel::selectNote($orderid); BaseModel::begin(); if (!$order) { self::$errCode = 501; self::$errMsg = "原订单已完成或不存在!"; return false; } if ($order['isCopy'] == 2) { self::$errCode = 502; self::$errMsg = "此订单是复制产生的订单,不能在被复制!"; return false; } $new_order = array(); foreach ($order as $key => $value) { if ($key == 'id') { continue; } $new_order[$key] = $value; if ($key == 'isCopy') { $new_order[$key] = 2; } } //$statuslist = copyOrderModel::selectStatus($status); //$new_order['orderStatus'] = $statusList['groupId']; //$new_order['orderType'] = $statusList['statusCode']; //先插入订单生成订单id //$sql = ""; foreach ($new_order as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $id = copyOrderModel::insertOrder($sql, $userId); if (!$id) { self::$errCode = 503; self::$errMsg = "复制订单插入失败!"; BaseModel::rollback(); return false; } $new_user = array(); //插入用户信息 foreach ($user as $key => $value) { $new_user[$key] = $value; if ($key == 'omOrderId') { $new_user[$key] = $id; } if ($key == 'countryName') { $new_user[$key] = $countryName; } if ($key == 'state') { $new_user[$key] = $state; } if ($key == 'city') { $new_user[$key] = $city; } if ($key == 'landline') { $new_user[$key] = $landline; } if ($key == 'phone') { $new_user[$key] = $phone; } if ($key == 'zipCode') { $new_user[$key] = $zipCode; } if ($key == 'street') { $new_user[$key] = $street; } if ($key == 'address2') { $new_user[$key] = $address2; } if ($key == 'address3') { $new_user[$key] = $address3; } } $sql = array(); foreach ($new_user as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = copyOrderModel::insertUser($sql, $userId); if (!$msg) { self::$errCode = 503; self::$errMsg = "插入复制订单用户信息失败!"; BaseModel::rollback(); return false; } //插入订单明细信息 foreach ($details as $nums => $detail) { $new_detail = array(); $skuinfo = explode("*", $detail_sku[$nums]); foreach ($detail as $key => $value) { if ($key == 'id') { continue; } $new_detail[$key] = $value; if ($key == 'omOrderId') { $new_detail[$key] = $id; } if ($key == 'sku') { $new_detail[$key] = $skuinfo[0]; } if ($key == 'amount') { $new_detail[$key] = $skuinfo[1]; } } $sql = array(); foreach ($new_detail as $key => $value) { if ($key == 'createdTime') { $sql[] = "{$key}=" . time() . " "; continue; } if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = copyOrderModel::insertDetail($sql, $userId); if (!$msg) { self::$errCode = 504; self::$errMsg = "插入复制订单明细信息失败!"; BaseModel::rollback(); return false; } } //插入复制订单扩展信息 $new_extension = array(); foreach ($extension as $key => $value) { if ($key == 'omOrderId') { $new_extension[$key] = $id; continue; } $new_extension[$key] = $value; } $sql = array(); foreach ($new_extension as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = copyOrderModel::insertExtension($table, $sql, $userId); if (!$msg) { self::$errCode = 505; self::$errMsg = "插入复制订单扩展信息失败!"; BaseModel::rollback(); return false; } //插入复制订单仓库信息 if ($warehouse) { $new_warehouse = array(); foreach ($warehouse as $key => $value) { if ($key == 'omOrdeId') { $new_warehouse[$key] = $id; continue; } $new_warehouse[$key] = $value; } $sql = array(); foreach ($new_warehouse as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = copyOrderModel::insertWarehouse($sql, $userId); if (!$msg) { self::$errCode = 506; self::$errMsg = "插入复制订单仓库信息失败!"; BaseModel::rollback(); return false; } } //插入复制订单备注信息 if ($notes) { $new_note = array(); foreach ($notes as $key => $value) { if ($key == 'omOrdeId') { $new_note[$key] = $id; continue; } if ($key == 'userId') { $new_note[$key] = $userId; continue; } if ($key == 'createdTime') { $new_note[$key] = time(); continue; } $new_note[$key] = $value; } $sql = array(); foreach ($new_note as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = copyOrderModel::insertNote($sql); if (!$msg) { self::$errCode = 506; self::$errMsg = "插入复制订单备注信息失败!"; BaseModel::rollback(); return false; } } //完全插入成功再插入复制记录和订单操作记录 $msg = copyOrderModel::insertCopyRecord($orderid, $id, $userId); if (!$msg) { self::$errCode = 507; self::$errMsg = "插入复制订单记录失败!"; BaseModel::rollback(); return false; } //最后修改原订单为复制订单 $msg = copyOrderModel::updateOrder($orderid); if (!$msg) { self::$errCode = 508; self::$errMsg = "修改原订单失败!"; BaseModel::rollback(); return false; } BaseModel::commit(); return true; }
public static function shiftOrderList($where) { BaseModel::begin(); //开始事务 $unshipped_tableName = 'om_unshipped_order'; $shipped_tableName = 'om_shipped_order'; $orderList = self::showOrderList($unshipped_tableName, $where); //echo "<pre>"; print_r($orderList); exit; if (empty($orderList)) { self::$errCode = '000'; self::$errMsg = "无操作数据!"; return false; } foreach ($orderList as $omOrderId => $orderData) { $obj_order_data = $orderData['orderData']; $orderDetail = $orderData['orderDetail']; $insert_orderDetail = array(); foreach ($orderDetail as $detail) { $insert_orderDetailData = $detail['orderDetailData']; //unset ($insert_orderDetailData['id']); $insert_orderDetailExtenData = $detail['orderDetailExtenData']; //unset ($insert_orderDetailExtenData['omOrderdetailId']); $insert_orderDetail[] = array('orderDetailData' => $insert_orderDetailData, 'orderDetailExtenData' => $insert_orderDetailExtenData); } //BaseModel :: rollback();\ //self :: $dbConn->query('SET AUTOCOMMIT=1'); //return FALSE; //unset ($obj_order_data['id']); $orderExtenData = $orderData['orderExtenData']; //unset ($orderExtenData['omOrderId']); $orderUserInfoData = $orderData['orderUserInfoData']; //unset ($orderExtenData['omOrderId']); $orderWhInfoData = $orderData['orderWhInfoData']; //unset ($orderWhInfoData['omOrderId']); //$obj_order_data['orderStatus'] = C('STATEBUJI'); //$obj_order_data['orderType'] = C('STATEBUJI_DONE'); $insert_orderData = array(); $insert_orderData = array('orderData' => $obj_order_data, 'orderExtenData' => $orderExtenData, 'orderUserInfoData' => $orderUserInfoData, 'orderDetail' => $insert_orderDetail, 'orderWhInfoData' => $orderWhInfoData); //var_dump($insert_orderData); exit; if ($insertId = OrderAddModel::shiftAllOrderRowNoEvent($insert_orderData)) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($insertId, '从unshipped表转移数据到shipped表中,第一步:添加shipped表数据')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "转移数据添加日志失败,第一步:添加shipped表数据失败!"; return false; } } else { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "INSERT数据失败!"; return false; } if (self::killAllOrderRowNoEvent($omOrderId, $obj_order_data['platformId'])) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($omOrderId, '从unshipped表转移数据到shipped表中,第二步:删除unshipped表中数据')) { BaseModel::rollback(); self::$errCode = '003'; self::$errMsg = "转移数据添加日志失败,第二步:删除unshipped表中数据失败!"; return false; } } else { BaseModel::rollback(); self::$errCode = '004'; self::$errMsg = "KILL数据失败!"; return false; } } BaseModel::commit(); BaseModel::autoCommit(); self::$errCode = '200'; self::$errMsg = "转移数据成功!"; return TRUE; }
public function view_updateSpuPersonOn() { $spu = $_POST['spu'] ? post_check(trim($_POST['spu'])) : ''; $isSingSpu = $_POST['isSingSpu'] ? post_check(trim($_POST['isSingSpu'])) : 0; $ebaySalerId = $_POST['ebaySalerId'] ? post_check(trim($_POST['ebaySalerId'])) : 0; $aliexpressSalerId = $_POST['aliexpressSalerId'] ? post_check(trim($_POST['aliexpressSalerId'])) : 0; $amazonSalerId = $_POST['amazonSalerId'] ? post_check(trim($_POST['amazonSalerId'])) : 0; $overseaSalerId = $_POST['overseaSalerId'] ? post_check(trim($_POST['overseaSalerId'])) : 0; $webMakerId = $_POST['webMakerId'] ? post_check(trim($_POST['webMakerId'])) : 0; if ($isSingSpu != 1 && $isSingSpu != 2) { $status = "基础数据 单/虚拟料号出错!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (intval($_SESSION['userId']) <= 0) { $status = "登陆超时,请重新登陆"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (intval($ebaySalerId) <= 0 && intval($aliexpressSalerId) <= 0 && intval($amazonSalerId) <= 0 && !isAccessAll('autoCreateSpu', 'isCanUpdateWebMakerPower')) { $status = "ebay/aliexpress/amazon 平台中至少要存在一个销售人员记录才能提交"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } try { BaseModel::begin(); $status = ''; if ($isSingSpu == 1) { $tName = 'pc_spu_saler_single'; } else { $tName = 'pc_spu_saler_combine'; } $select = 'isAgree,salerId'; if (!empty($ebaySalerId)) { $where = "WHERE is_delete=0 AND spu='{$spu}' AND platformId=1"; //ebay平台 $ebaySpuSalerList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($ebaySpuSalerList)) { //更新时如果人员改动会更新是否接手状态,但是不会更新是否被销售同意/拒绝状态 if ($ebaySpuSalerList[0]['salerId'] != $ebaySalerId) { $dataEbayArr = array(); $dataEbayArr['salerId'] = $ebaySalerId; $dataEbayArr['isAgree'] = 1; //add by zqt 20140421,如果换人了的话,则变为待定状态 $dataEbayArr['addTime'] = time(); OmAvailableModel::updateTNameRow2arr($tName, $dataEbayArr, $where); } } else { //插入新数据时,则默认销售同意/拒绝状态为待定 $dataEbayArr = array(); $dataEbayArr['spu'] = $spu; $dataEbayArr['salerId'] = $ebaySalerId; $dataEbayArr['platformId'] = 1; $dataEbayArr['addTime'] = time(); $dataEbayArr['isAgree'] = 1; OmAvailableModel::addTNameRow2arr($tName, $dataEbayArr); } } if (!empty($aliexpressSalerId)) { $where = "WHERE is_delete=0 AND spu='{$spu}' AND platformId=2"; //ali平台 $ebaySpuSalerList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($ebaySpuSalerList)) { //更新时如果人员改动会更新是否接手状态,但是不会更新是否被销售同意/拒绝状态 if ($ebaySpuSalerList[0]['salerId'] != $aliexpressSalerId) { $dataEbayArr = array(); $dataEbayArr['salerId'] = $aliexpressSalerId; $dataEbayArr['isAgree'] = 1; //add by zqt 20140421,如果换人了的话,则变为待定状态 $dataEbayArr['addTime'] = time(); OmAvailableModel::updateTNameRow2arr($tName, $dataEbayArr, $where); } } else { //插入新数据时,则默认销售同意/拒绝状态为待定 $dataEbayArr = array(); $dataEbayArr['spu'] = $spu; $dataEbayArr['salerId'] = $aliexpressSalerId; $dataEbayArr['platformId'] = 2; $dataEbayArr['addTime'] = time(); $dataEbayArr['isAgree'] = 1; OmAvailableModel::addTNameRow2arr($tName, $dataEbayArr); } } if (!empty($amazonSalerId)) { $where = "WHERE is_delete=0 AND spu='{$spu}' AND platformId=11"; //amazon平台 $ebaySpuSalerList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($ebaySpuSalerList)) { //更新时如果人员改动会更新是否接手状态,但是不会更新是否被销售同意/拒绝状态 if ($ebaySpuSalerList[0]['salerId'] != $amazonSalerId) { $dataEbayArr = array(); $dataEbayArr['salerId'] = $amazonSalerId; $dataEbayArr['isAgree'] = 1; //add by zqt 20140421,如果换人了的话,则变为待定状态 $dataEbayArr['addTime'] = time(); OmAvailableModel::updateTNameRow2arr($tName, $dataEbayArr, $where); } } else { //插入新数据时,则默认销售同意/拒绝状态为待定 $dataEbayArr = array(); $dataEbayArr['spu'] = $spu; $dataEbayArr['salerId'] = $amazonSalerId; $dataEbayArr['platformId'] = 11; $dataEbayArr['addTime'] = time(); $dataEbayArr['isAgree'] = 1; OmAvailableModel::addTNameRow2arr($tName, $dataEbayArr); } } if (!empty($overseaSalerId)) { $where = "WHERE is_delete=0 AND spu='{$spu}' AND platformId=14"; //amazon平台 $ebaySpuSalerList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($ebaySpuSalerList)) { //更新时如果人员改动会更新是否接手状态,但是不会更新是否被销售同意/拒绝状态 if ($ebaySpuSalerList[0]['salerId'] != $overseaSalerId) { $dataEbayArr = array(); $dataEbayArr['salerId'] = $overseaSalerId; $dataEbayArr['isAgree'] = 1; //add by zqt 20140421,如果换人了的话,则变为待定状态 $dataEbayArr['addTime'] = time(); OmAvailableModel::updateTNameRow2arr($tName, $dataEbayArr, $where); } } else { //插入新数据时,则默认销售同意/拒绝状态为待定 $dataEbayArr = array(); $dataEbayArr['spu'] = $spu; $dataEbayArr['salerId'] = $overseaSalerId; $dataEbayArr['platformId'] = 14; $dataEbayArr['addTime'] = time(); $dataEbayArr['isAgree'] = 1; OmAvailableModel::addTNameRow2arr($tName, $dataEbayArr); } } if (!empty($webMakerId)) { $tName = 'pc_spu_web_maker'; $select = 'webMakerId,isAgree,isTake'; $where = "WHERE is_delete=0 AND spu='{$spu}' order by id desc limit 1"; $spuWebMakerList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($spuWebMakerList)) { //不存在该SPU的指派记录 $dataWebMakerArr = array(); $dataWebMakerArr['spu'] = $spu; $dataWebMakerArr['isSingSpu'] = $isSingSpu; $dataWebMakerArr['webMakerId'] = $webMakerId; $dataWebMakerArr['isAgree'] = 1; //add by 20140513,待定状态 $dataWebMakerArr['addTime'] = time(); OmAvailableModel::addTNameRow2arr($tName, $dataWebMakerArr); } else { //存在指派记录时 if ($spuWebMakerList[0]['webMakerId'] != $webMakerId) { //提交的人和之前的不一致则修改/添加,否则不变 if ($spuWebMakerList[0]['isTake'] == 1) { //如果是已经被工程师领取,则表示接手 $dataWebMakerArr = array(); $dataWebMakerArr['spu'] = $spu; $dataWebMakerArr['isSingSpu'] = $isSingSpu; $dataWebMakerArr['webMakerId'] = $webMakerId; $dataWebMakerArr['addTime'] = time(); $dataWebMakerArr['isAgree'] = $spuWebMakerList[0]['isAgree']; //add by 20140513,同意/拒绝状态不变 $dataWebMakerArr['isHandsOn'] = 1; OmAvailableModel::addTNameRow2arr($tName, $dataWebMakerArr); } else { //如果未被领取,则只是修改记录 $dataWebMakerArr = array(); $dataWebMakerArr['webMakerId'] = $webMakerId; $dataWebMakerArr['addTime'] = time(); $dataWebMakerArr['isAgree'] = 1; //add by 20140513,未领取的话,重新变成待定状态 OmAvailableModel::updateTNameRow2arr($tName, $dataWebMakerArr, $where); } } } } BaseModel::commit(); BaseModel::autoCommit(); $status = "更新成功"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = $e->getMessage(); echo '<script language="javascript"> alert("' . '添加失败——' . $status . '"); </script>'; exit; } }
/** * 插入订单对应下的总表信息 * @para $data as array * @add by Herman.Xi * @last modified 20131022 * $in 默认为进入订单模式 */ public static function insertAllOrderRow($orderData, $extension = 'ebay', $in = true) { self::initDB(); //var_dump($orderData); exit; $obj_order_data = $orderData['orderData']; $orderExtenData = $orderData['orderExtenData']; $orderUserInfoData = $orderData['orderUserInfoData']; $orderDetailArr = $orderData['orderDetail']; if ($obj_order_data['platformId'] == "2") { //ebay $ebay_orderid = $orderExtenData['orderId']; $tName = 'om_unshipped_order_extension_ebay'; $where = "WHERE orderId='{$ebay_orderid}'"; $flagCountUnshipped = OmAvailableModel::getTNameCount($tName, $where); $tName = 'om_shipped_order_extension_ebay'; $flagCountshipped = OmAvailableModel::getTNameCount($tName, $where); } else { $tName = 'om_unshipped_order'; $where = "WHERE accountId='{$obj_order_data['accountId']}' AND recordNumber='{$obj_order_data['recordNumber']}' AND platformId={$obj_order_data['platformId']} and is_delete ='0'"; $flagCountUnshipped = OmAvailableModel::getTNameCount($tName, $where); $tName = 'om_shipped_order'; $flagCountshipped = OmAvailableModel::getTNameCount($tName, $where); } //if (empty ($flagCountUnshipped) && empty ($flagCountshipped)) { //判断订单是否已经在系统2个订单表(未发货和已发货)中存在 if (empty($flagCountUnshipped) && empty($flagCountshipped)) { $platfrom = omAccountModel::getPlatformSuffixById($obj_order_data['platformId']); $extension = $platfrom['suffix']; //获取后缀名称 BaseModel::begin(); //开始事务 $insertOrderDataRow = self::insertOrderRow($obj_order_data); //插入到order表 if (empty($insertOrderDataRow)) { BaseModel::rollback(); //throw new Exception('insert orderData error'); } $orderExtenData['omOrderId'] = $insertOrderDataRow; $orderUserInfoData['omOrderId'] = $insertOrderDataRow; $resultExten = self::insertExtension($orderExtenData, $extension); //插入到order_extend表 if (!$resultExten) { BaseModel::rollback(); //throw new Exception('insert orderExtenData error'); } $resultUserInfo = self::insertUserinfoRow($orderUserInfoData); //插入到order_userInfo表 if (!$resultUserInfo) { BaseModel::rollback(); //throw new Exception('insert orderUserInfoData error'); } foreach ($orderDetailArr as $orderDetail) { $orderDetailData = $orderDetail['orderDetailData']; $orderDetailExtenData = $orderDetail['orderDetailExtenData']; $orderDetailData['omOrderId'] = $insertOrderDataRow; $orderDetailData['createdTime'] = time(); $insertOrderDatilRow = self::insertOrderdetail($orderDetailData); //插入到detail表 if (empty($insertOrderDatilRow)) { BaseModel::rollback(); //throw new Exception('insert orderDetailData error'); } $orderDetailExtenData['omOrderdetailId'] = $insertOrderDatilRow; if ($orderDetailExtenData) { $resultOrderDetailExten = self::insertDetailExtension($orderDetailExtenData, $extension); //插入到detailExtend if (!$resultOrderDetailExten) { BaseModel::rollback(); //throw new Exception('insert orderDetailExtenData error'); } } } if ($obj_order_data['platformId'] == 1) { $insertOrderidsDada = array('omOrderId' => $insertOrderDataRow, 'PayPalPaymentId' => $orderData['orderExtenData']['PayPalPaymentId'], 'orderid' => $orderData['orderExtenData']['orderId'], 'accountId' => $orderData['orderData']['accountId'], 'saletime' => time()); $insertOrderids = OrderidsModel::insertOrderidsList($insertOrderidsDada); if (!$insertOrderids) { BaseModel::rollback(); //throw new Exception('insert orderIds error'); } } if (isset($orderData['orderNote']) && !empty($orderData['orderNote'])) { $orderNote = $orderData['orderNote']; $insertOrderNoteDada = array('omOrderId' => $insertOrderDataRow, 'content' => $orderNote['content'], 'userId' => $orderNote['userId'], 'createdTime' => $orderNote['createdTime']); $insertOrderNoteids = OrderAddModel::insertOrderNotesRow($insertOrderNoteDada); if (!$insertOrderNoteids) { BaseModel::rollback(); //throw new Exception('insert orderNote error'); } } $buyerInfo = $orderUserInfoData; $buyerInfo['platformId'] = $obj_order_data['platformId']; unset($buyerInfo['omOrderId']); unset($buyerInfo['countrySn']); unset($buyerInfo['currency']); unset($buyerInfo['currency']); $insertBuyerInfo = self::insertBuyerInfoRow($buyerInfo); if (!$insertBuyerInfo) { BaseModel::rollback(); //throw new Exception('insert BuyerInfo error'); } $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($insertOrderDataRow))) { BaseModel::rollback(); //throw new Exception('update puchaseinfo error'); } BaseModel::commit(); BaseModel::autoCommit(); return $insertOrderDataRow; } else { self::$errCode = "400"; self::$errMsg = "已经包含订单信息,不能重复插入!"; return false; } }
public function act_operateAbOrderAPI() { if (!isset($_POST['omData'])) { self::$errCode = 500; self::$errMsg = '未成功接收数据!'; return false; } $ostatus = 770; $otype = 0; $storeId = 1; $orderstr = $_POST['omData']; $orderstr2 = $_POST['omData2']; $orderids = array_unique(explode(',', $orderstr)); $invoiceids = array_unique(explode(',', $orderstr2)); if (!$orderids) { self::$errCode = 400; self::$errMsg = '未获取订单编号信息!'; return false; } //var_dump($orderids); exit; $OrderindexAct = new OrderindexAct(); $WarehouseAPIAct = new WarehouseAPIAct(); foreach ($orderids as $k => $orderId) { BaseModel::begin(); //开始事务 $insertOrderData = array(); $AbOrderInfo = $WarehouseAPIAct->act_getAbOrderInfo($invoiceids[$k]); //var_dump($AbOrderInfo); echo "<br>"; //exit; $where = ' WHERE id = ' . $orderId . ' and is_delete = 0 AND storeId = ' . $storeId . ' LIMIT 1'; $orderList = $OrderindexAct->act_showOrderList($ostatus, $otype, $where); //var_dump($orderList);exit; $order = $orderList[$orderId]; $orderData = $order['orderData']; $insert_orderData = $orderData; unset($insert_orderData['id']); $insert_orderData['orderStatus'] = C('STATEOUTOFSTOCK'); $insert_orderData['orderType'] = C('STATEOUTOFSTOCK_ABNORMAL'); $orderExtenData = $order['orderExtenData']; $insert_orderExtenData = $orderExtenData; unset($insert_orderExtenData['omOrderId']); $orderUserInfoData = $order['orderUserInfoData']; $insert_orderUserInfoData = $orderUserInfoData; unset($insert_orderUserInfoData['omOrderId']); //$orderTracknumber = $order['orderTracknumber']; //$orderAudit = $order['orderAudit']; $orderDetail = $order['orderDetail']; $insertOrderData['orderData'] = $insert_orderData; $insertOrderData['orderExtenData'] = $insert_orderExtenData; $insertOrderData['orderUserInfoData'] = $insert_orderUserInfoData; $insert_orderDetail = array(); $need_delete_ids = array(); foreach ($orderDetail as $dkey => $detailValue) { $orderDetailData = $detailValue['orderDetailData']; $orderDetailExtenData = $detailValue['orderDetailExtenData']; if (!isset($AbOrderInfo[$orderDetailData['sku']]) || $AbOrderInfo[$orderDetailData['sku']] == 0) { $insert_orderDetailData = $orderDetailData; unset($insert_orderDetailData['id']); unset($insert_orderDetailData['omOrderId']); $insert_orderDetailExtenData = $orderDetailExtenData; unset($insert_orderDetailExtenData['omOrderdetailId']); $insert_orderDetail[$dkey]['orderDetailData'] = $insert_orderDetailData; $insert_orderDetail[$dkey]['orderDetailExtenData'] = $insert_orderDetailExtenData; $need_delete_ids[] = $orderDetailData['id']; } } $insertOrderData['orderDetail'] = $insert_orderDetail; $count_insert_orderDetail = count($insert_orderDetail); $count_orderDetail = count($orderDetail); $tableName = "om_unshipped_order"; if ($count_insert_orderDetail > 0 && $count_insert_orderDetail < $count_orderDetail) { $calcWeight = CommonModel::calcNowOrderWeight($orderId); //重新计算原来订单的重量 if (!OrderindexModel::deleteOrderDetail(array('is_delete' => 1), ' where id in(' . join(',', $need_delete_ids) . ')')) { BaseModel::rollback(); self::$errCode = '005'; self::$errMsg = "删除原订单明细失败!"; return false; } $insertOrderData['orderData']['isCopy'] = 2; $insertOrderData['orderData']['actualTotal'] = 0.0; //var_dump($orderData);exit; $calcInfo = CommonModel::calcAddOrderWeight($insert_orderDetail); //计算重量和包材 //var_dump($calcInfo); exit; $insertOrderData['orderData']['calcWeight'] = $calcInfo[0]; $insertOrderData['orderData']['pmId'] = $calcInfo[1]; if (count($insertOrderData['orderDetail']) > 1) { $insertOrderData['orderData']['orderAttribute'] = 3; } else { if (isset($insertOrderData['orderDetail'][0]['orderDetailData']['amount']) && $insertOrderData['orderDetail'][0]['orderDetailData']['amount'] > 1) { $insertOrderData['orderData']['orderAttribute'] = 2; } } $calcShippingInfo = CommonModel::calcAddOrderShippingFee($insertOrder, 1); //计算运费 $insertOrderData['orderData']['channelId'] = $calcShippingInfo['fee']['channelId']; $insertOrderData['orderData']['calcShipping'] = $calcShippingInfo['fee']['fee']; //print_r($insertOrderData); exit; if ($_spitId = OrderAddModel::insertAllOrderRowNoEvent($insertOrderData)) { if (!OrderLogModel::insertOrderLog($_spitId, 'INSERT ORDER')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "插入订单日志失败!"; return false; } if (!OrderRecordModel::insertSpitRecords($orderId, $_spitId)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "插入拆分日志失败!"; return false; } } else { BaseModel::rollback(); self::$errCode = '010'; self::$errMsg = "插入订单信息失败!"; return false; } $returnStatus0 = array('isCopy' => 1, 'calcWeight' => $calcWeight); $rtn = $WarehouseAPIAct->act_operateAbOrder($invoiceids[$k], $calcWeight); if (!$rtn) { BaseModel::rollback(); self::$errCode = '011'; self::$errMsg = "调用仓库系统拆分功能失败!"; return false; } } else { $returnStatus0 = array('orderStatus' => $insert_orderData['orderStatus'], 'orderType' => $insert_orderData['orderType']); } if (!OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "订单移动到缺货异常失败!"; return false; } BaseModel::commit(); BaseModel::autoCommit(); } self::$errCode = 200; self::$errMsg = '缺货拆分完成!'; return true; }
function act_updateSkuConversion() { $id = $_GET['id'] ? post_check(trim($_GET['id'])) : 0; $id = intval($id); $new_sku = $_GET['new_sku'] ? post_check(trim($_GET['new_sku'])) : ''; //new_sku $modifiedUserId = intval($_SESSION['userId']); $modifiedTime = time(); if ($modifiedUserId <= 0) { self::$errCode = '103'; self::$errMsg = "登陆超时,请重试"; return; } if ($id <= 0) { self::$errCode = '100'; self::$errMsg = "异常"; return; } if (empty($new_sku)) { self::$errCode = '101'; self::$errMsg = "新料号不能为空"; return; } if (!preg_match("/^[A-Z0-9]+(_[A-Z0-9]+)*\$/", $new_sku)) { self::$errCode = '100'; self::$errMsg = "新料号 {$new_sku} 格式不合法"; return; } if ($modifiedUserId <= 0) { self::$errCode = '103'; self::$errMsg = "登陆超时,请重试"; return; } $tName = 'pc_sku_conversion'; $select = 'new_sku'; $where = "WHERE id={$id} and is_delete=0"; $skuConNewSkuList = OmAvailableModel::getTNameList($tName, $select, $where); //在料号转换表中找到id所在记录的新料号new_sku $skuConNewSku = $skuConNewSkuList[0]['new_sku']; if (empty($skuConNewSku)) { self::$errCode = '104'; self::$errMsg = "记录的新料号不存在"; return; } if ($skuConNewSku == $new_sku) { self::$errCode = '111'; self::$errMsg = "修改前后料号相同,无修改"; return; } $tName = 'pc_goods'; $select = '*'; $where = "WHERE is_delete=0 AND sku='{$skuConNewSku}'"; $newSkuPcList = OmAvailableModel::getTNameList($tName, $select, $where); //在产品表里找是否存在未修改前的料号 $newSkuPc = $newSkuPcList[0]; //未修改前的料号信息 if (empty($newSkuPc)) { self::$errCode = '105'; self::$errMsg = "修改前的料号 {$skuConNewSku} 在产品列表中不存在"; return; } $newSkuPcSku = $newSkuPc['sku']; //$newSkuPcArr = array_filter(explode('_',$newSkuPc));//修改前的sku按照_来截取 // $newSpuPc = $newSkuPcArr[0];//取得新料号的SPU // $newSkuArr = array_filter(explode('_',$new_sku));//修改后的sku按照_来截取 // $newSpu = $newSkuArr[0];//取得新料号的SPU // if($newSpuPc != $newSpu){ // self::$errCode = '107'; // self::$errMsg = "修改前后的SPU不符,请检查"; // return; // } try { BaseModel::begin(); $tName = 'pc_sku_conversion'; $set = "SET new_sku='{$new_sku}',modifiedUserId='{$modifiedUserId}',modifiedTime='{$modifiedTime}'"; $where = "WHERE id={$id} and is_delete=0"; OmAvailableModel::updateTNameRow($tName, $set, $where); //先将转换记录修改 $tName = 'pc_goods'; $set = "SET goodsStatus=101,is_delete=1"; //将未修改前的sku状态改为 料号转化,并delete $where = "WHERE is_delete=0 and sku='{$newSkuPcSku}'"; OmAvailableModel::updateTNameRow($tName, $set, $where); $where = "WHERE is_delete=0 and sku='{$new_sku}'"; $newSkuCount = OmAvailableModel::getTNameCount($tName, $where); if ($newSkuCount) { //如果新料号在产品中已经存在,则只添加转换记录 self::$errCode = '200'; self::$errMsg = "修改转换记录成功,新料号:{$new_sku} 已经存在记录"; } else { //如果新料号在产品表中不存在,则自动添加旧料号的记录进去 unset($newSkuPc['id']); //去掉旧记录的id $newSkuPc['sku'] = $new_sku; //将旧的sku换成新的sku OmAvailableModel::addTNameRow2arr($tName, $newSkuPc); self::$errCode = '200'; self::$errMsg = "修改转换记录成功,新料号:{$new_sku} 记录已插入成功"; } //下面对关联单料号的组合料号进行修改 $tName = 'pc_sku_combine_relation'; $select = '*'; $where = "WHERE sku='{$newSkuPcSku}' group by combineSku"; $skuRelationList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($skuRelationList)) { self::$errMsg .= "<br/>其中,无关联组合料号被更新"; } else { $combineSkuArr = array(); foreach ($skuRelationList as $value) { $combineSkuArr[] = $value['combineSku']; } $combineSkuStr = implode(',', $combineSkuArr); $set = "SET sku='{$new_sku}'"; $where = "WHERE sku='{$newSkuPcSku}'"; $affectRows = OmAvailableModel::updateTNameRow($tName, $set, $where); self::$errMsg .= "<br/>"; self::$errMsg .= "其中,组合料号 {$combineSkuStr} 中共有 {$affectRows} 条单料号数据已更新"; } ////// BaseModel::commit(); BaseModel::autoCommit(); return; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = '404'; self::$errMsg = $e->getMessage(); return; } }
public function act_modifyOrder() { if (isset($_POST) && !empty($_POST)) { //$OrderModifyAct->act_modifyOrder(); $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ''; $ostatus = isset($_POST['edit_ostatus']) ? $_POST['edit_ostatus'] : $_POST['ostatus']; $otype = isset($_POST['edit_otype']) ? $_POST['edit_otype'] : $_POST['otype']; $update_order = array(); $update_userinfo = array(); $update_tracknumber = array(); //$orderid = $_POST['orderid']; //var_dump($_POST); exit; $updatestatus = false; if (!empty($_POST['data'])) { $data = $_POST['data']; } if (isset($data['username'])) { $update_userinfo['username'] = $data['username']; } if (isset($data['orderStatus'])) { $update_order['orderStatus'] = $data['orderStatus']; } if (isset($data['orderType'])) { $update_order['orderType'] = $data['orderType']; $updatestatus = true; } if (isset($data['street'])) { $update_userinfo['street'] = $data['street']; } if (isset($data['platformUsername'])) { $update_userinfo['platformUsername'] = $data['platformUsername']; } if (isset($data['address2'])) { $update_userinfo['address2'] = $data['address2']; } if (isset($data['actualShipping'])) { $update_order['actualShipping'] = $data['actualShipping']; } if (isset($data['city'])) { $update_userinfo['city'] = $data['city']; } if (isset($data['state'])) { $update_userinfo['state'] = $data['state']; } if (isset($data['countryName'])) { $update_userinfo['countryName'] = $data['countryName']; } if (isset($data['zipCode'])) { $update_userinfo['zipCode'] = $data['zipCode']; } if (isset($data['landline'])) { $update_userinfo['landline'] = $data['landline']; } if (isset($data['phone'])) { $update_userinfo['phone'] = $data['phone']; } if (isset($data['transportId'])) { $update_order['transportId'] = $data['transportId']; } if (isset($data['update_notes'])) { $update_note = $data['update_notes']; } if (isset($data['note_new'])) { $add_note = $data['note_new']; } if ($data['edit_tracknumber']) { $update_tracknumber['omOrderId'] = $orderid; $update_tracknumber['tracknumber'] = $data['edit_tracknumber']; $update_tracknumber['addUser'] = $_SESSION['sysUserId']; $update_tracknumber['createdTime'] = time(); //var_dump($update_tracknumber); exit; } BaseModel::begin(); //开始事务 if ($update_order) { //$sql = "UPDATE om_unshipped_order set ".array2sql($update_order)." WHERE id = ".$orderid; //$msg = commonModel::orderLog($orderid,$update_order['orderStatus'],$update_order['orderType'],$sql); if (OrderindexModel::updateOrder('om_unshipped_order', $update_order, ' WHERE id = ' . $orderid)) { if ($updatestatus) { $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($orderid), $batch_ostatus_val, $batch_otype_val)) { BaseModel::rollback(); } } $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "001"; self::$errMsg = "更新订单信息失败!"; BaseModel::rollback(); return false; } } if ($update_userinfo) { //var_dump($update_userinfo); if (OrderindexModel::updateOrder('om_unshipped_order_userInfo', $update_userinfo, ' WHERE omOrderId = ' . $orderid)) { $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "002"; self::$errMsg = "更新订单用户信息失败!"; BaseModel::rollback(); return false; } } if ($update_tracknumber) { //echo $msg; if (!OrderAddModel::insertOrderTrackRow($update_tracknumber)) { self::$errCode = "003"; self::$errMsg = "更新订单跟踪号插入失败!"; BaseModel::rollback(); return false; } } if ($update_note) { foreach ($update_note as $key => $value) { $notes = explode("###", $value); $where = " where content='{$notes[0]}' and omOrderId={$orderid}"; $set = "set content='{$notes[1]}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::updateTNameRow("om_order_notes", $set, $where); if (!$msg) { self::$errCode = "004"; self::$errMsg = "更新订单备注失败!"; BaseModel::rollback(); return false; } } } if ($add_note) { foreach ($add_note as $key => $value) { $set = "set omOrderId={$orderid},content='{$value}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::insertRow("om_order_notes", $set); if (!$msg) { self::$errCode = "005"; self::$errMsg = "插入订单备注失败!"; BaseModel::rollback(); return false; } } } self::$errCode = "200"; self::$errMsg = "整个订单信息更新成功!"; BaseModel::commit(); BaseModel::autoCommit(); } }
public function act_updateSpecialTMTCOn() { $id = $_POST['id'] ? trim($_POST['id']) : 0; $specialTransportManagerName = $_POST['specialTransportManagerName'] ? trim($_POST['specialTransportManagerName']) : ''; $isOn = $_POST['isOn'] ? trim($_POST['isOn']) : ''; //$canOrNot = $_POST['canOrNot'] ? (trim($_POST['canOrNot'])) : ''; $transportIdArr = !empty($_POST['transportId']) ? $_POST['transportId'] : array(); //选中的transportId数组 //print_r($transportIdArr);exit; $tName = 'pc_special_transport_manager'; $where = "WHERE id='{$id}'"; $pspIsExist = OmAvailableModel::getTNameCount($tName, $where); if (!$pspIsExist) { $status = "记录不存在,错误"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (empty($specialTransportManagerName)) { $status = "特殊运输方式名称为空"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (intval($isOn) <= 0) { $status = "是否启用有误"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (empty($transportIdArr)) { $status = "所选的运输方式为空,错误"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_special_transport_manager'; $where = "WHERE specialTransportManagerName='{$specialTransportManagerName}' AND id<>'{$id}'"; $properNameIsExist = OmAvailableModel::getTNameCount($tName, $where); if ($properNameIsExist) { $status = "该特殊运输方式名称已经存在,请检查"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } try { BaseModel::begin(); $tName = 'pc_special_transport_manager'; $dataTmpArr = array(); $dataTmpArr['specialTransportManagerName'] = $specialTransportManagerName; $dataTmpArr['isOn'] = $isOn; $where = "WHERE id='{$id}'"; OmAvailableModel::updateTNameRow2arr($tName, $dataTmpArr, $where); $tName = 'pc_special_stmnid_transportid'; $select = '*'; $where = "WHERE stmnId='{$id}'"; $psptList = OmAvailableModel::getTNameList($tName, $select, $where); $psptIdArr = array(); foreach ($psptList as $value) { $psptIdArr[] = $value['id']; } $psptIdStr = !empty($psptIdArr) ? implode(',', $psptIdArr) : 0; $tName = 'pc_special_stid_channel'; $where = "WHERE stId in({$psptIdStr})"; OmAvailableModel::deleteTNameRow($tName, $where); //删除渠道关系表的相关数据 $tName = 'pc_special_stmnid_transportid'; $where = "WHERE stmnId='{$id}'"; OmAvailableModel::deleteTNameRow($tName, $where); //删除运输方式关系表的相关数据 foreach ($transportIdArr as $transportId) { if (intval($transportId) > 0) { $channelIdArr = !empty($_POST['tc' . $transportId]) ? $_POST['tc' . $transportId] : array(); //该transpordeId下的channel数组 $tName = 'pc_special_stmnid_transportid'; $dataTmpArr = array(); $dataTmpArr['stmnId'] = $id; $dataTmpArr['transportId'] = $transportId; $insertPTId = OmAvailableModel::addTNameRow2arr($tName, $dataTmpArr); if (intval($insertPTId) <= 0) { throw new Exception('insertPTId 错误'); } foreach ($channelIdArr as $channelId) { if (intval($channelId) > 0) { $tName = 'pc_special_stid_channel'; $dataTmpArr = array(); $dataTmpArr['stId'] = $insertPTId; $dataTmpArr['channelId'] = $channelId; OmAvailableModel::addTNameRow2arr($tName, $dataTmpArr); } } } } BaseModel::commit(); BaseModel::autoCommit(); $status = "修改成功"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = '失败,原因为:' . $e->getMessage(); echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } }
function act_confirmReceivingByMFG() { $ioStoreId = !empty($_POST['ioStoreId']) ? $_POST['ioStoreId'] : 0; $comfirmUserId = $_SESSION['userId']; $now = time(); if (intval($ioStoreId) <= 0) { self::$errCode = '101'; self::$errMsg = "id有误"; return false; } if (intval($comfirmUserId) <= 0) { self::$errCode = '102'; self::$errMsg = "登陆超时,请重试"; return false; } $tName = 'pc_products_iostore'; $select = '*'; $where = "WHERE is_delete=0 AND isAudit=2 AND id='{$ioStoreId}'"; $ioStoreList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($ioStoreList)) { self::$errCode = '103'; self::$errMsg = "该单据不存在或者未审核通过"; return false; } try { BaseModel::begin(); //标记表头已经确认 $dataIoStore = array(); $dataIoStore['isComfirm'] = 2; //标记单据已经确认 $dataIoStore['comfirmUserId'] = $comfirmUserId; $dataIoStore['comfirmTime'] = $now; OmAvailableModel::updateTNameRow2arr($tName, $dataIoStore, $where); //标记表体确认 $tName = 'pc_products_iostore_detail'; $dataIoStoreDetail = array(); $dataIoStoreDetail['isComfirm'] = 2; $where = "WHERE iostoreId='{$ioStoreId}'"; OmAvailableModel::updateTNameRow2arr($tName, $dataIoStoreDetail, $where); //如果是新品领料单,则产品部确认后,该单据下的sku才进入产品制作表 if ($ioStoreList[0]['iostoreTypeId'] == 1 && $ioStoreList[0]['useTypeId'] == 1) { $select = 'sku'; $skuList = OmAvailableModel::getTNameList($tName, $select, $where); foreach ($skuList as $value) { $sku = $value['sku']; $tName = 'pc_products'; $dataProducts = array(); $dataProducts['sku'] = $sku; OmAvailableModel::addTNameRow2arr($tName, $dataProducts); //将detail中的sku加入到产品制作表中 } } BaseModel::commit(); BaseModel::autoCommit(); self::$errCode = '200'; self::$errMsg = "确认收货成功"; return true; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = '404'; self::$errMsg = $e->getMessage(); return false; } }
public function view_updatePropertyOn() { $id = $_GET['id']; $propertyName = $_GET['propertyName'] ? post_check(trim($_GET['propertyName'])) : ''; $pid = $_GET['pid'] ? post_check(trim($_GET['pid'])) : ''; $isRadio = $_GET['isRadio'] ? post_check(trim($_GET['isRadio'])) : ''; $isRequired = $_GET['isRequired'] ? post_check(trim($_GET['isRequired'])) : ''; if (intval($id) == 0) { $status = "属性Id错误"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } if (empty($propertyName)) { if (intval($id) == 0) { $status = "属性Id错误"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $tName = 'pc_archive_spu_property_value_relation'; $where = "WHERE propertyId={$id}"; $countPP = OmAvailableModel::getTNameCount($tName, $where); if ($countPP) { $status = "该属性已经绑定了SPU,不能删除"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $tName = 'pc_archive_property_value'; $select = 'id'; $where = "WHERE propertyId={$id}"; $ppvList = OmAvailableModel::getTNameList($tName, $select, $where); //该属性下所有的属性值 foreach ($ppvList as $value) { $propertyValueId = $value['id']; if (intval($propertyValueId) != 0) { $tName = 'pc_archive_spu_property_value_relation'; $where = "WHERE propertyId={$id} and propertyValueId={$propertyValueId}"; $countPPV = OmAvailableModel::getTNameCount($tName, $where); if ($countPPV) { $status = "该属性下已有属性值绑定了SPU,不能删除"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } } } try { BaseModel::begin(); foreach ($ppvList as $value) { $propertyValueId = $value['id']; if (intval($propertyValueId) != 0) { $tName = 'pc_archive_property_value'; $where = "WHERE id={$propertyValueId}"; OmAvailableModel::deleteTNameRow($tName, $where); } } $tName = 'pc_archive_property'; $where = "WHERE id={$id}"; OmAvailableModel::deleteTNameRow($tName, $where); BaseModel::commit(); BaseModel::autoCommit(); $status = "属性删除成功"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = $e->getMessage(); header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } } if (empty($pid)) { $status = "类型不能为空"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } if (empty($isRadio)) { $status = "录入方式不能为空"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } if (intval($isRequired) == 0) { $status = "是否必填不能为空"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $tName = 'pc_archive_property'; $select = '*'; $where = "WHERE id='{$id}'"; $propertyList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($propertyList)) { $status = "不存在该属性记录"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $categoryName = getAllCateNameByPath($pid); $pathImplodeStr = getAllPathBypid($pid); $i = strrpos($pathImplodeStr, ','); if ($i !== false) { $pathImplodeStr = substr($pathImplodeStr, 0, $i); } $where = "WHERE propertyName='{$propertyName}' and categoryPath IN ({$pathImplodeStr})"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$categoryName} 其父类已经存在 {$propertyName} 属性"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $where = "WHERE propertyName='{$propertyName}' and categoryPath='{$pid}' and id<>{$id}"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$categoryName} 已经存在 {$propertyName} 属性"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $set = "SET propertyName='{$propertyName}',categoryPath='{$pid}',isRadio='{$isRadio}',isRequired='{$isRequired}'"; $where = "WHERE id='{$id}'"; $affectRow = OmAvailableModel::updateTNameRow($tName, $set, $where); if (!$affectRow) { $status = "无数据修改"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); exit; } $categoryName1 = CategoryModel::getCategoryNameByPath($propertyList[0]['categoryPath']); $categoryName2 = CategoryModel::getCategoryNameByPath($pid); $isRadioStr = $isRadio == 1 ? '单选' : '多选'; $status = "{$categoryName1} 下 {$propertyList[0]['propertyName']} 修改为 {$categoryName2} 下 {$propertyName} 成功,录入方式为 {$isRadioStr}"; header("Location:index.php?mod=property&act=getPropertyList&status={$status}"); }
public function act_autoSplitOrder() { $type = isset($_POST['type']) ? $_POST['type'] : ""; $key = isset($_POST['key']) ? $_POST['key'] : ""; $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ""; $userId = $_SESSION['sysUserId']; $order = splitOrderModel::selectOrder($orderid); $details = splitOrderModel::selectDetail($orderid); $userinfo = splitOrderModel::selectUser($orderid); global $memc_obj; $platformId = $order['platformId']; $plateform = splitOrderModel::selectplatform($platformId); $table = "om_unshipped_order_extension_" . $plateform; $extension = splitOrderModel::selectExtension($table, $orderid); $warehouse = splitOrderModel::selectWarehouse($orderid); if ($type == 1) { $amount = 0; foreach ($details as $detail) { $nums = 0; //每个料号数量 $result = $memc_obj->get_extral("sku_info_" . $detail['sku']); for ($i = 0; $i < $detail['amount']; $i++) { if ($amount == $key) { $skus[$detail['sku']] = $nums; $new_orders[] = array($skus, $weight, $shippingfee); $weight = 0; $shippingfee = 0; $amount = 0; } $shippingfee += $detail['shippingfee']; $weight += $result['weight']; $amount += 1; $nums += 1; } } $skus[$detail['sku']] = $nums; } elseif ($type == 2) { $weight = 0; foreach ($details as $num => $detail) { $amount = 0; $result = $memc_obj->get_extral("sku_info_" . $detail['sku']); foreach ($detail as $value) { if ($weight + $result['weight'] > $key) { $skus[$detail['sku']] = $amount; $new_orders[] = array($skus, $weight, $shippingfee); $weight = 0; $shippingfee = 0; $amount = 0; } //$price += $value['itemPrice'] $shippingfee += $value['shippingfee']; $weight += $result['weight']; $amount += 1; } $skus[$detail['sku']] = $amount; } } //获取新订单数组 BaseModel::begin(); foreach ($new_orders as $neworder) { //先插入订单 foreach ($order as $key => $value) { if ($key == 'id') { continue; } if ($key == 'isSplit') { $new_order[$key] = 2; continue; } if ($key == 'calcWeight') { $new_order[$key] = $neworder[1]; continue; } if ($key == 'calcShipping') { $new_order[$key] = $neworder[2]; continue; } $new_order[$key] = $value; } $sql = array(); foreach ($new_order as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $id = splitOrderModel::insertOrder($sql, $userId); if (!$id) { self::$errCode = 611; self::$errMsg = "拆分订单订单插入失败!"; BaseModel::rollback(); return false; } //插入订单明细信息 foreach ($details as $nums => $detail) { foreach ($neworder[0] as $key1 => $sku_amount) { if ($key1 == $setail['sku']) { $new_detail = array(); foreach ($detail as $key => $value) { if ($key == 'id') { continue; } $new_detail[$key] = $value; if ($key == 'omOrderId') { $new_detail[$key] = $id; } if ($key == 'amount') { $new_detail[$key] = $sku_amount; } } $sql = array(); foreach ($new_detail as $key => $value) { if ($key == 'createdTime') { $sql[] = "{$key}=" . time() . " "; continue; } if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = splitOrderModel::insertDetail($sql, $userId); if (!$msg) { self::$errCode = 612; self::$errMsg = "插入拆分订单明细信息失败!"; BaseModel::rollback(); return false; } } } } $new_user = array(); //插入用户信息 foreach ($userinfo as $key => $value) { $new_user[$key] = $value; if ($key == 'omOrderId') { $new_user[$key] = $id; } } $sql = array(); foreach ($new_user as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = splitOrderModel::insertUser($sql, $userId); if (!$msg) { self::$errCode = 613; self::$errMsg = "插入拆分订单用户信息失败!"; BaseModel::rollback(); return false; } //插入订单扩展信息 $new_extension = array(); foreach ($extension as $key => $value) { if ($key == 'omOrderId') { $new_extension[$key] = $id; continue; } $new_extension[$key] = $value; } $sql = array(); foreach ($new_extension as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = splitOrderModel::insertExtension($table, $sql, $userId); if (!$msg) { self::$errCode = 614; self::$errMsg = "插入订单扩展信息失败!"; BaseModel::rollback(); return false; } //插入复制订单仓库信息 if ($warehouse) { $new_warehouse = array(); foreach ($warehouse as $key => $value) { if ($key == 'omOrdeId') { $new_warehouse[$key] = $id; continue; } $new_warehouse[$key] = $value; } $sql = array(); foreach ($new_warehouse as $key => $value) { if (is_numeric($value)) { $sql[] = "{$key}={$value}"; } else { $sql[] = "{$key}='{$value}'"; } } $sql = implode(",", $sql); $msg = splitOrderModel::insertWarehouse($sql, $userId); if (!$msg) { self::$errCode = 615; self::$errMsg = "插入拆分订单仓库信息失败!"; BaseModel::rollback(); return false; } } //完全插入成功再插入拆分记录和订单操作记录 $msg = splitOrderModel::insertSplitRecord($orderid, $id, $userId); if (!$msg) { self::$errCode = 616; self::$errMsg = "插入拆分订单记录失败!"; BaseModel::rollback(); return false; } //最后修改原订单为拆分订单订单 $msg = splitOrderModel::updateOrder($orderid); if (!$msg) { self::$errCode = 617; self::$errMsg = "修改原订单失败!"; BaseModel::rollback(); return false; } } BaseModel::commit(); return true; }
<?php error_reporting(-1); header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('Asia/Shanghai'); require "/data/web/order.valsun.cn/framework.php"; Core::getInstance(); $sql = "select * from om_express_remark_bak group by omOrderId "; $query = $dbConn->query($sql); $express_remarks = $dbConn->fetch_array_all($query); echo count($express_remarks); echo "\n"; //var_dump($om_status_menu); echo "\n"; exit; foreach ($express_remarks as $express_remark) { BaseModel::begin(); $omOrderId = $express_remark['omOrderId']; $osql = "select * from om_express_remark where omOrderId = '{$omOrderId}' "; $query = $dbConn->query($osql); $oldremarks = $dbConn->fetch_array_all($query); if ($oldremarks) { $usql = "delete from om_express_remark where omOrderId = '{$omOrderId}' "; if (!$dbConn->query($usql)) { echo $usql; echo "\n"; BaseModel::rollback(); } else { $osql = "select * from om_express_remark_bak where omOrderId = '{$omOrderId}' "; $query = $dbConn->query($osql); $remarkValues = $dbConn->fetch_array_all($query); foreach ($remarkValues as $info) { $info['lastModified'] = time();
function act_addInput() { //$pidNew = $_POST['pidNew']?post_check($_POST['pidNew']):'';//类别 $finalIdArr = $_POST['finalIdStr']; //新建属性-类别4 $inputName = $_POST['inputName'] ? post_check($_POST['inputName']) : ''; //类别 $textStatus = $_POST['textStatus'] ? post_check($_POST['textStatus']) : ''; //文本方式 if (empty($finalIdArr) || empty($inputName)) { self::$errCode = 101; self::$errMsg = '类别或属性名不能为空'; return false; } if (intval($textStatus) <= 0) { self::$errCode = 102; self::$errMsg = '文本方式有误'; return false; } $tmpArr = array(); if (!is_array($finalIdArr)) { $tmpArr[] = $finalIdArr; $finalIdArr = $tmpArr; } $finalPathArr = array(); foreach ($finalIdArr as $cid) { $catePath = CategoryModel::getCategoryPathById($cid); if (empty($catePath)) { self::$errCode = 109; self::$errMsg = '类别有误'; return false; } $finalPathArr[] = $catePath; } $tName = 'pc_goods_category'; foreach ($finalPathArr as $value) { $where = "WHERE path like'%{$value}-%' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { self::$errCode = 105; self::$errMsg = '只能在最小分类进行复制'; return false; } } try { $pidNewStr = ''; BaseModel::begin(); $tName = 'pc_archive_input'; foreach ($finalPathArr as $value) { $where = "WHERE inputName='{$inputName}' AND categoryPath='{$value}'"; $countIN = OmAvailableModel::getTNameCount($tName, $where); if (!$countIN) { $pidNewStr .= CategoryModel::getCategoryNameByPath($value) . ' '; $set = "SET inputName='{$inputName}',categoryPath='{$value}',textStatus='{$textStatus}'"; OmAvailableModel::addTNameRow($tName, $set); } } BaseModel::commit(); BaseModel::autoCommit(); self::$errCode = 200; self::$errMsg = "{$inputName} 添加到 {$pidNewStr} 成功"; return true; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = 201; self::$errMsg = $e->getMessage(); return false; } }
public static function addUserCompense($uid, $data) { !self::$dbConn ? self::initDB() : null; BaseModel::begin(); //开始事务 //var_dump($data); $string = array2sql_extral($data); if (self::selectUserCompense($uid)) { $sql = "UPDATE " . self::$UserCompenseTable . " SET {$string} WHERE global_user_id = " . $uid; //echo $sql; if (!self::$dbConn->query($sql)) { BaseModel::rollback(); self::$errCode = "002"; self::$errMsg = " 插入数据失败!"; return false; //失败则设置错误码和错误信息, 返回false } } else { $data['global_user_id'] = $uid; //$data['type'] = 1; $string = array2sql($data); $sql = "INSERT INTO " . self::$UserCompenseTable . " SET {$string} "; //echo $sql; if (!self::$dbConn->query($sql)) { BaseModel::rollback(); self::$errCode = "002"; self::$errMsg = " 插入数据失败!"; return false; //失败则设置错误码和错误信息, 返回false } } BaseModel::commit(); BaseModel::autoCommit(); self::$errCode = "200"; self::$errMsg = " 插入数据成功!"; return true; //失败则设置错误码和错误信息, 返回false }
public function pickupOrder() { global $dbConn; $skulist = $_POST['skulist']; $operator_id = $_SESSION[C('USER_AUTH_SYS_ID')]; //操作人员ID $comid = $_SESSION[C('USER_COM_ID')]; //公司ID $type = $_POST['type']; BaseModel::begin(); //开始事务 $rollback = false; foreach ($skulist as $key => $sku) { $price = PurchaseOrderModel::getPriceBySku($sku['sku']); //SKU单价 //$parid = CommonAct::actgetPartnerIdBySku($sku['sku']);//供应商ID $purid = $this->getPurchaseidBySku($sku['sku']); $parid = $this->getPartnerId($sku['sku']); //供应商ID $parid = $parid['partnerId']; $storeid = 1; //仓库ID $orderData = $this->getOwOrderSN($parid, $purid); //判断同供应商、采购员跟踪号是否已存在 $orderSN = $orderData['recordnumber']; if ($key == 0 && $type == "oversea") { $orderSN = null; } $main = array(); $detail = array(); if (!empty($orderSN)) { //存在符合条件的跟踪号,直接插入采购订单明细 //$detail['sku_id'] = $skuid;//SKU编号 $detail['sku'] = $sku['sku']; $detail['price'] = $price; //单价 $detail['count'] = $sku['rec']; //采购数量 //$detail['is_new'] = $sku['is_new'];// 是否是新品 $detail['goods_recommend_count'] = $sku['rec']; //采购数量 $detail['recordnumber'] = $orderData['recordnumber']; $poid = $orderData['id']; //根据跟踪号取采购主订单编号 $detail['po_id'] = $poid; $dataSet = array2sql($detail); $sql = "insert into ph_ow_order_detail set {$dataSet} "; $rtndetail = $dbConn->execute($sql); if ($rtndetail === false) { $rollback = true; } } else { //不存在符合条件的跟踪号重新生成 //生成跟踪号需通过公司编号生成前缀 $recordnumber = PurchaseOrderModel::autoCreateOrderSn($purid, $comid); //生成对应公司的采购订单跟踪号 if (!empty($recordnumber)) { //生成采购订单号成功 $main['recordnumber'] = $recordnumber; //跟踪号 $main['purchaseuser_id'] = $purid; //采购员ID $main['operator_id'] = $operator_id; //操作人员id $main['warehouse_id'] = $storeid; //仓库ID $main['partner_id'] = $parid; //供应商ID $main['company_id'] = $comid; //公司编号 $main['addtime'] = time(); if ($type == "oversea") { $main['order_type'] = 5; // 给海外仓备货的订单 } else { $main['order_type'] = 1; // 正常订单 } $dataSet = array2sql($main); $sql = "insert into ph_ow_order set {$dataSet} "; $rtnmain = $dbConn->execute($sql); if ($rtnmain) { //主订单添加成功 $detail['sku'] = $sku['sku']; $detail['price'] = $price; //单价 $detail['count'] = $sku['rec']; //采购数量 $detail['goods_recommend_count'] = $sku['rec']; //采购数量 //$detail['is_new'] = $sku['is_new'];// 是否是新品 $detail['recordnumber'] = $recordnumber; $poid = PurchaseOrderModel::getOrderIdByNum($recordnumber); //根据跟踪号取采购主订单编号 $detail['po_id'] = $poid; $dataSet = array2sql($detail); $sql = "insert into ph_ow_order_detail set {$dataSet} "; $dbConn->execute($sql); if ($rtndetail === false) { $rollback = true; } } else { $rollback = true; } } else { $rollback = true; } } } if ($rollback == false) { BaseModel::commit(); BaseModel::autoCommit(); $result['msg'] = 'success'; } else { BaseModel::rollback(); BaseModel::autoCommit(); $result['msg'] = ''; } return json_encode($result); }
function act_updateSpuArchivePid() { $spu = $_POST['spu']; $pid = $_POST['pid']; $userId = $_SESSION['userId']; if (intval($userId) <= 0) { self::$errCode = '100'; self::$errMsg = "登陆超时,请重试"; return false; } if (empty($spu) || empty($pid)) { self::$errCode = '101'; self::$errMsg = "异常,错误!"; return false; } $tName = 'pc_spu_archive'; $select = 'categoryPath'; $where = "WHERE is_delete=0 AND spu='{$spu}'"; $spuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($spuList)) { self::$errCode = '102'; self::$errMsg = "该SPU档案不存在"; return false; } if ($spuList[0]['categoryPath'] == $pid) { self::$errCode = '110'; self::$errMsg = "类别无修改"; return false; } $tName = 'pc_goods_category'; $where = "WHERE path='{$pid}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { self::$errCode = '103'; self::$errMsg = "所选类别不存在,请刷新重试!"; return false; } $where = "WHERE path like'{$pid}-%' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { self::$errCode = '104'; self::$errMsg = "产品档案只能建立在最小分类下,请选择最小分类"; return false; } try { BaseModel::begin(); $tName = 'pc_spu_archive'; $where = "WHERE spu='{$spu}'"; $dataTmpArr = array(); $dataTmpArr['categoryPath'] = $pid; OmAvailableModel::updateTNameRow2arr($tName, $dataTmpArr, $where); //更新SPU档案的类别 $tName = 'pc_archive_spu_property_value_relation'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); //物理删除该SPU产品档案选择属性记录 $tName = 'pc_archive_spu_input_value_relation'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); //物理删除SPU产品档案文本记录 $tName = 'pc_goods'; $where = "WHERE is_delete=0 AND spu='{$spu}'"; $dataTmpArr = array(); $dataTmpArr['goodsCategory'] = $pid; OmAvailableModel::updateTNameRow2arr($tName, $dataTmpArr, $where); //更新该SPU下所有SKU的类别 BaseModel::commit(); BaseModel::autoCommit(); OmAvailableModel::newData2ErpInterfOpen('pc.erp.updateGoodsCategoryBySpu', array('spu' => $spu, 'pid' => $pid), 'gw88'); $personName = getPersonNameById($userId); error_log(date('Y-m-d_H:i') . " {$personName} 将SPU:{$spu} 类别改为 {$pid} 原始类别为: {$spuList[0]['categoryPath']} \r\n", 3, WEB_PATH . "log/updateSpuCategoryLog.txt"); self::$errCode = 200; self::$errMsg = "修改成功"; return true; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = 404; self::$errMsg = '修改失败,原因为:' . $e->getMessage(); return false; } }
public static function combinePackage($tableName, $plateform_arr, $carrierIds, $id_array, $storeId = 1) { self::initDB(); $list = self::selectList($tableName, $plateform_arr, $carrierIds, $id_array); //var_dump($list); exit; if (!$list) { self::$errCode = 301; self::$errMsg = "没有需要合并的订单!"; return false; } /*foreach($list as $key=>$value){ $key = $value['id']; } var_dump($key); exit;*/ BaseModel::begin(); $combineNum = 0; foreach ($list as $key => $value) { $where = "b.userName = '******'userName']}' \n\t\t\t\t\tAND b.countryName = '{$value['countryName']}' \n\t\t\t\t\tAND a.accountId = {$value['accountId']} \n\t\t\t\t\tAND a.transportId = {$value['transportId']} \n\t\t\t\t\tAND b.state='{$value['state']}' \n\t\t\t\t\tAND b.city='{$value['city']}' \n\t\t\t\t\tAND b.street='{$value['street']}' \n\t\t\t\t\tAND a.orderType={$value['orderType']}\n\t\t\t\t\tAND a.calcWeight<=2 \n\t\t\t\t\tAND a.isLock=0 \n\t\t\t\t\tAND a.is_delete=0 \n\t\t\t\t\tAND a.combinePackage=0 \n\t\t\t\t\tAND a.orderStatus={$value['orderStatus']}\n\t\t\t\t\tAND a.orderType={$value['orderType']}\n\t\t\t\t\tAND is_delete = 0 AND storeId = " . $storeId; $records = combinePackageModel::selectRecord($tableName, $where, $id_array); //var_dump($records); exit; if (!$records) { continue; } else { $weightlists = array(); $orderinfo = array(); $countryName = $records[0]['countryName']; $transportId = $records[0]['transportId']; foreach ($records as $record) { $omOrderId = $record['id']; $omOrderId = $record['id']; $orderinfo[$record['id']] = $record; $arrinfo = CommonModel::calcNowOrderWeight($omOrderId); //var_dump($arrinfo); exit; $realweight = $arrinfo[0]; $realcosts = $arrinfo[2]; $itemprices = $arrinfo[3]; $weightlists[$omOrderId] = $realweight; } //var_dump($weightlists); exit; $keyarray = array(); $keyarrays = array(); $checkweight = 0; foreach ($weightlists as $wk => $weightlist) { $checkweight += $weightlist; if ($checkweight > 1.85) { $keyarrays[] = $keyarray; $keyarray = array(); $checkweight = $weightlist; $keyarray[] = $wk; } else { $keyarray[] = $wk; } } if (!empty($keyarray)) { $keyarrays[] = $keyarray; } //var_dump($keyarrays); echo "<br>"; foreach ($keyarrays as $orderlist) { if (count($orderlist) < 2) { continue; } $ordervalueweight = array(); $ordervalueactualTotal = array(); foreach ($orderlist as $orderid) { $ordervalueweight[$orderid] = $weightlists[$orderid]; $ordervalueactualTotal[$orderid] = $orderinfo[$orderid]['actualTotal']; } //var_dump($ordervalueactualTotal); exit; //var_dump($ordervalueweight); exit; $firstorder = array_shift($orderlist); //第一个订单编号信息 //var_dump($firstorder); $combineInfo = CommonModel::calcshippingfee(array_sum($ordervalueweight), $countryName, array_sum($ordervalueactualTotal), $transportId); //邮寄方式计算 //var_dump($combineInfo); exit; $weight2fee = calceveryweight($ordervalueweight, $combineInfo['fee']['fee']); //var_dump($weight2fee); exit; $firstweightfee = array_shift($weight2fee); //第一个订单重量运费信息 $data = array(); $data['combinePackage'] = 1; $data['orderStatus'] = C('STATEPENDING'); $data['orderType'] = C('STATEPENDING_CONPACK'); $where = ' WHERE id = ' . $firstorder; if (!OrderindexModel::updateOrder($tableName, $data, $where)) { self::$errCode = 303; self::$errMsg = "更新主订单失败!"; BaseModel::rollback(); return false; } foreach ($orderlist as $sonorder) { $data['combinePackage'] = 2; $data['orderStatus'] = C('STATEPENDING'); $data['orderType'] = C('STATEPENDING_CONPACK'); $where = ' WHERE id = ' . $sonorder; if (!OrderindexModel::updateOrder($tableName, $data, $where)) { self::$errCode = 304; self::$errMsg = "更新子订单失败!"; BaseModel::rollback(); return false; } if (!OrderRecordModel::insertCombineRecord($firstorder, $sonorder)) { self::$errCode = 305; self::$errMsg = "插入订单合并记录失败!"; BaseModel::rollback(); return false; } } $combineNum++; } } } self::$errCode = 200; self::$errMsg = "合并包裹操作成功!"; BaseModel::commit(); BaseModel::autoCommit(); return $combineNum; }
function act_processPurchaseOrder() { $sku = isset($_GET['sku']) ? trim($_GET['sku']) : ''; $num = isset($_GET['num']) ? trim($_GET['num']) : ''; if ($sku == '' || $num == '') { self::$errCode = 101; self::$errMsg = '参数不合法'; return false; } $now_num = $num; $purchase_list = self::checkPurchaseSkuIsExist($sku); //api拉取采购订单 BaseModel::begin(); //开始事务 $rollback = false; if (!empty($purchase_list)) { /*** 计算采购成本算法 Start step1 获取原有库存成本***/ $rtnData = ApiModel::getQtyAndPriceBySku($sku); //返回料号未入库的库存及成本单价 $stockmoney = 0; $before_qty = 0; $before_price = 0; $skumoney = 0; $skuqty = 0; if (!empty($rtnData)) { $before_qty = $rtnData[0]['stock_qty']; $before_price = $rtnData[0]['goodsCost']; $stockmoney = $before_price * $before_qty; //未入库前库存成本 } /*** 计算采购成本算法 End step1 获取原有库存成本***/ foreach ($purchase_list as $purchase) { if ($now_num < 1) { break; } $orderId = $purchase['id']; $sku_id = $purchase['sku_id']; $lessnum = $purchase['count'] - $purchase['stockqty']; $price = $purchase['price']; //采购成本 $adduserid = $purchase['purchaseuser_id']; //采购员编号 if ($lessnum > 0) { if ($now_num < $lessnum) { $total_num = $purchase['stockqty'] + $now_num; $ret = OmAvailableAct::act_updateTNameRow("ph_order_detail", "SET stockqty = '{$total_num}'", "WHERE po_id = '{$orderId}' AND sku_id = '{$sku_id}'"); if ($ret === false) { self::$errCode = 405; self::$errMsg = '更新采购订单料号数量出错!'; $rollback = false; } else { $now_num = 0; } } else { $totalCount = $purchase['count']; $reach_time = time(); $ret = OmAvailableAct::act_updateTNameRow("ph_order_detail", "SET stockqty = '{$totalCount}', reach_time = '{$reach_time}'", "WHERE po_id = '{$orderId}' AND sku_id = '{$sku_id}'"); if ($ret === false) { self::$errCode = 406; self::$errMsg = '更新采购订单料号数量出错!'; $rollback = false; } else { $now_num = $now_num - $lessnum; /*** 计算采购成本算法 Start step2 获取订单明细表已到货完成的料号***/ $skumoney += $price * $purchase['count']; //采购订单中单个料号的采购总金额 $skuqty += $purchase['count']; /*** 计算采购成本算法 End step2 获取订单明细表已到货完成的料号***/ } } //检测订单是否完结 $otherskus = self::getOrderDetailsById($orderId); $status = true; foreach ($otherskus as $othersku) { if ($othersku['count'] != $othersku['stockqty']) { $status = false; break; } } if ($status) { $ret = OmAvailableAct::act_updateTNameRow("ph_order", "SET status = '4'", "WHERE id = '{$orderId}'"); if ($ret === false) { self::$errCode = 407; self::$errMsg = '更新采购订单状态出错!'; $rollback = false; } } } } /*** 计算采购成本算法 Start step3 重新计算料号采购成本***/ $totalmoney = $stockmoney + $skumoney; $totalqty = $before_qty + $skuqty; $newprice = round($totalmoney / $totalqty, 2); //新的料号采购成本 $rtnApiData = self::updatePcApiPrice($sku, $newprice, $adduserid); $errorCode = $rtnApiData['errCode']; if ($errCode != 200) { $rollback = true; } if ($rollback == false) { BaseModel::commit(); BaseModel::autoCommit(); } else { BaseModel::rollback(); BaseModel::autoCommit(); } /*** 计算采购成本算法 End step3 重新计算料号采购成本***/ } return $now_num; }
/** *功能:提供给仓库系统的接口,审核领料单 * */ public function act_auditIoStoreInWh() { $ordersn = isset($_GET['ordersn']) ? $_GET['ordersn'] : ""; $isAudit = isset($_GET['isAudit']) ? $_GET['isAudit'] : 0; $auditorId = isset($_GET['auditorId']) ? $_GET['auditorId'] : 0; $now = time(); if (intval($auditorId) <= 0) { self::$errCode = 101; self::$errMsg = "审核人有误"; return false; } if (empty($ordersn)) { self::$errCode = 102; self::$errMsg = "单号不能为空!"; return false; } if ($isAudit != 2 && $isAudit != 3) { //isAudit=2为审核通过,3为审核不通过 self::$errCode = 102; self::$errMsg = "审核状态值有误,只能为通过或不通过"; return false; } $tName = 'pc_products_iostore'; $select = '*'; $where = "WHERE is_delete=0 and isAudit=1 and ordersn='{$ordersn}'"; $ioStoreList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($ioStoreList)) { self::$errCode = 103; self::$errMsg = "该单据号不存在或者已经审核过"; return false; } try { BaseModel::begin(); //$tName = 'pc_products_iostore'; $dataIostore = array(); $dataIostore['isAudit'] = $isAudit; $dataIostore['auditorId'] = $userId; $dataIostore['auditTime'] = $now; OmAvailableModel::updateTNameRow2arr($tName, $dataIostore, $where); //将表头改为审核状态 $tName = 'pc_products_iostore_detail'; $dataIostoreDetail = array(); $dataIostoreDetail['isAudit'] = $isAudit; $where = "WHERE is_delete=0 AND iostoreId='{$ioStoreList[0]['id']}'"; OmAvailableModel::updateTNameRow2arr($tName, $dataIostoreDetail, $where); //将表体的料号(is_delete=0)改为审核状态 //if($ioStoreList[0]['iostoreTypeId'] == 1 && $ioStoreList[0]['useTypeId'] == 1){//如果该单是制作领料单(新品下单的),则要将该单据下的料号加到新品列表去 // $select = 'sku'; // $skuList = OmAvailableModel::getTNameList($tName, $select, $where); // foreach($skuList as $value){ // $sku = $value['sku']; // $tName = 'pc_products'; // $dataProducts = array(); // $dataProducts['sku'] = $sku; // OmAvailableModel::addTNameRow2arr($tName, $dataProducts);//将detail中的sku加入到产品制作表中 // } // } if ($ioStoreList[0]['iostoreTypeId'] == 2 && $ioStoreList[0]['useTypeId'] == 1) { //如果该单是制作退料单,则要将该单中的料号状态改变为已经归还 $select = 'sku'; $skuList = OmAvailableModel::getTNameList($tName, $select, $where); foreach ($skuList as $value) { $sku = $value['sku']; $tName = 'pc_products'; $dataProducts = array(); $dataProducts['productsReturnerId'] = $ioStoreList[0]['addUserId']; //归还人即该单据的添加人 $dataProducts['productsReturnTime'] = $now; //归还人即该单据的添加人 $where = "WHERE sku='{$sku}'"; OmAvailableModel::updateTNameRow2arr($tName, $dataProducts, $where); //将detail中的sku加入到产品制作表中 } } BaseModel::commit(); BaseModel::autoCommit(); } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); } }
public function view_addCombineOn() { $combineSpu = $_POST['combineSpu'] ? post_check(trim($_POST['combineSpu'])) : ''; if (empty($combineSpu)) { $status = "空的SPU"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (intval($_SESSION['userId']) <= 0) { $status = "登陆超时!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_auto_create_spu'; $select = 'status'; $where = "WHERE spu='{$combineSpu}' and is_delete=0"; $autoSpuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($autoSpuList)) { $status = "自动生成SPU列表中不存在 {$combineSpu}"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $amount = $_POST['amount'] ? post_check(trim($_POST['amount'])) : 0; $amount = intval($amount); if ($amount <= 0 || $amount > 500) { $status = "数量必须在1-500之间"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods_combine'; $where = "WHERE is_delete=0 AND combineSpu='{$combineSpu}'"; $countComSpu = OmAvailableModel::getTNameCount($tName, $where); $tmpArr = array(); for ($index = 0; $index <= $amount; $index++) { $combineSku = $_POST['combineSku' . $index] ? post_check(trim($_POST['combineSku' . $index])) : ''; $combineSku = $combineSpu . $combineSku; if ($index == 0 && $countComSpu > 0 && $combineSku == $combineSpu) { $status = "存在为空的子料号,请检查!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if ($index > 0 && $combineSku == $combineSpu) { //只可能index=0时候,$combineSku==$combineSpu,其他表示无效 continue; } $combineLength = $_POST['combineLength' . $index] ? post_check(trim($_POST['combineLength' . $index])) : ''; $combineWidth = $_POST['combineWidth' . $index] ? post_check(trim($_POST['combineWidth' . $index])) : ''; $combineHeight = $_POST['combineHeight' . $index] ? post_check(trim($_POST['combineHeight' . $index])) : ''; $combineNote = $_POST['combineNote' . $index] ? trim($_POST['combineNote' . $index]) : ''; $skuArr = $_POST['sku' . $index]; $countArr = $_POST['count' . $index]; if (strlen($combineSku) > 30) { $status = "{$combineSku} 字符长度大于30,错误!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (!preg_match("/^{$combineSpu}(_[A-Z0-9]+)*\$/", $combineSku)) { $status = "{$combineSku} 不规范,请检查格式是否正确"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if ($combineSku == $combineSpu && $amount > 1) { $status = "存在SKU为空的参数"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tmpArr[] = $combineSku; if (!empty($combineLength)) { if (!is_numeric($combineLength) || $combineLength < 0) { $status = "{$combineSku} 长度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (!empty($combineWidth)) { if (!is_numeric($combineWidth) || $combineWidth < 0) { $status = "{$combineSku} 宽度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (!empty($combineHeight)) { if (!is_numeric($combineHeight) || $combineHeight < 0) { $status = "{$combineSku} 高度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (empty($skuArr[0]) || empty($countArr[0])) { $status = "{$combineSku} 至少要包含一条不为空的真实料号对应记录"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods_combine'; $where = "WHERE combineSku='{$combineSku}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$combineSku} 已经存在"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (count($skuArr) != count(array_unique($skuArr))) { $status = "{$combineSku} 中存在重复的真实料号,请检查"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods'; foreach ($skuArr as $value) { if (!empty($value)) { $where = "WHERE sku='{$value}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { $status = "{$combineSku} 真实料号 {$value} 不存在"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } } foreach ($countArr as $value) { if (intval($value) <= 0) { $status = "{$combineSku} 对应真实料号的数量有误"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } } $tmpArr = array_filter($tmpArr); if (count($tmpArr) != count(array_unique($tmpArr))) { $status = "存在重复的虚拟子料号,请检查!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } try { $ebayGoodsArr = array(); //同步数据数组 BaseModel::begin(); for ($index = 0; $index <= $amount; $index++) { $combineSku = $_POST['combineSku' . $index] ? post_check(trim($_POST['combineSku' . $index])) : ''; $combineSku = $combineSpu . $combineSku; if ($index > 0 && $combineSku == $combineSpu) { //只可能index=0时候,$combineSku==$combineSpu,其他表示无效 continue; } $combineLength = $_POST['combineLength' . $index] ? post_check(trim($_POST['combineLength' . $index])) : ''; $combineWidth = $_POST['combineWidth' . $index] ? post_check(trim($_POST['combineWidth' . $index])) : ''; $combineHeight = $_POST['combineHeight' . $index] ? post_check(trim($_POST['combineHeight' . $index])) : ''; $combineNote = $_POST['combineNote' . $index] ? trim($_POST['combineNote' . $index]) : ''; $skuArr = $_POST['sku' . $index]; $countArr = $_POST['count' . $index]; $dataCom = array(); $dataCom['combineSpu'] = $combineSpu; $dataCom['combineSku'] = $combineSku; $dataCom['combineCost'] = $combineCost; $dataCom['combineWeight'] = $combineWeight; $dataCom['combineLength'] = $combineLength; $dataCom['combineWidth'] = $combineWidth; $dataCom['combineHeight'] = $combineHeight; $dataCom['combineNote'] = $combineNote; $dataCom['combineUserId'] = $_SESSION['userId']; $dataCom['addTime'] = time(); $tName = 'pc_goods_combine'; $insertIdCom = OmAvailableModel::addTNameRow2arr($tName, $dataCom); if (!$insertIdCom) { throw new Exception('add combine error'); } $dataRelation = array(); $dataRelationMem = array(); for ($i = 0; $i < count($skuArr); $i++) { if (!empty($skuArr[$i]) && !empty($countArr[$i])) { $dataRelation[] = array('combineSku' => $combineSku, 'sku' => $skuArr[$i], 'count' => $countArr[$i]); $dataRelationMem[] = array('sku' => $skuArr[$i], 'count' => $countArr[$i]); } } if (!empty($dataRelation)) { $tName = 'pc_sku_combine_relation'; $where = "WHERE combineSku='{$combineSku}'"; $dataRelationCount = OmAvailableModel::getTNameCount($tName, $where); if ($dataRelationCount) { OmAvailableModel::deleteTNameRow($tName, $where); } foreach ($dataRelation as $value) { if (!empty($value['combineSku']) && !empty($value['sku']) && !empty($value['count'])) { $insertId = OmAvailableModel::addTNameRow2arr($tName, $value); } } } if ($autoSpuList[0]['status'] != 2) { $tName = 'pc_auto_create_spu'; $set = "SET status=2"; $where = "WHERE spu='{$combineSpu}'"; $affectRow = OmAvailableModel::updateTNameRow($tName, $set, $where); } //将新添加的sku添加到mem中 $key = 'pc_goods_combine_' . $combineSku; $dataCom['detail'] = $dataRelationMem; $value = $dataCom; setMemNewByKey($key, $value); //这里不保证能添加成功 //同步新数据到旧系统中 $ebayProductsCombine = array(); $ebayProductsCombine['id'] = $insertIdCom; $ebayProductsCombine['goods_sn'] = $combineSku; $goods_sncombine = array(); $truesku = array(); foreach ($dataRelationMem as $value) { $str = ''; $strTrue = ''; $str = $value['sku'] . '*' . $value['count']; $strTrue = '[' . $value['sku'] . ']'; $goods_sncombine[] = $str; $truesku[] = $strTrue; } $ebayProductsCombine['goods_sncombine'] = implode(',', $goods_sncombine); $ebayProductsCombine['notes'] = $combineNote; $ebayProductsCombine['goods_price'] = $combineCost; $ebayProductsCombine['goods_weight'] = $combineWeight; $ebayProductsCombine['cguser'] = getPersonNameById($_SESSION['userId']); $ebayProductsCombine['ebay_user'] = '******'; $ebayProductsCombine['createdtime'] = time(); $ebayProductsCombine['truesku'] = implode(',', $truesku); $ebayGoodsArr[] = $ebayProductsCombine; } BaseModel::commit(); BaseModel::autoCommit(); addSalerInfoForAny($combineSpu, 2, $_SESSION['userId'], $_SESSION['userId']); //add by zqt 20140519,添加销售人逻辑 //同步数据到深圳ERP foreach ($ebayGoodsArr as $value) { $ret = OmAvailableModel::newData2ErpInterfOpen('pc.erp.addGoodsCombine', $value, 'gw88'); } $status = "添加成功"; echo '<script language="javascript"> alert("' . $status . '"); window.parent.location.href = "index.php?mod=goods&act=getCombineList&searchComField=1&fieldValue=' . $combineSpu . '"; </script>'; exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); echo $e->getMessage(); $status = "添加失败,请联系系统技术部,谢谢"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; } }
public static function combineOrder($orderIdArr) { self::initDB(); BaseModel::begin(); //开始事务 $serchSql = "SELECT * FROM om_unshipped_order WHERE id in ('" . join("','", $orderIdArr) . "') and is_delete = 0 and storeId = 1 "; $querySql = self::$dbConn->query($serchSql); $serchSqlArr = self::$dbConn->fetch_array_all($querySql); //判断一:订单数量统计 if (count($serchSqlArr) < 2) { self::$errCode = "1111"; self::$errMsg = "合并订单最少需要选择两个或两个以上的订单!"; return false; } $platfrom = omAccountModel::getPlatformSuffixById($serchSqlArr[0]['platformId']); $extension = $platfrom['suffix']; //获取后缀名称 $temporderStatus = ""; //相同状态一 $temporderStatus2 = ""; //相同状态二 $userinfo = array(); //订单相同条件 $orderSn = array(); //订单编号 $onlineTotal = 0; //线上总价 $actualTotal = 0; //实际收款总价 $calcWeight = 0; //估算重量,单位是kg $calcShipping = 0; //估算运费 foreach ($serchSqlArr as $selectArr) { $orderSn[] = $selectArr['id']; $onlineTotal += $selectArr['onlineTotal']; $actualTotal += $selectArr['actualTotal']; $calcWeight += $selectArr['calcWeight']; $calcShipping += $selectArr['calcShipping']; //判断二:订单被其他人 <锁定> 订单判断 if ($selectArr['isLock'] == 1) { self::$errCode = "2222"; self::$errMsg = "订单[" . $selectArr['id'] . "]已经被 [" . UserModel::getUsernameById($selectArr['lockUser']) . "] 锁定,不能合并操作。"; return false; } //判断三:已合并订单,无法再次合并判断 if (in_array($selectArr['combineOrder'], array(1, 2))) { self::$errCode = "3333"; self::$errMsg = "订单[" . $selectArr['id'] . "]已经有订单合并操作,不能重复订单合并。"; return false; } //判断四:已合并包裹订单,无法合并判断 if (in_array($selectArr['combinePackage'], array(1, 2))) { self::$errCode = "4444"; self::$errMsg = "订单[" . $selectArr['id'] . "]是合并包裹订单,不能订单合并操作。"; return false; } //判断五:订单信息不相同判断 $userinfsql = "SELECT * FROM om_unshipped_order_userInfo WHERE omOrderId = {$selectArr['id']}"; $userinfsql = self::$dbConn->fetch_first($userinfsql); $tempArr = array(); $tempArr['accountId'] = trim($selectArr['accountId']); $tempArr['platformUsername'] = trim($userinfsql['platformUsername']); $tempArr['username'] = trim($userinfsql['username']); $tempArr['countryName'] = trim($userinfsql['countryName']); $tempArr['state'] = trim($userinfsql['state']); $tempArr['city'] = trim($userinfsql['city']); $tempArr['street'] = trim($userinfsql['street']); $tempArr['currency'] = trim($userinfsql['currency']); //币种判断 if (!empty($userinfo) && $userinfo != $tempArr) { self::$errCode = "5555"; self::$errMsg = "订单信息不相同,无法合并订单操作。"; return false; } $userinfo = $tempArr; //订单信息相同,进入下次比较。 //判断六:同状态判断 $orderStatus = ""; //订单状态一 $orderType = ""; //订单状态二 $orderStatus = $selectArr['orderStatus']; $orderType = $selectArr['orderType']; if (!empty($temporderStatus) && $temporderStatus != $orderStatus) { self::$errCode = "6666"; self::$errMsg = "订单不在同一文件夹,无法合并订单操作。"; return false; } $temporderStatus = $orderStatus; if (!empty($temporderStatus2) && $temporderStatus2 != $orderType) { self::$errCode = "6666"; self::$errMsg = "订单不在同一文件夹,无法合并订单操作。"; return false; } $orderExtensql = "SELECT * FROM om_unshipped_order_extension_" . $extension . " WHERE omOrderId = {$selectArr['id']}"; $orderExtensql = self::$dbConn->fetch_first($orderExtensql); $temporderStatus2 = $orderType; } $insertOrder = array(); $insertOrder['orderData'] = $serchSqlArr[0]; $insert_userinfo = $userinfsql; unset($insert_userinfo['omOrderId']); $insertOrder['orderUserInfoData'] = $insert_userinfo; $insert_orderExtensql = $orderExtensql; unset($insert_orderExtensql['omOrderId']); $insertOrder['orderExtenData'] = $insert_orderExtensql; //$insertOrder['orderNote'] = $userinfsql; unset($insertOrder['orderData']['id']); $insertOrder['orderData']['onlineTotal'] = $onlineTotal; $insertOrder['orderData']['actualTotal'] = $actualTotal; $insertOrder['orderData']['calcWeight'] = $calcWeight; $insertOrder['orderData']['calcShipping'] = $calcShipping; $insertOrder['orderData']['orderAddTime'] = time(); $insertOrder['orderData']['combineOrder'] = 2; $insertOrder['orderData']['orderAttribute'] = 3; //$insertOrder['orderDetail'] = array(); $detailSql = "SELECT * FROM om_unshipped_order_detail WHERE omOrderId in ('" . join("','", $orderIdArr) . "') and is_delete = 0 and storeId = 1 "; $detailSql = self::$dbConn->query($detailSql); $detailSqlArr = self::$dbConn->fetch_array_all($detailSql); $orderDetail = array(); foreach ($detailSqlArr as $value) { //$orderDetailData = array(); //$orderDetailExtenData = array(); $obj_orderDetail = $value; unset($obj_orderDetail['id']); unset($obj_orderDetail['omOrderId']); $orderDetailData = $obj_orderDetail; $detailExtenSql = "SELECT * FROM om_unshipped_order_detail_extension_" . $extension . " WHERE omOrderdetailId = '" . $value['id'] . "' "; $detailExtenSql = self::$dbConn->query($detailExtenSql); $detailExtenSqlArr = self::$dbConn->fetch_array($detailExtenSql); $obj_orderDetailExten = $detailExtenSqlArr; unset($obj_orderDetailExten['omOrderdetailId']); $orderDetailExtenData = $obj_orderDetailExten; $orderDetail[] = array('orderDetailData' => $orderDetailData, 'orderDetailExtenData' => $orderDetailExtenData); } $insertOrder['orderDetail'] = $orderDetail; //var_dump($insertOrder); exit; if ($insertId = OrderAddModel::insertAllOrderRowNoEvent($insertOrder)) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($insertId, '合并产生新订单')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "合并失败!"; return false; } if (!OrderRecordModel::insertCombineRecord($serchSqlArr[0]['id'], $insertId)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "合并订单失败添加记录失败!"; return false; } $updateOrder = array(); $updateOrder['is_delete'] = 1; $updateOrder['combineOrder'] = 1; if (!OrderindexModel::updateOrder("om_unshipped_order", $updateOrder, " WHERE id in ('" . join("','", $orderSn) . "')")) { BaseModel::rollback(); //事物回滚 self::$errCode = "0012"; self::$errMsg = "合并更新原始订单失败!"; return false; } } else { //$split_log .= '补寄新订单产生失败!' . "\n"; BaseModel::rollback(); self::$errCode = '003'; self::$errMsg = "合并新订单产生失败"; return false; } BaseModel::commit(); self::$errCode = '200'; self::$errMsg = "合并新订单成功!"; return TRUE; }
public static function resendOrder($orderid, $note, $type, $old_ostatus, $old_otype) { !self::$dbConn ? self::initDB() : NULL; BaseModel::begin(); //开始事务 //$tableName = 'om_unshipped_order'; //echo $old_ostatus; echo "<br>"; //echo $old_otype; echo "<br>"; $StatusMenuAct = new StatusMenuAct(); $tableName = $StatusMenuAct->act_getOrderNameByStatus($old_ostatus, $old_otype); //echo $tableName; if ($type == 1) { $updatesql = 'update ' . $tableName . ' set isBuji=1,isCopy=1 where id=' . $orderid . ' and is_delete = 0 and storeId = 1'; } else { $updatesql = 'update ' . $tableName . ' set isCopy=1 where id=' . $orderid . ' and is_delete = 0 and storeId = 1'; } if (!self::$dbConn->query($updatesql)) { //更新状态失败 BaseModel::rollback(); self::$dbConn->query('SET AUTOCOMMIT=1'); self::$errCode = '003'; self::$errMsg = '订单信息不存在,无法复制!'; return FALSE; } //产生新订单 $where = ' WHERE id = ' . $orderid . ' and is_delete = 0 and storeId = 1'; $orderData = OrderindexModel::showOrderList($tableName, $where); $orderDetail = $orderData[$orderid]['orderDetail']; if (!$orderDetail) { //更新状态失败 BaseModel::rollback(); self::$dbConn->query('SET AUTOCOMMIT=1'); return FALSE; } $insert_orderDetail = array(); foreach ($orderDetail as $detail) { $insert_orderDetailData = $detail['orderDetailData']; unset($insert_orderDetailData['id']); $insert_orderDetailExtenData = $detail['orderDetailExtenData']; unset($insert_orderDetailExtenData['omOrderdetailId']); $insert_orderDetail[] = array('orderDetailData' => $insert_orderDetailData, 'orderDetailExtenData' => $insert_orderDetailExtenData); } $obj_order_data = $orderData[$orderid]['orderData']; if ($obj_order_data['isBuji'] == 2) { self::$errCode = '003'; self::$errMsg = "补寄产生订单不能补寄!"; BaseModel::rollback(); self::$dbConn->query('SET AUTOCOMMIT=1'); return FALSE; } if ($obj_order_data['isCopy'] == 2) { self::$errCode = '003'; self::$errMsg = "复制产生订单不能复制!"; BaseModel::rollback(); self::$dbConn->query('SET AUTOCOMMIT=1'); return FALSE; } unset($obj_order_data['id']); $orderExtenData = $orderData[$orderid]['orderExtenData']; unset($orderExtenData['omOrderId']); $orderUserInfoData = $orderData[$orderid]['orderUserInfoData']; unset($orderExtenData['omOrderId']); if ($type == 1) { $obj_order_data['isCopy'] = 2; $obj_order_data['actualTotal'] = 0.0; } else { $obj_order_data['isCopy'] = 2; $obj_order_data['isBuji'] = 2; $obj_order_data['actualTotal'] = 0.0; $obj_order_data['orderStatus'] = C('STATEBUJI'); $obj_order_data['orderType'] = C('STATEBUJI_DONE'); } $orderNote = array('content ' => $note, 'userId' => $_SESSION['sysUserId'], 'createdTime' => time()); $insert_orderData = array(); $insert_orderData = array('orderData' => $obj_order_data, 'orderExtenData' => $orderExtenData, 'orderUserInfoData' => $orderUserInfoData, 'orderDetail' => $insert_orderDetail, 'orderNote' => $orderNote); //$orderNote = $orderData['orderNote']; //echo $insertsql; //var_dump($insert_orderData); exit; if ($insertId = OrderAddModel::insertAllOrderRowNoEvent($insert_orderData)) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($insertId, '补寄产生订单')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "补寄失败!"; return false; } if (!OrderRecordModel::insertSendRecords($orderid, $insertId)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "补寄失败添加记录失败!"; return false; } } else { //$split_log .= '补寄新订单产生失败!' . "\n"; BaseModel::rollback(); self::$errCode = '003'; self::$errMsg = "补寄新订单产生失败"; return false; } BaseModel::commit(); self::$errCode = '200'; self::$errMsg = "补寄新订单成功!"; return TRUE; }