/** * 添加单据及详情 * @param array $orderArr */ public function ddIoStore($orderArr) { self::initDB(); $invoiceTypeId = $orderArr['invoiceTypeId']; //出入库类型表中的id $ioType = $orderArr['ioType']; //出/入库,只能为1或2,1为出库,2为入库 $userId = $orderArr['userId']; //申请人id $ordersn = $orderArr['ordersn']; //单据号(单据编码) $paymentMethodsId = $orderArr['paymentMethodsId']; //付款方式表中的id $note = isset($orderArr['note']) ? $orderArr['note'] : ''; //备注 $companyId = $orderArr['companyId']; //公司id $storeId = $orderArr['storeId']; //仓库表中的id $detail = $orderArr['detail']; //订单详情 if (is_numeric($invoiceTypeId)) { //出入库类型表中的id不能为空 self::$errCode = 402; self::$errMsg = 'invoiceTypeId有误'; return false; } if ($ioType != 1 && $ioType != 2) { //出或者入库 self::$errCode = 403; self::$errMsg = 'ioType有误'; return false; } if (empty($userId)) { self::$errCode = 404; self::$errMsg = 'userId有误'; return false; } if (empty($ordersn)) { self::$errCode = 405; self::$errMsg = 'ordersn有误'; return false; } if (empty($paymentMethodsId)) { self::$errCode = 406; self::$errMsg = 'paymentMethodsId有误'; return false; } if (!is_array($detail)) { self::$errCode = 407; self::$errMsg = 'detail有误'; return false; } if (empty($companyId)) { //默认公司为1赛维 $companyId = 1; } if (empty($storeId)) { //默认仓库为1,深圳仓库 $storeId = 1; } $sql = "SELECT * FROM wh_audit_relation_list WHERE invoiceTypeId={$invoiceTypeId} AND storeId={$storeId} ORDER BY auditLevel ASC, auditorId ASC"; $query = self::$dbConn->query($sql); $lists = self::$dbConn->fetch_array_all($query); if (empty($lists)) { self::$errCode = 408; self::$errMsg = "找不到对应的出入库类型"; return false; } $now_time = time(); self::$dbConn->begin(); $insert_iostore_sql = "INSERT INTO wh_iostore (invoiceTypeId,ioType,userId,createdTime,ordersn,paymentMethodsId,companyId,nextoperatorId,storeId,note) \n\t\t\t\t\t\t\tVALUES({$invoiceTypeId},{$ioType},{$userId},{$now_time},'{$ordersn}',{$paymentMethodsId},{$companyId},{$lists[0]['auditorId']},{$storeId},'{$note}')"; $insert_iostore = self::$dbConn->query($insert_iostore_sql); if (!$insert_iostore) { self::$errCode = "409"; self::$errMsg = "插入单据表失败"; return false; } else { $iostoreId = self::$dbConn->insert_id($insert_iostore); } //添加详情 foreach ($detail as $det) { $sku = $det['sku']; //添加的sku $amount = $det['amount']; //对应数量 $cost = $det['cost']; //成本 $purchaseId = $det['purchaseId']; //采购员id $insert_detail_sql = "INSERT INTO wh_iostoredetail (iostoreId,sku,amount,cost,purchaseId,storeId) \n\t\t\t\t\t\t\t\tVALUES({$iostoreId},'{$sku}',{$amount},'{$cost}',{$purchaseId},{$storeId})"; $insert_detail = self::$dbConn->query($insert_detail_sql); if (!$insert_detail) { self::$errCode = "410"; self::$errMsg = "插入单据详情表失败"; self::$dbConn->rollback(); return false; } } self::$dbConn->commit(); return true; }