Beispiel #1
0
 /**
  * 生成海外备货单,根据下单人合并订单明细
  * 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);
 }