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); }
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']); //重新计算已订购数量 } } } } }