示例#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
 public function addNewOrder()
 {
     global $dbConn;
     $skulist = $_POST['skulist'];
     //$purchaseId = $_SESSION[C('USER_AUTH_SYS_ID')];//采购员ID
     $purchaseId = $skulist[0]["cguserId"];
     //采购员ID
     $comid = $_SESSION[C('USER_COM_ID')];
     //公司ID
     $skuComObj = new CommonAct();
     //重新计算这个sku 的已订购数量
     $purchaseOrder = new PurchaseOrderAct();
     $rollback = false;
     foreach ($skulist as $sku) {
         $price = $sku['price'];
         //SKU单价
         $partnerId = $purchaseOrder->getPartnerId($sku['sku']);
         //供应商ID
         $partnerId = $partnerId['partnerId'];
         $storeid = 1;
         //仓库ID
         $orderData = $purchaseOrder->getOrderSN($partnerId, $purchaseId);
         //判断同供应商、采购员跟踪号是否已存在
         $orderSN = $orderData['recordnumber'];
         $main = array();
         $detail = array();
         if (!empty($orderSN)) {
             //存在符合条件的跟踪号,直接插入采购订单明细
             $detail['sku'] = $sku['sku'];
             $detail['price'] = $price;
             //单价
             $detail['count'] = $sku['rec'];
             //采购数量
             $detail['goods_recommend_count'] = $sku['rec'];
             //采购数量
             $dataSet = array2sql($detail);
             $sql = "insert into ph_order_detail set {$dataSet}  ";
             $dbConn->execute($sql);
         } else {
             //不存在符合条件的跟踪号重新生成
             $recordnumber = PurchaseOrderModel::autoCreateOrderSn($purchaseId, $comid);
             //生成对应公司的采购订单跟踪号
             if (!empty($recordnumber)) {
                 //生成采购订单号成功
                 $main['recordnumber'] = $recordnumber;
                 //跟踪号
                 $main['purchaseuser_id'] = $purchaseId;
                 //采购员ID
                 $main['warehouse_id'] = $storeid;
                 //仓库ID
                 $main['partner_id'] = $partnerId;
                 //供应商ID
                 $main['company_id'] = $comid;
                 //公司编号
                 $dataSet = array2sql($main);
                 $sql = "insert into ph_order set {$dataSet}  ";
                 $dbConn->execute($sql);
                 if ($rtnmain) {
                     //主订单添加成功
                     $detail['sku'] = $sku['sku'];
                     $detail['price'] = $price;
                     //单价
                     $detail['count'] = $sku['rec'];
                     //采购数量
                     $detail['goods_recommend_count'] = $sku['rec'];
                     //采购数量
                     $detail['recordnumber'] = $recordnumber;
                     $dataSet = array2sql($detail);
                     $sql = "insert into ph_order_detail set {$dataSet}  ";
                     $dbConn->execute($sql);
                     $skuComObj->calcAlert($detail['sku']);
                     //重新计算已订购数量
                 }
             }
         }
     }
 }