Пример #1
0
 public function addOrder()
 {
     global $dbConn;
     $dataArr = $_POST["dataArr"];
     $now = time();
     $status = 1;
     //未审核的订单
     $order_type = 4;
     //采购补单
     $warehouse_id = 1;
     $flag = array();
     $unOrderIdArr = array();
     $operater = $_SESSION['sysUserId'];
     $skuObj = new SkuAct();
     $skuComObj = new CommonAct();
     foreach ($dataArr as $item) {
         $price = PurchaseOrderModel::getPriceBySku($item['sku']);
         //SKU单价
         $partnerId = CommonAct::actgetPartnerIdBySku($item['sku']);
         //供应商ID
         $orderData = $this->getOrderSN($partnerId, $item['purchaseId'], 4);
         //判断同供应商、采购员跟踪号是否已存在
         $orderSN = $orderData['recordnumber'];
         if (isset($orderSN)) {
             //同一个供应商的订单已经存在
             $poid = $orderData['id'];
             $recordnumber = $orderSN;
         } else {
             $recordnumber = $this->autoCreateOrderSn($item['purchaseId'], 1);
             $sql = "INSERT INTO `ph_order`(`recordnumber`, `addtime`, `aduittime`,  `status`, `order_type`, `warehouse_id`, `purchaseuser_id`, `aduituser_id`, `partner_id`, `company_id`, `note`) VALUES ('{$recordnumber}',{$now},{$now},{$status},{$order_type},{$warehouse_id},{$item['purchaseId']},{$item['purchaseId']},{$partnerId},1,'异常到货采购补单')";
             if ($dbConn->execute($sql)) {
                 $poid = PurchaseOrderModel::getOrderIdByNum($recordnumber);
                 //根据跟踪号取采购主订单编号
             }
         }
         if (isset($poid)) {
             $sql = "select id totalNum from ph_order_detail where sku='{$item['sku']}' and po_id='{$poid}' ";
             $sql = $dbConn->execute($sql);
             $detailInfo = $dbConn->fetch_one($sql);
             if (isset($detailInfo['id'])) {
                 $sql = "update ph_order_detail set count=count+{$item['num']} WHERE id='{$poid}'";
             } else {
                 $sql = "insert into ph_order_detail (po_id,unOrderId,recordnumber,sku,count,price,stockqty) values ({$poid},'{$item['unOrderId']}','{$recordnumber}','{$item['sku']}',{$item['num']},{$price},'{$item['num']}')";
             }
             if ($dbConn->execute($sql)) {
                 $usql = "UPDATE `ph_sku_reach_record` SET `ordersn`='{$recordnumber}',operatime={$now}, operatorId={$operater},status = 1 WHERE id={$item['id']}";
                 //$skuObj->tallySkuRecord($item['sku'],$item['num'],1); // hold 住一部分数量
                 $dbConn->execute($usql);
                 $skuComObj->calcAlert($item['sku']);
                 $flag[] = 1;
                 $unOrderIdArr[] = $item["unOrderId"];
             } else {
                 $flag[] = 0;
             }
         }
     }
     //$pushObj = new CommonAct();
     //$pushObj->setTallyIsUse($unOrderIdArr);
     return json_encode($flag);
 }
Пример #2
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);
 }