public static function internalIoSellApproved($where) { self::initDB(); self::$dbConn->begin(); $ioInventory = array(); $IoRecordArr = array(); $sql = "UPDATE " . self::$table4 . " SET ioStatus = 2,endTime = " . time() . ",operatorId = " . $_SESSION['userId'] . " {$where}"; $query = self::$dbConn->query($sql); if ($query) { //单据信息 $sql1 = "select * from " . self::$table4 . " {$where}"; $ret1 = self::$dbConn->fetch_first($sql1); if (empty($ret1)) { self::$dbConn->rollback(); self::$errCode = "2222"; self::$errMsg = "未找到单据信息"; return false; } //单据明细 $sql2 = "select * from " . self::$table5 . " WHERE iostoreId =" . $ret1['id']; $query2 = self::$dbConn->query($sql2); $ret2 = self::$dbConn->fetch_array_all($query2); if (empty($ret2)) { self::$dbConn->rollback(); self::$errCode = "3333"; self::$errMsg = "未找到单据SKU明细"; return false; } //出入库记录、扣库存 $WhIoRecordsAct = new WhIoRecordsAct(); $is_ok = true; foreach ($ret2 as $ioArr) { //加减库存 $ioInventory['sku'] = $ioArr['sku']; //sku //sku转换成 ID $skuIdSql = "select id from " . self::$table6 . " where sku = '" . $ioArr['sku'] . "' and is_delete != 1 limit 1"; $skuIdSql = self::$dbConn->query($skuIdSql); $skuIdSql = self::$dbConn->fetch_array_all($skuIdSql); $ioInventory['pId'] = $skuIdSql[0]['id']; //skuID $ioInventory['positionId'] = $ioArr['positionId']; //仓位ID $ioInventory['amount'] = $ioArr['amount']; //数量 $ioInventory['ioType'] = $ret1['ioType']; //出入库 $ioInventory['storeId'] = 1; //仓库,默认为1 $ioInventoryList = $WhIoRecordsAct->act_updateActualStock($ioInventory); //echo $ioInventoryList; exit; if ($ioInventoryList == 1) { //出入库记录 $IoRecordArr['ordersn'] = $ret1['ordersn']; //单据号 $IoRecordArr['sku'] = $ioArr['sku']; //sku $IoRecordArr['amount'] = $ioArr['amount']; //数量 $IoRecordArr['purchaseId'] = $ioArr['purchaseId']; //采购ID $IoRecordArr['ioType'] = $ret1['ioType']; //出入库 if ($ret1['invoiceTypeId'] == 1) { //私人购买申请单 $IoRecordArr['ioTypeId'] = 7; //出入库类型id $IoRecordArr['reason'] = "私人购买申请单" . $ret1['note']; //出库原因 } else { if ($ret1['invoiceTypeId'] == 2) { //私人购买退货单 $IoRecordArr['ioTypeId'] = 15; $IoRecordArr['reason'] = "私人购买退货单" . $ret1['note']; //出库原因 } else { if ($ret1['invoiceTypeId'] == 3) { //部门耗材申请单 $IoRecordArr['ioTypeId'] = 8; $IoRecordArr['reason'] = "部门耗材申请单" . $ret1['note']; //出库原因 } else { if ($ret1['invoiceTypeId'] == 4) { //部门借用申请单 $IoRecordArr['ioTypeId'] = 18; $IoRecordArr['reason'] = "部门借用申请单" . $ret1['note']; //出库原因 } else { if ($ret1['invoiceTypeId'] == 5) { //部门归还申请单 $IoRecordArr['ioTypeId'] = 19; $IoRecordArr['reason'] = "部门归还申请单" . $ret1['note']; //出库原因 } else { $IoRecordArr['ioTypeId'] = 0; $IoRecordArr['reason'] = ""; //出库原因 } } } } } $IoRecordArr['userId'] = $ret1['operatorId']; //审核人ID $IoRecordArr['storeId'] = 1; //仓库,默认为1 $IoRecordList = $WhIoRecordsAct->act_addOneIoRecoresForWh($IoRecordArr); if ($IoRecordList != 1) { self::$dbConn->rollback(); $is_ok = false; return false; } } else { self::$dbConn->rollback(); return false; } if ($is_ok) { self::$dbConn->commit(); return true; } else { return false; } } } else { self::$dbConn->rollback(); self::$errCode = "1111"; self::$errMsg = "单据更新失败!"; return false; } }