示例#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);
 }